Cocoa Port:

- Fix a longstanding bug where audio frames were accidentally getting dropped when using N-sync and Z-sync methods. Greatly improves the audio quality of the N-sync method.
- Now that N-sync actually works as intended, it is now the default sync method. (N-sync has much better latency compared to the other sync methods, especially compared to P-sync, which was the previous default.)
- Update sync method tooltips to better reflect their actual behavior.
- Fix UI bug where the Advanced SPU Logic control text would get truncated on OS X Yosemite.
This commit is contained in:
rogerman 2015-02-11 01:47:31 +00:00
parent 2ff7821e85
commit afa4d57545
5 changed files with 125 additions and 176 deletions

View File

@ -735,7 +735,7 @@
<key>SPU_InterpolationMode</key>
<integer>2</integer>
<key>SPU_SyncMethod</key>
<integer>2</integer>
<integer>0</integer>
<key>SPU_SyncMode</key>
<integer>1</integer>
</dict>

View File

@ -224,7 +224,7 @@
#define FRAME_SKIP_BIAS 0.1 // May be any real number. This value acts as a vector addition to the frame skip.
#define MAX_FRAME_SKIP (DS_FRAMES_PER_SECOND / 3.0)
#define SPU_SAMPLE_RATE 44100.0 // Samples per second
#define SPU_SAMPLE_RATE (44100.0 * DS_FRAMES_PER_SECOND / 60.0) // Samples per second
#define SPU_SAMPLE_RESOLUTION 16 // Bits per sample; must be a multiple of 8
#define SPU_NUMBER_CHANNELS 2 // Number of channels
#define SPU_SAMPLE_SIZE ((SPU_SAMPLE_RESOLUTION / 8) * SPU_NUMBER_CHANNELS) // Bytes per sample, multiplied by the number of channels

View File

@ -52,7 +52,7 @@ SoundInterface_struct *SNDCoreList[] = {
int SNDOSXInit(int buffer_size)
{
CoreAudioOutput *oldcoreAudioPlaybackManager = coreAudioPlaybackManager;
coreAudioPlaybackManager = new CoreAudioOutput(buffer_size / SPU_SAMPLE_SIZE, SPU_SAMPLE_SIZE);
coreAudioPlaybackManager = new CoreAudioOutput(buffer_size * 4 / SPU_SAMPLE_SIZE, SPU_SAMPLE_SIZE);
delete oldcoreAudioPlaybackManager;
if (mutexAudioSampleReadWrite == NULL)

File diff suppressed because it is too large Load Diff