diff --git a/common/JackNetAPI.cpp b/common/JackNetAPI.cpp index 655c8deb..e780fd46 100644 --- a/common/JackNetAPI.cpp +++ b/common/JackNetAPI.cpp @@ -384,7 +384,7 @@ struct JackNetExtMaster : public JackNetMasterInterface { return DataSend(); - } catch (JackNetException& e) { + } catch (JackNetException& e) { jack_error("Connection lost."); return -1; } diff --git a/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj b/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj index 3ef8728e..740dfe19 100755 --- a/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj +++ b/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj @@ -49,7 +49,6 @@ 4B1A94580F49C03600D3626B /* JackNetTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93110F49AB3400D3626B /* JackNetTool.cpp */; }; 4B1A94590F49C03600D3626B /* JackNetUnixSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93510F49ACF300D3626B /* JackNetUnixSocket.cpp */; }; 4B1A945A0F49C03600D3626B /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A933B0F49AC4500D3626B /* JackPosixThread.cpp */; }; - 4B1A947F0F49C42300D3626B /* JackAudioQueueAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */; }; 4B1A95760F49CEAB00D3626B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */; }; 4B2791880F72570C000536B7 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2791870F72570C000536B7 /* JackGlobals.cpp */; }; 4B2791890F72570C000536B7 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2791870F72570C000536B7 /* JackGlobals.cpp */; }; @@ -63,7 +62,6 @@ 4B41469E10BD3C4300C12F0C /* JackNetTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93110F49AB3400D3626B /* JackNetTool.cpp */; }; 4B41469F10BD3C4300C12F0C /* JackNetUnixSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93510F49ACF300D3626B /* JackNetUnixSocket.cpp */; }; 4B4146A010BD3C4300C12F0C /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A933B0F49AC4500D3626B /* JackPosixThread.cpp */; }; - 4B4146A110BD3C4300C12F0C /* JackAudioQueueAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */; }; 4B4146A210BD3C4300C12F0C /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; }; 4B4146A310BD3C4300C12F0C /* JackResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1364B0F4B0F7700218A3F /* JackResampler.cpp */; }; 4B4146A410BD3C4300C12F0C /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF136540F4B0F9F00218A3F /* ringbuffer.c */; }; @@ -90,7 +88,6 @@ 4BCF75E010BC2FD90082C526 /* JackNetTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93110F49AB3400D3626B /* JackNetTool.cpp */; }; 4BCF75E110BC2FD90082C526 /* JackNetUnixSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93510F49ACF300D3626B /* JackNetUnixSocket.cpp */; }; 4BCF75E210BC2FD90082C526 /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A933B0F49AC4500D3626B /* JackPosixThread.cpp */; }; - 4BCF75E310BC2FD90082C526 /* JackAudioQueueAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */; }; 4BCF75E410BC2FD90082C526 /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; }; 4BCF75E510BC2FD90082C526 /* JackResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1364B0F4B0F7700218A3F /* JackResampler.cpp */; }; 4BCF75E610BC2FD90082C526 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF136540F4B0F9F00218A3F /* ringbuffer.c */; }; @@ -129,7 +126,6 @@ 4BFF45670F4D5D9700106083 /* JackNetTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93110F49AB3400D3626B /* JackNetTool.cpp */; }; 4BFF45680F4D5D9700106083 /* JackNetUnixSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A93510F49ACF300D3626B /* JackNetUnixSocket.cpp */; }; 4BFF45690F4D5D9700106083 /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A933B0F49AC4500D3626B /* JackPosixThread.cpp */; }; - 4BFF456A0F4D5D9700106083 /* JackAudioQueueAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */; }; 4BFF456B0F4D5D9700106083 /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; }; 4BFF456C0F4D5D9700106083 /* JackResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1364B0F4B0F7700218A3F /* JackResampler.cpp */; }; 4BFF456D0F4D5D9700106083 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF136540F4B0F9F00218A3F /* ringbuffer.c */; }; @@ -161,8 +157,6 @@ 4B1A93540F49ACFC00D3626B /* JackMachThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackMachThread.h; path = ../JackMachThread.h; sourceTree = SOURCE_ROOT; }; 4B1A93550F49ACFC00D3626B /* JackMachThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackMachThread.cpp; path = ../JackMachThread.cpp; sourceTree = SOURCE_ROOT; }; 4B1A93870F49B0E300D3626B /* JackMachTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = JackMachTime.c; path = ../JackMachTime.c; sourceTree = SOURCE_ROOT; }; - 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioQueueAdapter.cpp; path = ../coreaudio/JackAudioQueueAdapter.cpp; sourceTree = SOURCE_ROOT; }; - 4B1A947E0F49C42300D3626B /* JackAudioQueueAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackAudioQueueAdapter.h; path = ../coreaudio/JackAudioQueueAdapter.h; sourceTree = SOURCE_ROOT; }; 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 4B2791870F72570C000536B7 /* JackGlobals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackGlobals.cpp; path = ../../common/JackGlobals.cpp; sourceTree = SOURCE_ROOT; }; 4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaustNet.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -170,7 +164,7 @@ 4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaust.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4BCB37D5112D64B4008C7BC1 /* HardwareClock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HardwareClock.cpp; sourceTree = SOURCE_ROOT; }; 4BCB37D8112D64D8008C7BC1 /* iphone-faust.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "iphone-faust.mm"; sourceTree = SOURCE_ROOT; }; - 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaustNet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneThruNet.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4BCF75F610BC30140082C526 /* audio_thru.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = audio_thru.mm; sourceTree = SOURCE_ROOT; }; 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioAdapterInterface.cpp; path = ../../common/JackAudioAdapterInterface.cpp; sourceTree = SOURCE_ROOT; }; 4BF136120F4B0B5E00218A3F /* JackAudioAdapterInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackAudioAdapterInterface.h; path = ../../common/JackAudioAdapterInterface.h; sourceTree = SOURCE_ROOT; }; @@ -268,7 +262,7 @@ 4BFF45120F4D59DB00106083 /* libjacknet.a */, 4BFF45770F4D5D9700106083 /* iPhoneFaustNet.app */, 4B0772380F54018C000DC657 /* iPhoneNetMaster.app */, - 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */, + 4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */, 4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */, 4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */, ); @@ -283,7 +277,6 @@ 4BF15E2411356A3E00B36B9A /* CAHostTimeBase.cpp */, 4BF15F7711357A0E00B36B9A /* TiPhoneCoreAudioRenderer.cpp */, 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, ); @@ -293,6 +286,7 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( + 29B97317FDCFA39411CA2CEA /* Resources */, 4BCF75F610BC30140082C526 /* audio_thru.mm */, 4BBDC8F90F5420C000465F9C /* freeverb.mm */, 4B0773840F541EE2000DC657 /* iPhoneNetAppDelegate.h */, @@ -302,8 +296,6 @@ 4BF1364C0F4B0F7700218A3F /* JackResampler.h */, 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */, 4BF136120F4B0B5E00218A3F /* JackAudioAdapterInterface.h */, - 4B1A947D0F49C42300D3626B /* JackAudioQueueAdapter.cpp */, - 4B1A947E0F49C42300D3626B /* JackAudioQueueAdapter.h */, 4B1A93870F49B0E300D3626B /* JackMachTime.c */, 4B1A93540F49ACFC00D3626B /* JackMachThread.h */, 4B1A93550F49ACFC00D3626B /* JackMachThread.cpp */, @@ -460,7 +452,7 @@ ); name = iPhoneThruNet; productName = iPhoneNet; - productReference = 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */; + productReference = 4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */; productType = "com.apple.product-type.application"; }; 4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */ = { @@ -566,7 +558,6 @@ 4B1A94580F49C03600D3626B /* JackNetTool.cpp in Sources */, 4B1A94590F49C03600D3626B /* JackNetUnixSocket.cpp in Sources */, 4B1A945A0F49C03600D3626B /* JackPosixThread.cpp in Sources */, - 4B1A947F0F49C42300D3626B /* JackAudioQueueAdapter.cpp in Sources */, 4BF1360F0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp in Sources */, 4BF1364D0F4B0F7700218A3F /* JackResampler.cpp in Sources */, 4BF136550F4B0F9F00218A3F /* ringbuffer.c in Sources */, @@ -629,7 +620,6 @@ 4B41469E10BD3C4300C12F0C /* JackNetTool.cpp in Sources */, 4B41469F10BD3C4300C12F0C /* JackNetUnixSocket.cpp in Sources */, 4B4146A010BD3C4300C12F0C /* JackPosixThread.cpp in Sources */, - 4B4146A110BD3C4300C12F0C /* JackAudioQueueAdapter.cpp in Sources */, 4B4146A210BD3C4300C12F0C /* JackAudioAdapterInterface.cpp in Sources */, 4B4146A310BD3C4300C12F0C /* JackResampler.cpp in Sources */, 4B4146A410BD3C4300C12F0C /* ringbuffer.c in Sources */, @@ -663,7 +653,6 @@ 4BCF75E010BC2FD90082C526 /* JackNetTool.cpp in Sources */, 4BCF75E110BC2FD90082C526 /* JackNetUnixSocket.cpp in Sources */, 4BCF75E210BC2FD90082C526 /* JackPosixThread.cpp in Sources */, - 4BCF75E310BC2FD90082C526 /* JackAudioQueueAdapter.cpp in Sources */, 4BCF75E410BC2FD90082C526 /* JackAudioAdapterInterface.cpp in Sources */, 4BCF75E510BC2FD90082C526 /* JackResampler.cpp in Sources */, 4BCF75E610BC2FD90082C526 /* ringbuffer.c in Sources */, @@ -686,7 +675,6 @@ 4BFF45670F4D5D9700106083 /* JackNetTool.cpp in Sources */, 4BFF45680F4D5D9700106083 /* JackNetUnixSocket.cpp in Sources */, 4BFF45690F4D5D9700106083 /* JackPosixThread.cpp in Sources */, - 4BFF456A0F4D5D9700106083 /* JackAudioQueueAdapter.cpp in Sources */, 4BFF456B0F4D5D9700106083 /* JackAudioAdapterInterface.cpp in Sources */, 4BFF456C0F4D5D9700106083 /* JackResampler.cpp in Sources */, 4BFF456D0F4D5D9700106083 /* ringbuffer.c in Sources */, @@ -772,7 +760,7 @@ ); OTHER_LDFLAGS = ""; PRODUCT_NAME = iPhoneNetMaster; - SDKROOT = iphoneos2.2.1; + SDKROOT = iphoneos3.1.3; }; name = Debug; }; diff --git a/macosx/iphone/main_master.mm b/macosx/iphone/main_master.mm index b7cd0d28..b552de0b 100644 --- a/macosx/iphone/main_master.mm +++ b/macosx/iphone/main_master.mm @@ -20,7 +20,7 @@ jack_adapter_t* adapter; float** audio_input_buffer; float** audio_output_buffer; -int buffer_size = 2048; +int buffer_size = 4096; int sample_rate = 44100; jack_master_t request = { buffer_size, sample_rate, "master" }; @@ -30,18 +30,18 @@ void MasterAudioCallback(int frames, float** inputs, float** outputs, void* arg) { int i; + // Copy from iPod input to network for (i = 0; i < result.audio_input; i++) { memcpy(audio_output_buffer[i], inputs[i], buffer_size * sizeof(float)); } - if (jack_net_master_send(net, result.audio_output, audio_output_buffer, 0, NULL) < 0) { printf("jack_net_master_send error..\n"); } + // Copy from network to iPod output if (jack_net_master_recv(net, result.audio_input, audio_input_buffer, 0, NULL) < 0) { printf("jack_net_master_recv error..\n"); } - for (i = 0; i < result.audio_output; i++) { memcpy(outputs[i], audio_input_buffer[i], buffer_size * sizeof(float)); } @@ -52,6 +52,7 @@ int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int i; + int wait_usec = (unsigned long)((((float)buffer_size) / ((float)sample_rate)) * 1000000.0f); TiPhoneCoreAudioRenderer audio_device(NUM_INPUT, NUM_OUTPUT); @@ -80,12 +81,9 @@ int main(int argc, char *argv[]) { return -1; } - // Run until interrupted + // Run until interrupted while (1) {} - audio_device.Stop(); - audio_device.Close(); - /* // Quite brutal way, the application actually does not start completely, the netjack audio processing loop is used instead... // Run until interrupted @@ -98,17 +96,20 @@ int main(int argc, char *argv[]) { if (jack_net_master_send(net, result.audio_output, audio_output_buffer, 0, NULL) < 0) { printf("jack_net_master_send error..\n"); - break; } if (jack_net_master_recv(net, result.audio_input, audio_input_buffer, 0, NULL) < 0) { printf("jack_net_master_recv error..\n"); - break; } usleep(wait_usec); }; */ + audio_device.Stop(); + audio_device.Close(); + + int retVal = UIApplicationMain(argc, argv, nil, nil); + // Wait for application end jack_net_master_close(net); @@ -118,13 +119,10 @@ int main(int argc, char *argv[]) { free(audio_input_buffer); for (i = 0; i < result.audio_output; i++) { - free(audio_output_buffer[i]); + free(audio_output_buffer[i]); } free(audio_output_buffer); - //int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; - - //return retVal; - return 0; + return retVal; }