Commit 2dcaaa51 authored by sletz's avatar sletz
Browse files

More cleanup.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/branches/libjacknet@3936 0c269be4-1314-0410-8aa9-9f06e86f4224
parent f5ea7a7b
......@@ -64,7 +64,6 @@ namespace Jack
JackNetInterface::JackNetInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip ) : fSocket ( socket )
{
jack_log("JackNetInterface ( session_params_t& params...)");
fParams = params;
strcpy(fMulticastIP, multicast_ip);
fTxBuffer = NULL;
......@@ -105,8 +104,6 @@ namespace Jack
int JackNetInterface::SetNetBufferSize()
{
jack_log ( "JackNetInterface::SetNetBufferSize" );
float audio_size, midi_size;
int bufsize;
//audio
......@@ -116,7 +113,8 @@ namespace Jack
fParams.fPeriodSize * sizeof(sample_t) / PACKET_AVAILABLE_SIZE);
//bufsize = sync + audio + midi
bufsize = MAX_LATENCY * (fParams.fMtu + ( int ) audio_size + ( int ) midi_size);
jack_info("SetNetBufferSize bufsize = %d", bufsize);
jack_log("SetNetBufferSize bufsize = %d", bufsize);
//tx buffer
if ( fSocket.SetOption ( SOL_SOCKET, SO_SNDBUF, &bufsize, sizeof ( bufsize ) ) == SOCKET_ERROR )
......@@ -167,9 +165,6 @@ namespace Jack
//number of audio subcycles (packets)
fNSubProcess = fParams.fPeriodSize / fParams.fFramesPerPacket;
//payload size
fPayloadSize = PACKET_AVAILABLE_SIZE;
//TX header init
strcpy ( fTxHeader.fPacketType, "header" );
fTxHeader.fID = fParams.fID;
......@@ -195,8 +190,8 @@ namespace Jack
assert ( fRxBuffer );
//net audio/midi buffers'addresses
fTxData = fTxBuffer + sizeof ( packet_header_t );
fRxData = fRxBuffer + sizeof ( packet_header_t );
fTxData = fTxBuffer + HEADER_SIZE;
fRxData = fRxBuffer + HEADER_SIZE;
}
// JackNetMasterInterface ************************************************************************************
......@@ -308,10 +303,6 @@ namespace Jack
assert ( fNetAudioCaptureBuffer );
assert ( fNetAudioPlaybackBuffer );
//audio netbuffer length
fAudioTxLen = HEADER_SIZE + fNetAudioCaptureBuffer->GetSize();
fAudioRxLen = HEADER_SIZE + fNetAudioPlaybackBuffer->GetSize();
}
void JackNetMasterInterface::Exit()
......@@ -344,7 +335,7 @@ namespace Jack
if ((( rx_bytes = fSocket.Recv(fRxBuffer, size, flags)) == SOCKET_ERROR) && fRunning) {
net_error_t error = fSocket.GetError();
//no data isn't really a network error, so just return 0 avalaible read bytes
//no data isn't really a network error, so just return 0 available read bytes
if (error == NET_NO_DATA) {
return 0;
} else if (error == NET_CONN_ERROR) {
......@@ -403,6 +394,7 @@ namespace Jack
fTxHeader.fDataType = 's';
fTxHeader.fIsLastPckt = ( fParams.fSendMidiChannels == 0 && fParams.fSendAudioChannels == 0) ? 1 : 0;
fTxHeader.fPacketSize = HEADER_SIZE;
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE);
return Send(fTxHeader.fPacketSize, 0);
}
......@@ -438,7 +430,7 @@ namespace Jack
{
fTxHeader.fSubCycle = subproc;
fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0;
fTxHeader.fPacketSize = fAudioTxLen;
fTxHeader.fPacketSize = HEADER_SIZE + fNetAudioPlaybackBuffer->GetSize();
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE);
fNetAudioCaptureBuffer->RenderFromJackPorts(subproc);
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR)
......@@ -514,11 +506,9 @@ namespace Jack
int JackNetMasterInterface::DataRecv()
{
int rx_bytes = 0;
uint jumpcnt = 0;
uint recvd_midi_pckt = 0;
uint recvd_audio_pckt = 0;
int last_cycle = 0;
uint recvd_midi_pckt = 0;
packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer );
while ( !fRxHeader.fIsLastPckt )
......@@ -526,15 +516,10 @@ namespace Jack
//how much data is queued on the rx buffer ?
rx_bytes = Recv(HEADER_SIZE, MSG_PEEK);
//error here, problem with recv, just skip the cycle (return -1)
if ( rx_bytes == SOCKET_ERROR )
return rx_bytes;
//if no data
if ( ( rx_bytes == 0 ) && ( ++jumpcnt == fNSubProcess ) )
{
jack_error ( "No data from %s...", fParams.fName );
jumpcnt = 0;
}
//else if data is valid,
if ( rx_bytes && ( rx_head->fDataStream == 'r' ) && ( rx_head->fID == fParams.fID ) )
{
//read data
......@@ -545,21 +530,20 @@ namespace Jack
fRxHeader.fCycle = rx_head->fCycle;
fRxHeader.fIsLastPckt = rx_head->fIsLastPckt;
fNetMidiPlaybackBuffer->RenderFromNetwork(rx_head->fSubCycle, rx_bytes - HEADER_SIZE);
// Last midi packet is received, so finish rendering...
if ( ++recvd_midi_pckt == rx_head->fNMidiPckt )
fNetMidiPlaybackBuffer->RenderToJackPorts();
jumpcnt = 0;
break;
case 'a': //audio
rx_bytes = Recv ( rx_head->fPacketSize, 0 );
if (recvd_audio_pckt++ != rx_head->fSubCycle) {
jack_error("Packet(s) missing from '%s'...", fParams.fSlaveNetName);
if (!IsNextPacket()) {
jack_error("Packet(s) missing from '%s'...", fParams.fMasterNetName);
}
fRxHeader.fCycle = rx_head->fCycle;
fRxHeader.fSubCycle = rx_head->fSubCycle;
fRxHeader.fIsLastPckt = rx_head->fIsLastPckt;
fNetAudioPlaybackBuffer->RenderToJackPorts ( rx_head->fCycle, rx_head->fSubCycle);
jumpcnt = 0;
last_cycle = rx_head->fCycle;
break;
......@@ -581,7 +565,7 @@ namespace Jack
{
//this method contains every step of sync packet informations coding
//first of all, reset sync packet
memset ( fTxData, 0, fPayloadSize );
memset ( fTxData, 0, PACKET_AVAILABLE_SIZE );
//then, first step : transport
if (fParams.fTransportSync) {
......@@ -787,6 +771,8 @@ namespace Jack
//midi net buffers
fNetMidiCaptureBuffer = new NetMidiBuffer ( &fParams, fParams.fSendMidiChannels, fRxData );
fNetMidiPlaybackBuffer = new NetMidiBuffer ( &fParams, fParams.fReturnMidiChannels, fTxData );
assert ( fNetMidiCaptureBuffer );
assert ( fNetMidiPlaybackBuffer );
//audio net buffers
fNetAudioCaptureBuffer = new NetSingleAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData );
......@@ -794,10 +780,9 @@ namespace Jack
//fNetAudioCaptureBuffer = new NetBufferedAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData );
//fNetAudioPlaybackBuffer = new NetBufferedAudioBuffer ( &fParams, fParams.fReturnAudioChannels, fTxData );
//audio netbuffer length
fAudioTxLen = HEADER_SIZE + fNetAudioPlaybackBuffer->GetSize();
fAudioRxLen = HEADER_SIZE + fNetAudioCaptureBuffer->GetSize();
assert ( fNetAudioCaptureBuffer );
assert ( fNetAudioPlaybackBuffer );
}
int JackNetSlaveInterface::Recv ( size_t size, int flags )
......@@ -866,20 +851,21 @@ namespace Jack
int JackNetSlaveInterface::DataRecv()
{
uint recvd_midi_pckt = 0;
uint recvd_audio_pckt = 0;
int rx_bytes = 0;
int last_cycle = 0;
uint recvd_midi_pckt = 0;
packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer );
while ( !fRxHeader.fIsLastPckt )
{
//how much data is queued on the rx buffer ?
rx_bytes = Recv(HEADER_SIZE, MSG_PEEK);
//error here, problem with recv, just skip the cycle (return -1)
if ( rx_bytes == SOCKET_ERROR )
return rx_bytes;
if ( rx_bytes && ( rx_head->fDataStream == 's' ) && ( rx_head->fID == fParams.fID ) )
{
switch ( rx_head->fDataType )
......@@ -896,7 +882,7 @@ namespace Jack
case 'a': //audio
rx_bytes = Recv ( rx_head->fPacketSize, 0 );
if (recvd_audio_pckt++ != rx_head->fSubCycle) {
if (!IsNextPacket()) {
jack_error("Packet(s) missing from '%s'...", fParams.fMasterNetName);
}
fRxHeader.fCycle = rx_head->fCycle;
......@@ -931,7 +917,7 @@ namespace Jack
}
fTxHeader.fSubCycle = 0;
fTxHeader.fDataType = 's';
fTxHeader.fIsLastPckt = ( fParams.fReturnMidiChannels == 0 && fParams.fReturnAudioChannels == 0) ? 1 : 0;
fTxHeader.fIsLastPckt = (fParams.fReturnMidiChannels == 0 && fParams.fReturnAudioChannels == 0) ? 1 : 0;
fTxHeader.fPacketSize = HEADER_SIZE;
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE);
......@@ -943,8 +929,9 @@ namespace Jack
uint subproc;
//midi
if ( fParams.fReturnMidiChannels > 0)
if (fParams.fReturnMidiChannels > 0)
{
//set global header fields and get the number of midi packets
fTxHeader.fDataType = 'm';
fTxHeader.fMidiDataSize = fNetMidiPlaybackBuffer->RenderFromJackPorts();
fTxHeader.fNMidiPckt = GetNMidiPckt();
......@@ -952,7 +939,7 @@ namespace Jack
{
fTxHeader.fSubCycle = subproc;
fTxHeader.fIsLastPckt = ((subproc == (fTxHeader.fNMidiPckt - 1)) && !fParams.fReturnAudioChannels) ? 1 : 0;
fTxHeader.fPacketSize = HEADER_SIZE+ fNetMidiPlaybackBuffer->RenderToNetwork(subproc, fTxHeader.fMidiDataSize);
fTxHeader.fPacketSize = HEADER_SIZE + fNetMidiPlaybackBuffer->RenderToNetwork(subproc, fTxHeader.fMidiDataSize);
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE);
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR)
return SOCKET_ERROR;
......@@ -969,7 +956,7 @@ namespace Jack
{
fTxHeader.fSubCycle = subproc;
fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0;
fTxHeader.fPacketSize = fAudioTxLen;
fTxHeader.fPacketSize = HEADER_SIZE + fNetAudioCaptureBuffer->GetSize();
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE);
fNetAudioPlaybackBuffer->RenderFromJackPorts (subproc);
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR)
......@@ -984,7 +971,7 @@ namespace Jack
{
//this method contains every step of sync packet informations coding
//first of all, reset sync packet
memset ( fTxData, 0, fPayloadSize );
memset ( fTxData, 0, PACKET_AVAILABLE_SIZE );
//then first step : transport
if (fParams.fTransportSync) {
EncodeTransportData();
......
......@@ -57,11 +57,6 @@ namespace Jack
NetAudioBuffer* fNetAudioCaptureBuffer;
NetAudioBuffer* fNetAudioPlaybackBuffer;
//sizes
int fAudioRxLen;
int fAudioTxLen;
int fPayloadSize;
//utility methods
void SetFramesPerPacket();
int SetNetBufferSize();
......
......@@ -233,11 +233,14 @@ namespace Jack
void Reset();
size_t GetSize();
//utility
void DisplayEvents();
//jack<->buffer
int RenderFromJackPorts();
int RenderToJackPorts();
//network<->buffer
int RenderFromNetwork ( int subcycle, size_t copy_size );
int RenderToNetwork ( int subcycle, size_t total_size );
......@@ -258,10 +261,15 @@ namespace Jack
{}
virtual size_t GetSize() = 0;
//jack<->buffer
virtual void RenderFromJackPorts (int subcycle ) = 0;
virtual void RenderToJackPorts ( int cycle, int subcycle) = 0;
virtual void FinishRenderToJackPorts (int cycle) = 0;
//network<->buffer
//int RenderFromNetwork ( int subcycle, size_t copy_size ) = 0;
//int RenderToNetwork ( int subcycle, size_t total_size ) = 0;
virtual void SetBuffer ( int index, sample_t* buffer ) = 0;
virtual sample_t* GetBuffer ( int index ) = 0;
......
......@@ -104,6 +104,16 @@
4BCF75ED10BC2FD90082C526 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
4BCF75EE10BC2FD90082C526 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */; };
4BCF75F710BC30140082C526 /* audio_thru.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4BCF75F610BC30140082C526 /* audio_thru.mm */; };
4BDFCD3D113DB6B700D77992 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
4BDFCD3E113DB6B700D77992 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B9CB1361136CA99007DE01A /* icon.png */; };
4BDFCD4A113DB6B700D77992 /* main_slave.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B0772490F54021B000DC657 /* main_slave.mm */; };
4BDFCD4B113DB6B700D77992 /* iPhoneNetAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B0773850F541EE2000DC657 /* iPhoneNetAppDelegate.m */; };
4BDFCD4D113DB6B700D77992 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF15E2411356A3E00B36B9A /* CAHostTimeBase.cpp */; };
4BDFCD4E113DB6B700D77992 /* TiPhoneCoreAudioRenderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF15F7711357A0E00B36B9A /* TiPhoneCoreAudioRenderer.cpp */; };
4BDFCD50113DB6B700D77992 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
4BDFCD51113DB6B700D77992 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
4BDFCD52113DB6B700D77992 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
4BDFCD53113DB6B700D77992 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.framework */; };
4BF1360F0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; };
4BF136100F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; };
4BF136130F4B0B5E00218A3F /* JackAudioAdapterInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF136120F4B0B5E00218A3F /* JackAudioAdapterInterface.h */; };
......@@ -143,7 +153,7 @@
/* Begin PBXFileReference section */
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D6058910D05DD3D006BFB54 /* iPhoneNetSlave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneNetSlave.app; sourceTree = BUILT_PRODUCTS_DIR; };
1D6058910D05DD3D006BFB54 /* NetJackSlave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NetJackSlave.app; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
......@@ -172,8 +182,11 @@
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 /* iPhoneThruNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneThruNet.app; sourceTree = BUILT_PRODUCTS_DIR; };
4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iPhoneFaustNet.app; sourceTree = BUILT_PRODUCTS_DIR; };
4BCF75F610BC30140082C526 /* audio_thru.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = audio_thru.mm; sourceTree = SOURCE_ROOT; };
4BDFCCD7113DB30500D77992 /* Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info copy.plist"; sourceTree = "<group>"; };
4BDFCD57113DB6B700D77992 /* NetJackSlave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NetJackSlave.app; sourceTree = BUILT_PRODUCTS_DIR; };
4BDFCD59113DB6B700D77992 /* Info copy 2.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info copy 2.plist"; sourceTree = "<group>"; };
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; };
4BF1364B0F4B0F7700218A3F /* JackResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackResampler.cpp; path = ../../common/JackResampler.cpp; sourceTree = SOURCE_ROOT; };
......@@ -249,6 +262,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4BDFCD4F113DB6B700D77992 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4BDFCD50113DB6B700D77992 /* Foundation.framework in Frameworks */,
4BDFCD51113DB6B700D77992 /* UIKit.framework in Frameworks */,
4BDFCD52113DB6B700D77992 /* CoreGraphics.framework in Frameworks */,
4BDFCD53113DB6B700D77992 /* AudioToolbox.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFF456F0F4D5D9700106083 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
......@@ -266,13 +290,14 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* iPhoneNetSlave.app */,
1D6058910D05DD3D006BFB54 /* NetJackSlave.app */,
4BFF45120F4D59DB00106083 /* libjacknet.a */,
4BFF45770F4D5D9700106083 /* iPhoneFaustNet.app */,
4B0772380F54018C000DC657 /* iPhoneNetMaster.app */,
4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */,
4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */,
4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */,
4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */,
4BDFCD57113DB6B700D77992 /* NetJackSlave.app */,
);
name = Products;
sourceTree = "<group>";
......@@ -329,6 +354,8 @@
28AD733E0D9D9553002E5188 /* MainWindow.xib */,
8D1107310486CEB800E47090 /* Info.plist */,
4BC9C1D31135AA1800D22670 /* iPhoneNetMasterAppl-Info.plist */,
4BDFCCD7113DB30500D77992 /* Info copy.plist */,
4BDFCD59113DB6B700D77992 /* Info copy 2.plist */,
);
name = Resources;
sourceTree = "<group>";
......@@ -377,7 +404,7 @@
);
name = iPhoneNetSlave;
productName = iPhoneNet;
productReference = 1D6058910D05DD3D006BFB54 /* iPhoneNetSlave.app */;
productReference = 1D6058910D05DD3D006BFB54 /* NetJackSlave.app */;
productType = "com.apple.product-type.application";
};
4B07721F0F54018C000DC657 /* iPhoneNetMaster */ = {
......@@ -462,7 +489,24 @@
);
name = iPhoneThruNet;
productName = iPhoneNet;
productReference = 4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */;
productReference = 4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */;
productType = "com.apple.product-type.application";
};
4BDFCD3B113DB6B700D77992 /* iPhoneNetSlaveLib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4BDFCD54113DB6B700D77992 /* Build configuration list for PBXNativeTarget "iPhoneNetSlaveLib" */;
buildPhases = (
4BDFCD3C113DB6B700D77992 /* Resources */,
4BDFCD3F113DB6B700D77992 /* Sources */,
4BDFCD4F113DB6B700D77992 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = iPhoneNetSlaveLib;
productName = iPhoneNet;
productReference = 4BDFCD57113DB6B700D77992 /* NetJackSlave.app */;
productType = "com.apple.product-type.application";
};
4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */ = {
......@@ -496,6 +540,7 @@
targets = (
4B07721F0F54018C000DC657 /* iPhoneNetMaster */,
1D6058900D05DD3D006BFB54 /* iPhoneNetSlave */,
4BDFCD3B113DB6B700D77992 /* iPhoneNetSlaveLib */,
4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */,
4BCF75D810BC2FD90082C526 /* iPhoneThruNet */,
4B41469610BD3C4300C12F0C /* iPhoneFaustNet Distribution */,
......@@ -551,6 +596,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4BDFCD3C113DB6B700D77992 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4BDFCD3D113DB6B700D77992 /* MainWindow.xib in Resources */,
4BDFCD3E113DB6B700D77992 /* icon.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFF455F0F4D5D9700106083 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
......@@ -680,6 +734,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4BDFCD3F113DB6B700D77992 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4BDFCD4A113DB6B700D77992 /* main_slave.mm in Sources */,
4BDFCD4B113DB6B700D77992 /* iPhoneNetAppDelegate.m in Sources */,
4BDFCD4D113DB6B700D77992 /* CAHostTimeBase.cpp in Sources */,
4BDFCD4E113DB6B700D77992 /* TiPhoneCoreAudioRenderer.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFF45610F4D5D9700106083 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
......@@ -1003,6 +1068,57 @@
};
name = Release;
};
4BDFCD55113DB6B700D77992 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = iPhoneNet_Prefix.pch;
HEADER_SEARCH_PATHS = (
../../macosx/coreaudio,
../../macosx,
../../posix,
../../common/jack,
../../common,
);
INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\\\"$(SRCROOT)/build/Debug-iphonesimulator\\\"",
);
OTHER_LDFLAGS = "-ljacknet";
PRODUCT_NAME = iPhoneNetSlave;
SDKROOT = iphoneos3.1.3;
};
name = Debug;
};
4BDFCD56113DB6B700D77992 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = iPhoneNet_Prefix.pch;
HEADER_SEARCH_PATHS = (
../../macosx/coreaudio,
../../common/jack,
../../common,
../../posix,
../../macosx,
);
INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\\\"$(SRCROOT)/build/Debug-iphonesimulator\\\"",
);
OTHER_LDFLAGS = "-ljacknet";
PRODUCT_NAME = NetJackSlave;
};
name = Release;
};
4BFF45750F4D5D9700106083 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
......@@ -1136,6 +1252,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4BDFCD54113DB6B700D77992 /* Build configuration list for PBXNativeTarget "iPhoneNetSlaveLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4BDFCD55113DB6B700D77992 /* Debug */,
4BDFCD56113DB6B700D77992 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4BFF45740F4D5D9700106083 /* Build configuration list for PBXNativeTarget "iPhoneFaustNet" */ = {
isa = XCConfigurationList;
buildConfigurations = (
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment