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
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
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
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
Dean Galvin
ae913751f0
Merge main into codex/ngs2-userfx-module-id
2026-10-23 15:53:12 +13:00
Dean
a1d4803486
Merge pull request #9233 from EdouardSence/feat/ngs2-custom-gain
...
feat(libSceNgs2): process the custom Gain module
2026-10-23 15:32:08 +13:00
Dean Galvin
493ef8f07e
Merge main into feat/ngs2-system-rate-grain-codes
2026-10-23 14:37:02 +13:00
Dean
7f3c6b9b08
Merge pull request #9145 from MarrasFederico/feat/ngs2-calc-vag-block
...
feat(libSceNgs2.native): map VAG waveform blocks in sceNgs2CalcWaveformBlock
2026-10-23 13:59:22 +13:00
Dean
78becbb373
Merge pull request #8528 from MarrasFederico/feat/ngs2-waveform-frame-info
...
feat(libSceNgs2): report the frame layout of a PCM waveform in sceNgs2GetWaveformFrameInfo
2026-10-23 12:02:28 +13:00
Dean
eb8dcfebaa
Merge pull request #9837 from JAB-dev/fix/ngs2-pan-init-validation
...
fix(libSceNgs2): return the SDK pan error codes from sceNgs2PanInit
2026-10-23 10:43:59 +13:00
Th3EvilGod
b553950efd
fix(ngs2): correct UserFx ids and preserve the Delay compatibility path
2026-10-23 01:17:40 +04:00
Dean Galvin
3e00103497
Merge main into feat/ngs2-custom-gain
2026-10-23 09:17:07 +13:00
Dean
5c13a1be0f
Merge pull request #8692 from JAB-dev/fix/ngs2-geom-listener-errors
...
fix(libSceNgs2): return INVALID_GEOM_FLAG and the listener-address error from sceNgs2GeomCalcListener
2026-10-23 08:51:25 +13:00
JAB-dev and Claude Sonnet 5.5
b939663075
fix(libSceNgs2): return the SDK pan error codes from sceNgs2PanInit
...
An unsupported speaker count returns 0x804A8451, a unit angle other than 360 or 2*pi with angles returns 0x804A8450 and a null work returns 0x804A8010, leaving the work untouched, instead of throwing.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-22 18:01:40 +02:00
EdouardSence and Claude Opus 5.5
8f6f1eac86
fix(libSceNgs2): throw for a custom Gain module with an option
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-22 09:11:01 +02:00
Federico Marras
69b21adf32
fix(libSceNgs2.native): parse ATRAC9 smpl loops as the module does
2026-10-21 20:31:46 +02:00
Federico Marras
738308a2be
fix(libSceNgs2.native): return the module's errors for render buffer counts, types and null buffers
2026-10-21 20:19:46 +02:00
Federico Marras
62799443d5
fix(libSceNgs2.native): return the module's buffer and allocator errors from sceNgs2SystemCreate and sceNgs2SystemCreateWithAllocator
2026-10-21 20:15:07 +02:00
Federico Marras
424a12fd0e
fix(libSceNgs2.native): return the module's codes from sceNgs2SystemSetSampleRate and sceNgs2SystemSetGrainSamples
2026-10-21 20:12:28 +02:00
Federico Marras
310cb0c4b5
fix(libSceNgs2.native): validate the system option with the module's error codes
2026-10-21 20:06:25 +02:00
Federico Marras
6978f110ee
Merge branch 'fix/ngs2-atrac9-parsed-delay' into feat/ngs2-atrac9-module-loops
2026-10-21 20:00:38 +02:00
EdouardSence and Claude Opus 5.5
8c9444b5ae
feat(libSceNgs2): process the custom Gain module
...
A custom submixer rack now accepts the Gain module (0x15). Its voice
parameter 0x40001500 | module index sets one linear level per channel
(37 levels, default 0), and each grain multiplies the voice's samples
by a level that ramps linearly from the previous one to the new one,
following fma-rc's reading of the PS5 12.70 module (#8039 ). Gain on a
custom sampler rack, whose parameter index is offset, still throws, as
do levels outside -32 to 32.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 17:51:44 +02:00
Federico Marras
3c242fdd81
feat(libSceNgs2.native): map ATRAC9 waveform blocks as the module does in sceNgs2CalcWaveformBlock
2026-10-21 15:57:30 +02:00
KernelPanicNT
9f5640af66
fix(libSceNgs2): return the custom rack creation errors
...
sceNgs2RackCreate and sceNgs2RackCreateWithAllocator now return the firmware's errors for a custom rack whose buffer count is outside 1 to 4 or below the submixer's max_inputs, whose module buffer id is at or above the count, or whose submixer has more than 37 channels, and for the state sizes of the Gain, Reverb and PitchShift modules, the Reverb option size and word, and the PitchShift option word. Racks that pass these checks with one of these modules or Convolution, with more than one buffer, more than 8 channels or a submixer max_inputs other than 1 or 2 still throw, and so does sceNgs2RackQueryBufferSize for the rejected options.
2026-10-21 13:35:52 +00:00
Federico Marras
2e706ed2e1
feat(libSceNgs2.native): map VAG waveform blocks in sceNgs2CalcWaveformBlock
2026-10-21 15:28:54 +02:00
Federico Marras
4fb70223dd
fix(libSceNgs2.native): report one ATRAC9 frame as the parsed decoder delay
2026-10-21 15:26:05 +02:00
Federico Marras
c6a2cf6042
Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
...
# Conflicts:
# core/libs/prx/libSceNgs2.native/tests/Ngs2Atrac9.cpp
2026-10-21 14:27:59 +02:00
Federico Marras
4a446319ef
docs(libSceNgs2.native): shorten the sceNgs2GetWaveformFrameInfo debt entry
2026-10-21 14:20:22 +02:00
Adrià
94b2b54e8c
Merge pull request #8338 from KernelPanicNT/feat/ngs2-calc-waveform-block-pcm
...
feat(libSceNgs2): map waveform blocks of linear PCM and float types
2026-10-21 14:17:40 +02:00
Federico Marras
e556f153ef
Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
...
# Conflicts:
# docs/dev/debt/libSceNgs2.md
2026-10-21 14:15:23 +02:00
Federico Marras
546d62d6b4
feat(libSceNgs2): report the ATRAC9 frame layout in sceNgs2GetWaveformFrameInfo
2026-10-21 13:46:12 +02:00
Federico Marras
15c0a386be
Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
...
# Conflicts:
# docs/dev/debt/libSceNgs2.md
# docs/dev/debt/libSceNgs2.native.md
2026-10-21 12:57:17 +02:00
Federico Marras
c8e99c7f71
Merge remote-tracking branch 'upstream/main' into feat/ngs2-voice-owner
...
# Conflicts:
# docs/dev/debt/libSceNgs2.md
2026-10-21 12:56:14 +02:00
Dean
1fd67185b6
Merge pull request #8513 from milescoviello/fix/ngs2-destroy-in-own-render
...
fix(libSceNgs2): refuse a destroy from inside its own system's render
2026-10-21 17:44:56 +13:00
Dean
141a6a5104
Merge pull request #8322 from MarrasFederico/feat/ngs2-rack-user-data
...
feat(libSceNgs2): keep caller data on racks with sceNgs2RackSetUserData and sceNgs2RackGetUserData
2026-10-21 16:06:57 +13:00
JAB-dev and Claude Sonnet 5.5
8420e13688
fix(libSceNgs2): return INVALID_GEOM_FLAG and the listener-address error from sceNgs2GeomCalcListener
...
A flags value above 1 returns 0x804A8463 and a null listener parameter returns 0x804A8461, both leaving the output untouched, instead of throwing.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-20 23:09:48 +02:00
milescoviello and Claude Opus 5.5
0ff3d32a3d
fix(libSceNgs2): count a system's renders to refuse a destroy from a nested render
...
A render recorded only the innermost system it was rendering, so a
destroy called from the callback of a system rendered inside another
system's callback was let through, and the outer render then used the
destroyed rack. Each system now counts the renders it is in. A destroy
first waits until no other thread holds the exclusive state, so a
non-zero count can only come from the calling thread's own stack.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-20 19:07:53 +00:00
Federico Marras
dd482733e5
feat(libSceNgs2): report the frame layout of a PCM waveform in sceNgs2GetWaveformFrameInfo
2026-10-20 17:14:56 +02:00
milescoviello and Claude Opus 5.5
f1cafaca07
fix(libSceNgs2): refuse a destroy from inside its own system's render
...
A voice callback runs during its system's render. A rack or system
destroyed from that callback was freed while the render still walked
it, which corrupted the heap. sceNgs2RackDestroy and
sceNgs2SystemDestroy now throw when the calling thread is rendering
that system; the console's behaviour there is not measured.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-20 14:23:07 +00:00