Changeset 3924
- Timestamp:
- 02/24/10 12:20:41 (5 months ago)
- Files:
-
- jack2/branches/libjacknet/common/JackAudioAdapterInterface.cpp (modified) (1 diff)
- jack2/branches/libjacknet/common/JackAudioAdapterInterface.h (modified) (1 diff)
- jack2/branches/libjacknet/common/JackNetAPI.cpp (modified) (2 diffs)
- jack2/branches/libjacknet/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj (modified) (10 diffs)
- jack2/branches/libjacknet/macosx/iphone/main_master.mm (modified) (1 diff)
- jack2/branches/libjacknet/macosx/iphone/main_slave.mm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
jack2/branches/libjacknet/common/JackAudioAdapterInterface.cpp
r3918 r3924 182 182 if (fRingbufferCurSize > DEFAULT_RB_SIZE) 183 183 fRingbufferCurSize = DEFAULT_RB_SIZE; 184 185 jack_log("JackAudioAdapterInterface::ResetRingBuffers new_size = %ld", fRingbufferCurSize); 184 186 185 187 for (int i = 0; i < fCaptureChannels; i++) jack2/branches/libjacknet/common/JackAudioAdapterInterface.h
r3448 r3924 130 130 fPIControler(host_sample_rate / host_sample_rate, 256), 131 131 fQuality(0), 132 fRingbufferCurSize(DEFAULT_ADAPTATIVE_SIZE), 132 133 fPullAndPushTime(0), 133 fRunning ( false ) 134 fRunning(false), 135 fAdaptative(true) 134 136 {} 135 137 jack2/branches/libjacknet/common/JackNetAPI.cpp
r3923 r3924 747 747 fCaptureRingBuffer = new JackResampler*[fCaptureChannels]; 748 748 fPlaybackRingBuffer = new JackResampler*[fPlaybackChannels]; 749 for (int i = 0; i < fCaptureChannels; i++ ) 749 750 if (fAdaptative) { 751 AdaptRingBufferSize(); 752 jack_info("Ringbuffer automatic adaptative mode size = %d frames", fRingbufferCurSize); 753 } else { 754 if (fRingbufferCurSize > DEFAULT_RB_SIZE) 755 fRingbufferCurSize = DEFAULT_RB_SIZE; 756 jack_info("Fixed ringbuffer size = %d frames", fRingbufferCurSize); 757 } 758 759 for (int i = 0; i < fCaptureChannels; i++ ) { 750 760 fCaptureRingBuffer[i] = new JackResampler(); 751 for (int i = 0; i < fPlaybackChannels; i++ ) 761 fCaptureRingBuffer[i]->Reset(fRingbufferCurSize); 762 } 763 for (int i = 0; i < fPlaybackChannels; i++ ) { 752 764 fPlaybackRingBuffer[i] = new JackResampler(); 765 fPlaybackRingBuffer[i]->Reset(fRingbufferCurSize); 766 } 753 767 754 768 if (fCaptureChannels > 0) … … 926 940 va_list ap; 927 941 va_start(ap, fmt); 928 jack_format_and_log(LOG_LEVEL_INFO, "Jack: ", fmt, ap);942 //jack_format_and_log(LOG_LEVEL_INFO, "Jack: ", fmt, ap); 929 943 va_end(ap); 930 944 } jack2/branches/libjacknet/macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj
r3923 r3924 28 28 4B0772340F54018C000DC657 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */; }; 29 29 4B07724A0F54021B000DC657 /* main_slave.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B0772490F54021B000DC657 /* main_slave.mm */; }; 30 4B0772510F54022D000DC657 /* main_master.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B0772500F54022D000DC657 /* main_master.mm */; };31 30 4B0773860F541EE2000DC657 /* iPhoneNetAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B0773850F541EE2000DC657 /* iPhoneNetAppDelegate.m */; }; 32 31 4B0773870F541EE2000DC657 /* iPhoneNetAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B0773850F541EE2000DC657 /* iPhoneNetAppDelegate.m */; }; … … 74 73 4B4146AC10BD3C4300C12F0C /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */; }; 75 74 4BBDC8FA0F5420C000465F9C /* freeverb.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4BBDC8F90F5420C000465F9C /* freeverb.mm */; }; 75 4BC9C1F71135AB2800D22670 /* main_master.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B0772500F54022D000DC657 /* main_master.mm */; }; 76 76 4BCB37B6112D647C008C7BC1 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 77 77 4BCB37C7112D647C008C7BC1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; … … 162 162 4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaustNet.app; sourceTree = BUILT_PRODUCTS_DIR; }; 163 163 4BBDC8F90F5420C000465F9C /* freeverb.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = freeverb.mm; sourceTree = SOURCE_ROOT; }; 164 4BC9C1D31135AA1800D22670 /* iPhoneNetMasterAppl-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iPhoneNetMasterAppl-Info.plist"; sourceTree = "<group>"; }; 164 165 4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaust.app; sourceTree = BUILT_PRODUCTS_DIR; }; 165 166 4BCB37D5112D64B4008C7BC1 /* HardwareClock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HardwareClock.cpp; sourceTree = SOURCE_ROOT; }; 166 167 4BCB37D8112D64D8008C7BC1 /* iphone-faust.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "iphone-faust.mm"; sourceTree = SOURCE_ROOT; }; 167 4BCF75F210BC2FD90082C526 /* iPhone ThruNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneThruNet.app; sourceTree = BUILT_PRODUCTS_DIR; };168 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaustNet.app; sourceTree = BUILT_PRODUCTS_DIR; }; 168 169 4BCF75F610BC30140082C526 /* audio_thru.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = audio_thru.mm; sourceTree = SOURCE_ROOT; }; 169 170 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioAdapterInterface.cpp; path = ../../common/JackAudioAdapterInterface.cpp; sourceTree = SOURCE_ROOT; }; … … 263 264 4BFF45770F4D5D9700106083 /* iPhoneFaustNet.app */, 264 265 4B0772380F54018C000DC657 /* iPhoneNetMaster.app */, 265 4BCF75F210BC2FD90082C526 /* iPhone ThruNet.app */,266 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */, 266 267 4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */, 267 268 4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */, … … 320 321 28AD733E0D9D9553002E5188 /* MainWindow.xib */, 321 322 8D1107310486CEB800E47090 /* Info.plist */, 323 4BC9C1D31135AA1800D22670 /* iPhoneNetMasterAppl-Info.plist */, 322 324 ); 323 325 name = Resources; … … 453 455 name = iPhoneThruNet; 454 456 productName = iPhoneNet; 455 productReference = 4BCF75F210BC2FD90082C526 /* iPhone ThruNet.app */;457 productReference = 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */; 456 458 productType = "com.apple.product-type.application"; 457 459 }; … … 584 586 4B07722D0F54018C000DC657 /* JackResampler.cpp in Sources */, 585 587 4B07722E0F54018C000DC657 /* ringbuffer.c in Sources */, 586 4B0772510F54022D000DC657 /* main_master.mm in Sources */,587 588 4B0773860F541EE2000DC657 /* iPhoneNetAppDelegate.m in Sources */, 588 589 4B27918B0F72570C000536B7 /* JackGlobals.cpp in Sources */, 589 590 4BF15E2511356A3E00B36B9A /* CAHostTimeBase.cpp in Sources */, 590 591 4BF15F7811357A0E00B36B9A /* TiPhoneCoreAudioRenderer.cpp in Sources */, 592 4BC9C1F71135AB2800D22670 /* main_master.mm in Sources */, 591 593 ); 592 594 runOnlyForDeploymentPostprocessing = 0; … … 700 702 GCC_PREFIX_HEADER = iPhoneNet_Prefix.pch; 701 703 HEADER_SEARCH_PATHS = ( 704 ../../macosx/coreaudio, 702 705 ../../macosx, 703 706 ../../posix, … … 712 715 OTHER_LDFLAGS = ""; 713 716 PRODUCT_NAME = iPhoneNetSlave; 714 SDKROOT = iphoneos 2.2.1;717 SDKROOT = iphoneos3.1.3; 715 718 }; 716 719 name = Debug; … … 724 727 GCC_PREFIX_HEADER = iPhoneNet_Prefix.pch; 725 728 HEADER_SEARCH_PATHS = ( 729 ../../macosx/coreaudio, 726 730 ../../common/jack, 727 731 ../../common, jack2/branches/libjacknet/macosx/iphone/main_master.mm
r3923 r3924 27 27 jack_slave_t result; 28 28 29 void MasterAudioCallback(int frames, float** inputs, float** outputs, void* arg)29 static void MasterAudioCallback(int frames, float** inputs, float** outputs, void* arg) 30 30 { 31 31 int i; jack2/branches/libjacknet/macosx/iphone/main_slave.mm
r3922 r3924 10 10 #include <jack/net.h> 11 11 12 #include "TiPhoneCoreAudioRenderer.h" 13 12 14 #define NUM_INPUT 2 13 15 #define NUM_OUTPUT 2 … … 16 18 jack_adapter_t* adapter; 17 19 20 int buffer_size; 21 int sample_rate ; 22 23 18 24 static int net_process(jack_nframes_t buffer_size, 19 int audio_input,20 float** audio_input_buffer,21 int midi_input,22 void** midi_input_buffer,23 int audio_output,24 float** audio_output_buffer,25 int midi_output,26 void** midi_output_buffer,27 void* data)25 int audio_input, 26 float** audio_input_buffer, 27 int midi_input, 28 void** midi_input_buffer, 29 int audio_output, 30 float** audio_output_buffer, 31 int midi_output, 32 void** midi_output_buffer, 33 void* data) 28 34 { 29 // Process input, produce output 30 if (audio_input == audio_output) { 31 // Copy input to output 32 for (int i = 0; i < audio_input; i++) { 33 memcpy(audio_output_buffer[i], audio_input_buffer[i], buffer_size * sizeof(float)); 34 } 35 } 35 36 jack_adapter_pull_and_push(adapter, audio_output_buffer, audio_input_buffer, buffer_size); 36 37 return 0; 38 } 39 40 static void SlaveAudioCallback(int frames, float** inputs, float** outputs, void* arg) 41 { 42 jack_adapter_push_and_pull(adapter, inputs, outputs, frames); 37 43 } 38 44 … … 47 53 return -1; 48 54 } 55 56 if ((adapter = jack_create_adapter(NUM_INPUT, 57 NUM_OUTPUT, 58 result.buffer_size, 59 result.sample_rate, 60 result.buffer_size, 61 result.sample_rate)) == 0) { 62 return -1; 63 } 64 65 TiPhoneCoreAudioRenderer audio_device(NUM_INPUT, NUM_OUTPUT); 49 66 50 67 jack_set_net_slave_process_callback(net, net_process, NULL); … … 53 70 } 54 71 72 if (audio_device.OpenDefault(result.buffer_size, result.sample_rate) < 0) { 73 return -1; 74 } 75 76 audio_device.SetAudioCallback(SlaveAudioCallback, NULL); 77 78 if (audio_device.Start() < 0) { 79 return -1; 80 } 81 55 82 int retVal = UIApplicationMain(argc, argv, nil, nil); 56 83 [pool release]; 84 85 audio_device.Stop(); 86 audio_device.Close(); 57 87 58 88 // Wait for application end 59 89 jack_net_slave_deactivate(net); 60 90 jack_net_slave_close(net); 91 jack_destroy_adapter(adapter); 61 92 return retVal; 62 93 }
