diff --git a/Audio/AudioPlayer.m b/Audio/AudioPlayer.m index 1c709aa1b..58dcc744c 100644 --- a/Audio/AudioPlayer.m +++ b/Audio/AudioPlayer.m @@ -173,6 +173,11 @@ if (outputLaunched == NO) { NSLog(@"Launching output thread!"); [output launchThread]; + outputLaunched = YES; + } + else { + NSLog(@"Resuming not launching"); + [output resume]; } } diff --git a/Audio/Chain/BufferChain.m b/Audio/Chain/BufferChain.m index b44866fdf..922f575bb 100644 --- a/Audio/Chain/BufferChain.m +++ b/Audio/Chain/BufferChain.m @@ -87,16 +87,16 @@ - (void)seek:(double)time { - NSLog(@"SEEKING IN BUFFERCHIAN"); - [inputNode seek:time]; - [[inputNode readLock] lock]; [[inputNode writeLock] lock]; //Signal so its waiting when we unlock [[inputNode semaphore] signal]; + NSLog(@"Reset input buffer!"); [inputNode resetBuffer]; + NSLog(@"Seeking in bufferchain!"); + [inputNode seek:time]; [[inputNode writeLock] unlock]; [[inputNode readLock] unlock]; @@ -112,7 +112,6 @@ [controller launchOutputThread]; } - - (id)finalNode { return finalNode; diff --git a/Audio/Chain/InputNode.m b/Audio/Chain/InputNode.m index bcd509d1b..44c6c8ccc 100644 --- a/Audio/Chain/InputNode.m +++ b/Audio/Chain/InputNode.m @@ -130,9 +130,10 @@ - (void)seek:(double)time { - NSLog(@"SEEKING WEEE"); + NSLog(@"SEEKING IN INPUTNODE"); seekTime = time; shouldSeek = YES; + initialBufferFilled = NO; } - (void)dealloc diff --git a/Audio/Chain/OutputNode.m b/Audio/Chain/OutputNode.m index 0de442b67..b690cd586 100644 --- a/Audio/Chain/OutputNode.m +++ b/Audio/Chain/OutputNode.m @@ -24,6 +24,8 @@ - (void)seek:(double)time { + [output pause]; + [semaphore signal]; amountPlayed = time*format.mBytesPerFrame*(format.mSampleRate/1000.0); } diff --git a/Audio/Output/OutputCoreAudio.m b/Audio/Output/OutputCoreAudio.m index 5053c3cc9..e2598a011 100644 --- a/Audio/Output/OutputCoreAudio.m +++ b/Audio/Output/OutputCoreAudio.m @@ -77,7 +77,6 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc { // Set the output device AudioDeviceID deviceID = outputDevice; //XXX use default if null - NSLog(@"WEEE"); NSLog(@"Using output device %d", deviceID); OSStatus err; @@ -253,11 +252,13 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc - (void)pause { + NSLog(@"PAUSE"); AudioOutputUnitStop(outputUnit); } - (void)resume { + NSLog(@"RESUME"); AudioOutputUnitStart(outputUnit); } diff --git a/Info.plist b/Info.plist index 4b7c4b884..42f1fc01d 100644 --- a/Info.plist +++ b/Info.plist @@ -1,4 +1,5 @@ + @@ -95,7 +96,7 @@ CFBundleSignature ???? CFBundleVersion - 0.06 + r428 CFBundleHelpBookFolder Help CFBundleHelpBookName @@ -111,3 +112,4 @@ http://cogosx.sourceforge.net/appcast.xml +