Commit Graph

62 Commits

Author SHA1 Message Date
Unknown W. Brackets
03bd1b9b69 Initialize a few sas values earlier.
This just makes things a little safer, none of these ought to be used
without Start or similar.
2015-03-28 13:06:57 -07:00
Lioncash
f830d5dec7 Core: Mark some functions as const 2014-12-03 15:16:11 -05:00
Unknown W. Brackets
4702ae0e41 Add breakpoints to most sceAtrac mem access. 2014-09-23 11:33:18 -07:00
Henrik Rydgard
c8e719e165 Inline ADSREnvelope::Step (thanks @unknownbrackets)
(Some compilers want it declared inline in the header too)
2014-03-22 09:31:09 +01:00
Unknown W. Brackets
d65af7353b Avoid some ChunkFile includes. 2014-03-15 11:32:57 -07:00
Unknown W. Brackets
c806ae0982 Revert "Optimize mixing samples at common pitches."
This reverts commit dd434cd7c5.

Conflicts:
	Core/HW/SasAudio.cpp
2014-02-23 08:48:30 -08:00
Unknown W. Brackets
ff920f6af6 Fix sceSas outputMode = 1 (which is not mono.)
May fix games that played audio only on the left side, or something.
2014-02-22 07:52:18 -08:00
Unknown W. Brackets
11df9dabf9 Add an extra delay to VAG keyon.
It seems to come in an extra sample late.  PCM doesn't.

This corrects timing for VAG samples so they match up exactly.  Really
minor, of course...
2014-02-18 23:32:37 -08:00
Unknown W. Brackets
93060e3aef Avoid some divisions, just in case. 2014-02-17 23:19:30 -08:00
Unknown W. Brackets
dd434cd7c5 Optimize mixing samples at common pitches.
Doesn't seem to be a big help but may matter more on mobile.
2014-02-17 21:09:44 -08:00
Unknown W. Brackets
139c91fe19 Return an error for an invalid pitch, per tests. 2014-02-17 21:09:43 -08:00
Unknown W. Brackets
e006ab5b2d Don't read the first 32 samples after keyon.
The way I'm approximating this is ugly...
2014-02-17 01:39:59 -08:00
Unknown W. Brackets
6b984c5593 Don't loop PCM samples when loopPos < 0. 2014-02-17 01:39:59 -08:00
Unknown W. Brackets
95fc9624b4 Fix PCM looping in SAS.
The parameter specifies where the loop restarts at.
2014-02-17 01:39:58 -08:00
Unknown W. Brackets
d53ab02e5b Don't change height immediately on keyon.
This replicates the PSP's behavior, which is a 32-grain lead in, plus the
height remains what it was before until processing happens.
2014-02-17 01:39:55 -08:00
Henrik Rydgård
079f653cff Sas envelopes: Simplify away some redundant state. 2014-02-11 11:56:24 +01:00
Unknown W. Brackets
6392307cbd Calculate the curve on the fly per the PSP.
Values based on lots of testing from the PSP, and match exactly.
2014-02-10 08:43:01 -08:00
Unknown W. Brackets
a14850c16b Drop height to 0 when VAG ends.
Otherwise we will set it to !playing and never step the height.
Should fix Yu-Gi-Oh again.  Probably release before was miscalculated as
0 which is why it worked before.
2014-02-09 10:53:47 -08:00
raven02
3f20b5ad77 sceSas : should be always delay thread 2014-02-04 20:03:54 +08:00
raven02
7701784608 Not reschelding if voicesPlayingCount == 0 2014-01-26 19:52:31 +08:00
Henrik Rydgard
0de71f27cb Optimize the VAGADPCM decoder. 2014-01-04 01:59:20 +01:00
Henrik Rydgård
00c32ddadb Mostly get rid of including "Globals.h" 2013-12-30 10:17:11 +01:00
Henrik Rydgard
b30495c8e8 Reapply the "duration" SasAudio optimization. 2013-11-17 16:49:43 +01:00
Henrik Rydgard
5f51432de7 Revert "More minor SasAudio optimizations"
Will reapply later in pieces.

This reverts commit cd251af345.
2013-11-17 16:46:26 +01:00
Henrik Rydgård
cd251af345 More minor SasAudio optimizations 2013-11-15 12:28:16 +01:00
Henrik Rydgård
21006dc6a7 SasAudio: Compute envelope duration on state changes only. 2013-11-15 12:05:10 +01:00
Henrik Rydgard
f0e47838c6 Just break out some functions in SasAudio 2013-10-24 01:19:08 +02:00
Henrik Rydgard
a790c0a723 SasAudio: Add some comments about reverb, and add the reverb type list 2013-10-23 22:59:42 +02:00
Unknown W. Brackets
e95f55a5fe Fix some enum type warnings. 2013-10-19 14:57:45 -07:00
Henrik Rydgård
ac2334386a Move BufferQueue out of the at3 plugin header 2013-10-17 12:31:22 +02:00
Unknown W. Brackets
fe1f4d53c6 Return an error on bad SAS sample rate.
Also reorder the types to fit the PSP's flag values.
2013-09-01 16:59:37 -07:00
Unknown W. Brackets
16b0a99e5f Adjust some default values for SAS audio. 2013-06-12 08:02:56 -07:00
Unknown W. Brackets
b5ac7eead1 Cleanup some SAS constructors. 2013-06-11 00:37:29 -07:00
Unknown W. Brackets
3aaabfb987 Revert #1974, the other fixes are better.
This is no longer needed for games I have, and it breaks Final Fantasy
Tactics' sound effects.

Looking at JPCSP for insight, I saw that it re-enables loops if you set a
voice even with a different address (I think?) but that seems strange.
2013-06-09 22:47:01 -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
Unknown W. Brackets
e8be3d8da2 Decode VAG samples in one shot, not two. 2013-05-27 18:16:40 -07:00
oioitff
99f8041375 Implement pcm voice correctly. 2013-05-24 00:42:15 +08: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
raven02
87b5b195e3 Add default volume value for left/right channel 2013-04-06 15:41:49 +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
Unknown W. Brackets
2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Henrik Rydgard
ddd0ce4c18 Implement a PSP model checking function, comment fix 2013-02-02 12:38:24 +01:00
raven02
693619ed6e Init loop to true which ignore VAG loop and set sampleRate for each voices 2013-01-31 15:00:58 +08:00
raven02
4a1218387d Add effectLeft and effectRight 2013-01-27 22:34:14 +08:00
Henrik Rydgard
4deaec8924 Make ADPCM audio a little less crackly in a hacky way.. 2013-01-25 18:36:05 +01:00