Commit graph

108 commits

Author SHA1 Message Date
bookmist
d06e542493 ngs/sheduler: fix deadlock when voice stop or pause inside voice callback. 2022-05-02 12:45:12 +02:00
bookmist
016f8ece12 kernel\thread, modules: fix TLS in callback calls 2022-04-01 06:22:11 +02:00
Zangetsu38
77fd8e8f78 project: run format. 2022-03-16 02:11:11 +01:00
bookmist
c45c274825 ngs/atrac9: fix sound bug when playing mono atrac9 sound 2022-02-23 16:15:20 +01:00
bookmist
56a0c7bc72 codec/atrac9: output format now is signed short.
- sceAudiodecDecode need this format.
2022-02-19 18:04:14 +01:00
bookmist
2a36d616f3 ngs/player: fix AV crash.
- Expand too small extra storage buffer if needed.
2022-02-19 18:04:14 +01:00
hobyst
a936a3a0a0 codec and ngs: Implement playback rate scaling 2022-02-11 18:06:53 +01:00
Zangetsu38
fb969fe311 build: add support of VS 2022.
- external: update boost to 1.78.
- gen-windows: using version of VS installed.
2021-12-13 19:12:39 +01:00
Larry
8c933e1432 codec: Use libatrac9 library for atrac9 decoding
We have more control and error codes, also avoid some shortcoming of
ffmpeg port
2021-12-01 16:54:17 +01:00
Zangetsu38
8ef82f0487 modules/SceNgs: implement sceNgsVoiceSetParamsBlock.
- fix some wrong value/struct set.

Co-authored-by: pent0 <fewdspuckrito@gmail.com>
2021-11-20 14:37:23 +01:00
hobyst
168dfb19ca Add license notice on source files which didn't have one
- Also updated the copyright notice year on all files to 2021
2021-08-19 23:14:27 +02:00
scribam
7a53912f0a ngs: Apply some clang-tidy fixes 2021-05-31 19:02:18 +02:00
sunho
e1b50df475 ngs: Transition state after voice finished 2021-05-24 23:27:52 +02:00
sunho
c6790fa021 kernel: Merge thread state and functions & fix gdb 2021-05-22 21:12:11 +02:00
sunho
7d6d79c399 kernel: Merge state and functions 2021-05-19 11:36:18 +09:00
sunho
c6a20fc894 kernel: Redesign guest function calling 2021-05-18 03:18:25 +09:00
sunho
1e96724d45 kernel: Pull out avplayer,auidodev,videodec,fiber state
kernel: Add ObjectStore
modules: Support library init function
modules: Pull out cpu_protocol
vita3k: Rename .h -> .inc
io: Remove unneccesary base_tick argument
cmake: Folderify modules and kernel
2021-05-09 19:47:59 +02:00
Zangetsu38
f2da083abd ngs/sheduler: fix some sound playing. 2021-04-14 16:47:23 +02:00
totlmstr
024b71285f mem: split mem.h 2021-04-12 17:32:23 +02:00
Zangetsu38
8bcd651b37 modules/SceNgs: implement VoiceKeyOff. 2021-04-01 16:40:53 +02:00
Zangetsu38
7545ea8149 ngs/player: Fix audio crash when no buffer is available. 2021-03-16 16:22:59 +01:00
mangren
8b1c158dc0 ngs: Reduce memory usage reserved and fix corruption
Master rack does not have voice definition parameter size. So a null module is supplied
2021-03-16 16:22:59 +01:00
mangren
773bb72be4 ngs: Use full volume matrix to its extent
The left and right channel of the dest is actually contributed with left and right data.
Left can even have both left and right source data...

