Commit graph

50 commits

Author SHA1 Message Date
Unknown W. Brackets
b7152c2f27 Correct envelope scaling in sas mixing.
Sound effects seem a bit loud, but this matches what JPCSP does and I've
added comments based on my understanding of it.  It makes sense.

This makes all the sounds that never get muted when the envelope hits 0 go
away.  Hurray.

Thanks to help from @i1x.
2013-06-09 19:28:21 -07:00
oioitff
c98adee757 Implement __sceSasConcatenateATRAC3.
.
2013-06-09 19:07:02 +08:00
oioitff
883d60fad3 Use a pointer for sampleQueue in SasAtrac3. 2013-06-09 01:58:06 +08:00
oioitff
3c13b574e3 Partly implement __sceSasSetVoiceATRAC3.
Fix Sol Trigger hang up issue.
2013-06-09 01:34:38 +08:00
Unknown W. Brackets
42ced72b13 Fix undead VAG loops, KeyOff should stop them. 2013-05-28 23:05:34 -07:00
Henrik Rydgård
0abf322c1d Merge pull request #1961 from unknownbrackets/savestates
Fix some missing things from save states
2013-05-28 00:41:01 -07:00
Henrik Rydgård
d76d05b338 Merge pull request #1957 from unknownbrackets/perf
Small performance improvement in VAG decoding
2013-05-28 00:39:43 -07:00
Unknown W. Brackets
4e76d45bca Add pcmIndex to sas voice DoState().
Otherwise we can get crashes.
2013-05-27 23:49:46 -07:00
Unknown W. Brackets
1107571af5 Don't cap predict_nr, just make the table bigger. 2013-05-27 18:16:41 -07:00
Unknown W. Brackets
e8be3d8da2 Decode VAG samples in one shot, not two. 2013-05-27 18:16:40 -07:00
Unknown W. Brackets
7b154f9a2e Fix VAG looping. 2013-05-27 16:48:59 -07:00
Henrik Rydgård
2bf1beb8d8 Merge pull request #1898 from oioitff/audio-fix
Implement pcm voice correctly
2013-05-23 13:14:20 -07:00
oioitff
338f7ae700 Use another method to scale by envelopValue. 2013-05-24 04:08:37 +08:00
oioitff
99f8041375 Implement pcm voice correctly. 2013-05-24 00:42:15 +08:00
Unknown W. Brackets
3931f07852 Fix a couple bad bounds checks in VAG/Mpeg. 2013-05-18 10:19:12 -07:00
oioitff
8d10724b64 Implement volume control for _sceSasCoreWithMix.
Tested with Fate Unlimited Code.
2013-05-11 04:30:02 +08:00
oioitff
62f79989bd Implement _sceSasCoreWithMix correctly.
The inoutAddr should be both input and output buffer address.
2013-04-23 22:00:14 +08:00
oioitff
3ff492646b Add simple mono support for sasaudio 2013-04-13 19:01:22 +08:00
oioitff
828b5a0be8 Implement pcm voices for sasaudio.
Tested with NPJH 50569: Ore no Imouto2.
2013-04-13 18:58:13 +08:00
raven02
e4f3571e05 Add default ADSR value for rate and curve type 2013-04-06 15:39:28 +08:00
Unknown W. Brackets
c20251ab30 Organize mem access a bit in SasInstance::Mix().
It's a bit faster but this isn't really the hottest part...
2013-03-16 11:59:44 -07:00
raven02
19599a27d2 Shift << 3 in sasAudio 2013-03-12 21:21:10 +08:00
raven02
4b86fd7567 Fake VOICETYPE_PCM code 2013-03-12 09:14:31 +08:00
Unknown W. Brackets
2cb2601456 Fix crash executing the sascore test. 2013-02-23 18:35:22 -08:00
Unknown W. Brackets
363d1dbe19 Fix some misc. warnings. 2013-02-18 08:44:59 -08:00
Henrik Rydgard
686c083b6f sceSas: initialize some stuff 2013-02-16 14:07:04 +01:00
Unknown W. Brackets
a4032c5170 Simplify savestate code so it's all automagical.
If you can't beat 'em, join 'em?
2013-02-04 08:27:01 -08:00
raven02
a4c78888c0 Set predict_nr = 0 when predict_nr greater than VAG array length 2013-01-31 22:16:15 +08:00
raven02
523f026c3d Restore shift volume to 15 2013-01-27 22:16:15 +08:00
Henrik Rydgard
0930b5b587 Typo + warning fix 2013-01-25 19:08:28 +01:00
Henrik Rydgard
4deaec8924 Make ADPCM audio a little less crackly in a hacky way.. 2013-01-25 18:36:05 +01:00
Henrik Rydgard
31b73a0b99 No need for double precision in ADPCM decoder 2013-01-25 18:29:15 +01:00
Unknown W. Brackets
bcecd881b1 Savestate cleanup + be more careful with vectors.
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
e665618891 Fix kernel object loading (ouch) from save states.
Also a fix to SAS voices not saving right.
2012-12-28 13:55:30 -08:00
Unknown W. Brackets
7a2adfd8a5 Don't store pointers in VagDecoder directly.
I'm assuming it's fine to not fix read_ when end_ happens.
Shouldn't be any performance penality, really.
2012-12-28 13:55:29 -08:00
Unknown W. Brackets
19aaca2705 Start save stating audio, plus minor fixes. 2012-12-28 13:55:29 -08:00
Henrik Rydgård
ddd3e4384f audio: need to clear the rest of the buffer at end of sample. 2012-12-26 19:12:23 +01:00
Henrik Rydgård
27e8e4c6fb Stop ADPCM decoder from running off into space. improves motogp audio. 2012-12-26 09:07:52 +01:00
Henrik Rydgård
fb238c685e SasAudio: voice.samplePos -> voice.sampleFrac. Gets rid of annoying overflow errors. 2012-12-26 08:53:19 +01:00
Henrik Rydgård
38a7059bdd Initialize some stuff in SasAudio, fixes some audio issues on my mac 2012-12-25 10:08:57 +01:00
raven02
c7a9c40827 Fix audio crash in FF type-0 2012-12-23 23:27:54 +08:00
Unknown W. Brackets
217bdc275e Fix some type-conversion warnings. 2012-12-21 16:07:38 -08:00
Henrik Rydgard
2b8419e0ff Attempt more accurate frame timing (windows). Increase audio volume. 2012-12-18 10:25:57 +01:00
Henrik Rydgard
c3819ec721 Fix a possible crash in audio code 2012-12-17 21:59:43 +01:00
Henrik Rydgard
913f392d66 Move the SasInstance to the heap. Some cleanup. 2012-12-17 21:43:31 +01:00
Henrik Rydgard
b5808eaf47 optimizin', bugfixin' 2012-12-17 20:43:43 +01:00
Henrik Rydgard
9acfd50139 Fix one cause of audio choppiness - we were dropping samples when audio functions blocked. Also some cleanup. 2012-12-17 20:15:23 +01:00
Henrik Rydgard
1400237d0e Lots of various work on sceSas. ADSR envelopes, correct looping, etc etc... Still far from perfect but better. 2012-12-17 18:07:25 +01:00
Henrik Rydgard
369afa5b93 sceSas: Resample audio according to pitch 2012-12-16 21:20:16 +01:00
Henrik Rydgard
15b7c1c96c sceSas cleanup 2012-12-16 20:40:49 +01:00