Commit Graph
745 Commits
Author SHA1 Message Date
Unknown W. Brackets 9cba543a4b sceSasCoreWithMix() returns an error in raw mode.
And does not reschedule, specifically.
2014-02-22 08:48:55 -08:00
Unknown W. Brackets 0939065333 Report the raw output mode to find examples.
I can't find any games actually leaving the output mode at 1.
2014-02-22 08:07:51 -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
Henrik Rydgård 4e93573422 Merge pull request #5486 from raven02/patch-25
Use GE_CMODE instead of TPSM_PIXEL_STORAGE_MODE
2014-02-20 18:48:10 +07:00
Unknown W. Brackets a1283644ab If never set, loop to the first vag block.
Not the second (0 = second.)
2014-02-19 01:03:11 -08:00
Unknown W. Brackets a36f7bf267 Fill in predict_nr's above 5, fix clamping.
We weren't processing vag properly when it hit the edges.

The coefficients were found with testing about 384 samples.
2014-02-19 01:01:56 -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 dc5d17971c Actually use the resample buffer.
Fixes static in Final Fantasy Tactics music.
2014-02-17 23:23:44 -08:00
Unknown W. Brackets 93060e3aef Avoid some divisions, just in case. 2014-02-17 23:19:30 -08:00
Unknown W. Brackets b5bdac211a Ignore pitch > 0x1000 for pcm.
It seems to be supported only below 0x1000.  Also, drop optimization for
double for now, simpler this way and doesn't seem common?
2014-02-17 21:09:44 -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 1efcebb121 Smooth SAS resampling when pitch != 0x1000. 2014-02-17 21:09:43 -08:00
Unknown W. Brackets 8ded863231 Reset sampleFrac on keyon.
Since we're starting the samples over.
2014-02-17 21:09:42 -08:00
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
raven02 84bbbc3e51 Use GE_CMODE instead of TPSM_PIXEL_STORAGE_MODE 2014-02-16 23:15:17 +08:00
Henrik Rydgård 561dcf8fd1 Merge pull request #5407 from raven02/patch-18
Return -1 when no atrac inited
2014-02-12 15:26:54 +01:00
raven02 4f744436bb Return -1 when no atrac inited 2014-02-12 21:55:36 +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
raven02 7dcf355cd6 MediaEngine : getAudioTimeStamp() returns m_audiopts 2014-02-11 19:24:51 +08: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
Henrik Rydgård 169844cc8c MediaEngine/atrac: Initialize some variables, remove use of some deprecated functions 2014-01-27 14:08:05 +01:00
Henrik Rydgård a8eb92f395 Merge pull request #5237 from raven02/patch-6
Return without delay if voicesPlayingCount is zero
2014-01-27 04:16:48 -08:00
raven02 8e8329abec Fix audio gitches 2014-01-27 19:32:35 +08:00
Unknown W. Brackets 10f52fa2b0 Just in case, also clear results on shutdown. 2014-01-26 19:10:20 -08:00
Unknown W. Brackets 0ca769721a Log more information about duplicate io operations. 2014-01-26 19:05:07 -08:00
Henrik Rydgård cc4882267a Merge pull request #5231 from unknownbrackets/swap
Merge just some endian / swap related fixes
2014-01-26 14:44:52 -08:00
Ced2911andUnknown W. Brackets 451e80c5c8 [core/MediaEndigne] endian fix for video 2014-01-26 14:27:05 -08:00
Henrik Rydgård 8fa6105472 Initialize m_audiopts 2014-01-26 23:21:39 +01: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