Unknown W. Brackets
38053df4ca
Don't drop the last mix of vag samples.
...
Wait instead until the end of mixing to end the envelope.
2014-02-17 21:09:42 -08:00
Unknown W. Brackets
3899e18422
Always key on for 32 samples regardless of pitch.
...
Before it would be more or less depending on pitch. It's always 32.
2014-02-17 21:09:41 -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
55507d7844
Fix the default adsr sustain mode.
...
Probably doesn't matter, games always set it.
2014-02-17 01:39:57 -08:00
Unknown W. Brackets
d097ac5394
Don't change height when keying off a voice.
...
Tests show that the height does not revert to the sustain level.
2014-02-17 01:39:56 -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
Unknown W. Brackets
684caa01ec
Correct SAS bent linear curve.
...
Tests shows that at 0x30000000 it still goes up the full amount.
2014-02-17 01:39:54 -08:00
Henrik Rydgård
caf729e01e
Remove call to SetState, superfluous now that the state variables are gone.
2014-02-11 17:05:46 +01:00
Henrik Rydgård
079f653cff
Sas envelopes: Simplify away some redundant state.
2014-02-11 11:56:24 +01:00
Unknown W. Brackets
0265fc757d
Flip and shift instead of signed divide.
...
Clearer than all those zeroes and maybe faster...
2014-02-11 01:29:33 -08:00
Unknown W. Brackets
b398a84517
Attack switches to decay at max height already.
...
It does not wait until it goes above.
2014-02-11 00:18:36 -08:00
Unknown W. Brackets
95a8af9e60
Decay does not switch to release at height max.
...
This can happen with an exponent rate of 0. It stays there.
2014-02-11 00:17:13 -08:00
Unknown W. Brackets
f11d362be3
Fix integer overflow in exponent decrease.
2014-02-11 00:11:07 -08:00
Unknown W. Brackets
f981d39f94
Sustain defaults to 0, not 0x100.
...
Not sure how I came to that mistaken idea.
2014-02-10 23:48:10 -08: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
df7d25f4bf
Correct a case where release rate was set negative.
...
Seems to be capped at INT_MAX like the others, oops.
2014-02-09 11:30:15 -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
Unknown W. Brackets
074ef84559
Correct the rates set by sceSasSetSimpleADSR().
...
They were wrong for a few combinations before. Could have effected how
accurate sound effects were (they may have been too quite, or dropped off
wrong, etc.)
2014-02-07 22:29:54 -08:00
raven02
3f20b5ad77
sceSas : should be always delay thread
2014-02-04 20:03:54 +08:00
Unknown W. Brackets
a00d5a2df8
Set a voice as keyed off when its envelope ends.
2014-02-04 01:35:53 -08:00
raven02
8e8329abec
Fix audio gitches
2014-01-27 19:32:35 +08:00
Henrik Rydgård
0414a3faa4
Not having voices playing is not an error. Disabling logging of it.
2014-01-26 16:32:29 +01:00
raven02
7701784608
Not reschelding if voicesPlayingCount == 0
2014-01-26 19:52:31 +08:00