Commit Graph
165 Commits
Author SHA1 Message Date
Adrià df1b77626b fix(ngs2): drop the matrix info guard main's wider output already covers 2026-10-29 14:05:31 +01:00
Eduardo Ruiz 55ed30d1aa docs(ngs2): shorten the custom rack debt entries 2026-10-29 13:59:33 +01:00
Eduardo Ruiz 114ae92449 fix(ngs2): reject matrices that do not fit the matrix info output 2026-10-29 13:59:33 +01:00
Eduardo Ruiz 4c4a4932e0 fix(ngs2): keep wide custom submixer voices and matrixless maps unsupported 2026-10-29 13:59:05 +01:00
Adrià 7ec3103f68 Merge remote-tracking branch 'upstream/main' into HEAD 2026-10-28 15:18:57 +01:00
AdriàandClaude Sonnet 5.5 95a002bab9 fix(ngs2): accept sampler setup flags as before
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 14:52:11 +01:00
edubox d62e8f42ea feat(ngs2): implement the sampler and submixer peak meter 2026-10-28 09:02:36 +01:00
Kyon aea8616433 Merge remote-tracking branch 'origin/main' into feat/ngs2-custom-pitchshift 2026-10-27 12:20:30 +00:00
Dean 5d52b06ff3 Merge pull request #9324 from MarrasFederico/feat/ngs2-parse-format-codes
fix(libSceNgs2.native): return 0x804A8432 for waveform formats the module does not parse
2026-10-27 21:35:03 +13:00
Kyon 7ab4c61f37 docs(ngs2): condense sampler reference limitations 2026-10-27 06:00:26 +00:00
Kyon 48140166ec docs(ngs2): record sampler flag and PitchShift mask limits 2026-10-27 05:58:37 +00:00
Kyon 5ca3aa5a7a fix(ngs2): reconcile scheduler with current rendering contracts 2026-10-27 05:55:34 +00:00
Dean 21d428eb74 Merge pull request #10851 from Felipebmaitan/feat/ngs2-audio-engine
feat(ngs2): route custom submixer buffers through Gain
2026-10-27 10:55:08 +13:00
Adrià 1992ec073f Merge pull request #10037 from xXPBSXx/docs/debt-ngs2-rackgetinfo-title
docs(debt): note the buffer size a title passes to sceNgs2RackGetInfo
2026-10-26 14:59:58 +01:00
Federico Marras 735b905120 Merge remote-tracking branch 'origin/main' into feat/ngs2-parse-format-codes 2026-10-26 13:40:23 +01:00
Felipebmaitan 0c3f104067 chore(ngs2): merge current main for audio routing 2026-10-26 09:03:02 -03:00
Dean 65c2713b6c Merge pull request #10410 from JAB-dev/fix/ngs2-mastering-gain-ps5
fix(libSceNgs2): clamp the mastering gain to +-32 and keep NaN, as the PS5 module does
2026-10-26 22:01:52 +13:00
Kyon 316f48500a docs(ngs2): record independent Gain initialization difference 2026-10-26 03:31:08 +00:00
Kyon 4073fe7cd8 fix(ngs2): validate PitchShift positions before dispatch 2026-10-26 03:31:08 +00:00
Kyon 5286ab93bc docs(ngs2): condense verified behavior and remaining debt 2026-10-26 03:31:08 +00:00
Kyon c2cdfc3bad fix(ngs2): reconcile current main and waveform block semantics 2026-10-26 03:31:08 +00:00
Kyon c78e6a1d6a fix(ngs2): correct rack info and detached control storage 2026-10-26 03:31:08 +00:00
Kyon 7f0f706f75 fix(ngs2): retain detached racks after system destruction 2026-10-26 03:31:08 +00:00
Kyon 410360a4fd fix(ngs2): support setup and cleanup callback handoffs 2026-10-26 03:31:08 +00:00
Kyon 19968c758c fix(ngs2): allow cross-thread callback handoffs 2026-10-26 03:31:08 +00:00
Kyon 8083545c7e fix(ngs2): preserve UserFx2 activation and control lifetimes 2026-10-26 03:31:08 +00:00
Kyon 3b3a65cd8a feat(ngs2): support mixer and custom FX worker controls 2026-10-26 03:31:08 +00:00
Kyon c620e8e264 feat(ngs2): buffer worker events and render parameters 2026-10-26 03:31:08 +00:00
Kyon 838ac8159b feat(ngs2): defer sampler stop controls from render jobs 2026-10-26 03:31:08 +00:00
Kyon b3e7819ae0 feat(ngs2): add externally scheduled render jobs
Implement manager lifecycle, dependency batches, the default worker pool and callback/state publication. Keep unsupported worker control buffering and stream routing explicit.
2026-10-26 03:31:08 +00:00
Kyon 3c7909199b fix(ngs2): reject unsupported external job schedulers 2026-10-26 03:31:08 +00:00
Kyon cbcbdb4da7 fix(ngs2): publish sampler state before each rack callback batch 2026-10-26 03:31:08 +00:00
Kyon 51670ed598 fix(ngs2): honor sampler streaming and replacement state 2026-10-26 03:31:08 +00:00
Kyon 92cd244aa3 fix(ngs2): reproduce sampler resampling and startup history 2026-10-26 03:31:08 +00:00
Kyon 188ec5ea15 feat(ngs2): implement custom submixer PitchShift 2026-10-26 03:31:08 +00:00
Dean 346a1be323 Merge pull request #10127 from Felipebmaitan/feat/ngs2-pcm-playback
feat(ngs2): play additional PCM sampler formats
2026-10-26 12:10:04 +13:00
Dean 1240c09878 Merge pull request #9148 from MarrasFederico/feat/ngs2-parse-pcm-depths
feat(libSceNgs2.native): parse 8-, 24- and 32-bit PCM and float waveforms
2026-10-26 11:01:52 +13:00
Dean 59bf9480f7 Merge pull request #10432 from JAB-dev/fix/ngs2-pan-ps5
fix(libSceNgs2): return the PS5 pan codes and accept NaN pan inputs
2026-10-26 06:14:03 +13:00
Felipebmaitan 08587dfa7e feat(ngs2): play additional PCM sampler formats 2026-10-25 13:40:18 -03:00
JAB-devandClaude Sonnet 5.5 0abe9d8f4b Merge main into fix/ngs2-mastering-gain-ps5
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 14:21:57 +02:00
Adrià a134d8ddf8 Merge pull request #9362 from thuanquang/docs/debt-sweep-ngs2
docs(libSceNgs2.native): point the mastering voice gain entry at the AudioOut2 entries in libSceAudioOut
2026-10-25 11:44:54 +01:00
Adrià 1ca0c5d86c Merge pull request #9926 from JAB-dev/fix/ngs2-play-without-setup
fix(libSceNgs2): return INVALID_VOICE_ACCESS for PLAY on a voice that was never set up
2026-10-25 10:22:17 +01:00
Felipebmaitan a43a610bbf fix(ngs2): reject routes changed during recursive rendering 2026-10-25 01:52:16 -03:00
Felipebmaitan 93b887e514 feat(ngs2): route custom submixer buffers through Gain 2026-10-25 01:34:10 -03:00
Dean fe0207e20f Merge pull request #10347 from hugodearaujo/fix/ngs2-reverb-channel-conversion
fix(libSceNgs2.native): accept a reverb voice with different input and output channel counts
2026-10-25 01:53:08 +13:00
JAB-devandClaude Sonnet 5.5 182e2a227f docs(libSceNgs2): say that the mastering gain ramps after its first value
PS5 firmware 3.20 and 4.03 apply the first full-band and LFE gain a voice receives flat and ramp every later change over the next grain in eight lanes, as RESULTS15 measured; the entry said the levels never ramp. The clamp, the NaN handling and this change's behaviour are unchanged, and the missing ramp stays listed.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 12:25:45 +02:00
Adrià 892b4ec4a7 Merge pull request #8851 from JJenkx/windows/ngs2-debt-ppsa33655-modules
docs(debt): list the NGS2 custom modules of PPSA33655
2026-10-24 11:29:17 +02:00
Kapy2003 a25aa36641 feat(libSceNgs2): support custom mastering rack 0x4003
Accept SCE_NGS2_RACK_ID_CUSTOM_MASTERING (0x4003) using the 0x508-byte
custom rack option layout without modules. Channels above NGS2_MAX_CHANNELS
(8) and non-zero module counts throw runtime_error as unsupported. Support
mastering voice control parameters 0x40030000 (setup), 0x40030004 (gain),
and 0x40030005 (output), write active mastering voices to render buffers,
and return voice state flags in sceNgs2VoiceGetState.

References #8039.
2026-10-24 09:58:09 +05:30
JAB-devandClaude Sonnet 5.5 b307813438 test(libSceNgs2): pin the PS5 pan codes, NaN LFE level and radian wrap throw
The tests now check the SDK values of the pan error constants, that 0 params leaves the output untouched, that a NaN param angle keeps its LFE level with 7 speakers, and that a param one float below the first speaker in radians throws. The throw messages and the debt entry say the PS5 module did not return within 60 s for those inputs instead of claiming it never returns.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 02:06:01 +02:00
JAB-devandClaude Sonnet 5.5 8da1a2dc0b fix(libSceNgs2): return the PS5 pan codes and accept NaN pan inputs
sceNgs2PanGetVolumeMatrix now returns the PS5 error codes in the PS5 check order instead of throwing, and lets NaN angles and distances through as the PS5 module does. sceNgs2PanInit gives the 7-speaker degree defaults for 0 speakers without angles, stores NaN speaker angles and leaves unused slots untouched. Inputs on which the PS5 library never returns still throw.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 00:51:07 +02:00