Fix one side channel playing in voice in danganronpa
2021-03-16 16:22:59 +01:00
mangren
344d366c1d ngs: Fix remove patch failure spam. 2021-03-16 16:22:59 +01:00
mangren
f135cd7c82 ngs: Fix decoding not providing enough samples and atrac9 error spam 2021-03-16 16:22:59 +01:00
mangren
c0f861f61c ngs: Use floating-point mixing 2021-03-16 16:22:59 +01:00
mangren
e2a8123426 ngs/scheduler: Fix ear rape continue at end of audio data 2021-03-16 16:22:59 +01:00
mangren
d00e299b8f Modules/sceNgs: Implement resume/pause 2021-03-16 16:22:59 +01:00
mangren
fc47d869e3 ngs/scheduler: Handle deque case inside callback 2021-03-16 16:22:59 +01:00
mangren
a79c6c1cff ngs: Fix audio mixing ineffective and out of tempos 2021-03-16 16:22:59 +01:00
mangren
5f3da1ad23 ngs: Add audio state transition function and PCM player handler 2021-03-16 16:22:59 +01:00
mangren
0f4a62b4f7 codec: Add PCM decoding state
Not perfect
2021-03-16 16:22:59 +01:00
mangren
845a608e38 ngs: refactor, implement callbacks and getinfo.
modules/SceNgs: Implement sceNgsVoiceGetInfo.
A voice and its definition can now specify multiple modules processing, each one will has its own storage for voice state, parameters and callbacks
ngs: Implement callback for atrac9 module
ngs: Stub simple voice and atrac9 simple voices
ngs/atrac9: Renew decoder state when config data change
ngs: allow complex voice definition stubbing
2021-03-16 16:22:59 +01:00
EXtremeExploit
34bec68371 vita3k: Fix grammar errors 2021-01-24 21:35:40 +01:00
sunho
af22cab031 mem: move mempool util from ngs 2020-08-29 11:10:31 +09:00
1whatleytay
0beecf723d ngs: run clang-format 2020-07-08 14:33:08 -04:00
1whatleytay
c2a3b292c6 ngs: make "passthrough" module default 2020-07-08 14:11:51 -04:00
pent0
e04d3411a5 ngs: Simplify implementation of routing data
- Data routes happen after deliver_data is called. Each deliver_data will takes a granularity samples and deliver it to target voice defined in the patch
- No more data FIFO is involved. Each input now has the size and work on the size of granularity.
- Remove subindex definition
2020-07-08 14:11:51 -04:00
pent0
c72018c14d ngs: Remove subindex input definition and mix right when passing receive 2020-07-08 14:11:51 -04:00
pent0
8cfb4ef4f5 ngs: Add volume amtrix 2020-07-08 14:11:51 -04:00
pent0
f88f31acbe ngs/common: Add max output ports 2020-07-08 14:11:51 -04:00
1whatleytay
673e1c1365 ngs: error on unimplemented modules
ngs: refactor modules

sorry bent I had to do it to em

ngs: add reverb module

reverb tries
2020-07-08 14:11:51 -04:00
1whatleytay
20125cb5be audiodec much better 2020-07-08 14:11:51 -04:00
1whatleytay
9843d107dc ngs: initialized Block::free 2020-07-08 14:11:51 -04:00
pent0
ab0c137ec7 ngs: Implement remove route/kill and thread-safe
ngs: fix rebase
2020-07-08 14:11:51 -04:00
pent0
b83eba7a06 ngs: Implement subindex inputs
Since there are so many voices plugged in one input (we will now called it port), let's just make subindex a thing
2020-07-08 14:11:50 -04:00
pent0
38d399c8ac ngs/atrac9: Switch to next buffer on consumed end 2020-07-08 14:11:49 -04:00
pent0
51cf3fabd9 ngs: Improvise and improve the route mechanism
Now dont have to track frame count for each voice. Data produced and pass to route will be cached and transfer to all outputs if there's any left from last granularity take.
2020-07-08 14:11:49 -04:00
pent0
eb2f89b405 ngs: Partially implement route 2020-07-08 14:11:49 -04:00
pent0
e1235e44e0 ngs: Add definition of module and voice definition
Voice definition will contains method instantiate a module
2020-07-08 14:11:48 -04:00