Commit Graph
136 Commits
Author SHA1 Message Date
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
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
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
JAB-devandClaude Sonnet 5.5 3f18aed2a5 fix(libSceNgs2): clamp the mastering gain to +-32 as the PS5 module does
The PS5 libSceNgs2.native (firmware 3.20 and 4.03) accepts every value of the mastering gain param 0x30000004 with return code 0, clamps each level to [-32, 32] (so +-inf gives +-32) and keeps NaN, which then gives NaN samples. Ours threw on NaN and inf and did not clamp. A NaN sample in a PCM_I16L render buffer now throws, since the PS5 conversion was only measured into float buffers.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 00:10:35 +02:00
hugodearaujo 7b19b87f27 fix(libSceNgs2.native): accept a reverb voice with different input and output channel counts 2026-10-23 15:31:33 -03:00
Dean 1fc30716fa Merge pull request #10024 from ags-arnab/feat/ngs2-matrix-module-info
feat(libSceNgs2): implement sceNgs2VoiceGetMatrixInfo and sceNgs2CustomRackGetModuleInfo
2026-10-24 01:43:41 +13:00
JAB-devandClaude Sonnet 5.5 2375223a92 fix(libSceNgs2): an all-zero sampler setup leaves an earlier setup untouched, as the PS5 module does
The PS5 libSceNgs2.native module (firmware 3.20 and 4.03) accepts a setup with an all-zero format on a configured voice and keeps its format, so a play afterwards succeeds. The guard for a play on a voice with no channels would otherwise fail it.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 14:00:47 +02:00
JAB-devandClaude Sonnet 5.5 45b061fa6c Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:59:13 +02:00
xXPBSXxandClaude Sonnet 5.5 cdf5ac5dc0 docs(debt): shorten the RackGetInfo title sentence under the entry length limit
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:11:52 +02:00
xXPBSXxandClaude Sonnet 5.5 dab63bbea7 docs(debt): give the call site and separate the title observation in the RackGetInfo entry
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:11:43 +02:00
xXPBSXxandClaude Sonnet 5.5 371aab6bdf docs(debt): note the buffer size a title passes to sceNgs2RackGetInfo
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:11:36 +02:00
Dean c188e01a42 Merge pull request #9315 from MarrasFederico/feat/ngs2-system-rate-grain-codes
fix(libSceNgs2.native): return the module's codes from sceNgs2SystemSetSampleRate and sceNgs2SystemSetGrainSamples
2026-10-23 22:54:32 +13:00
Federico Marras 74c6791861 Merge remote-tracking branch 'upstream/main' into feat/ngs2-system-rate-grain-codes
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 11:08:40 +02:00
Federico Marras 012b87293b Merge remote-tracking branch 'upstream/main' into feat/ngs2-render-buffer-codes
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 11:07:02 +02:00
Dean 6ee38720fc Merge pull request #9327 from MarrasFederico/feat/ngs2-atrac9-module-loops
fix(libSceNgs2.native): parse ATRAC9 smpl loops as the module does
2026-10-23 21:47:55 +13:00
JJenkx 05b602dd95 Merge remote-tracking branch 'origin/main' into windows/ngs2-debt-ppsa33655-modules
# Conflicts:
#	docs/dev/debt/libSceNgs2.native.md
2026-10-23 03:53:48 -04:00
Dean 3d9c01daed Merge pull request #9337 from Th3EvilGod/codex/ngs2-userfx-module-id
fix(ngs2): correct UserFx ids and preserve Delay compatibility
2026-10-23 20:24:20 +13:00
JAB-dev 2cf37664d2 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

# Conflicts:
#	core/libs/prx/libSceNgs2.native/include/Ngs2Types.hpp
2026-10-23 08:29:14 +02:00
JAB-devandClaude Sonnet 5.5 9723f7af66 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 07:58:53 +02:00
Federico Marras 25b6f6e50b Merge branch 'feat/ngs2-calc-atrac9-block' into feat/ngs2-atrac9-module-loops 2026-10-23 07:22:20 +02:00
Federico Marras 767e188339 test(libSceNgs2.native): expect the module's ATRAC9 block in the frame info test 2026-10-23 07:21:17 +02:00
Federico Marras 601d6dbe38 Merge remote-tracking branch 'upstream/main' into feat/ngs2-calc-atrac9-block 2026-10-23 07:19:59 +02:00
Federico Marras 0477c9c3f2 Merge remote-tracking branch 'upstream/main' into feat/ngs2-atrac9-module-loops 2026-10-23 07:18:26 +02:00
Federico Marras 6660dd080d fix(libSceNgs2.native): throw for ATRAC9 loops inside the decoder delay and blocks past the data chunk 2026-10-23 07:18:26 +02:00
Arnab Ghosh 1f1ddc9e3a feat(libSceNgs2): implement sceNgs2VoiceGetMatrixInfo and sceNgs2CustomRackGetModuleInfo 2026-10-23 10:50:00 +06:00
Federico Marras 04884d6784 Merge branch 'feat/ngs2-system-option-codes' into feat/ngs2-system-rate-grain-codes 2026-10-23 05:26:42 +02:00
Federico Marras ad5df50d6d Merge branch 'feat/ngs2-system-option-codes' into feat/ngs2-system-create-arguments
# Conflicts:
#	core/libs/prx/libSceNgs2.native/include/Ngs2Types.hpp
2026-10-23 05:25:39 +02:00
Federico Marras e03475e92f Merge remote-tracking branch 'upstream/main' into feat/ngs2-system-option-codes
# Conflicts:
#	core/libs/prx/libSceNgs2.native/src/System.cpp
2026-10-23 05:23:59 +02:00
Dean Galvin e51d8c57f0 Merge main into feat/ngs2-render-buffer-codes 2026-10-23 16:23:20 +13:00
Dean 01f99305be Merge pull request #8341 from KernelPanicNT/fix/ngs2-system-option-flag-bit1
fix(libSceNgs2): accept system option flag bit 1
2026-10-23 16:21:15 +13:00
JJenkxandClaude Opus 5.5 1352329e45 docs(debt): list the NGS2 custom modules of PPSA33655
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:02:15 -04:00
Dean Galvin ae913751f0 Merge main into codex/ngs2-userfx-module-id 2026-10-23 15:53:12 +13:00