git-svn-id: http://subversion.jackaudio.org/jack/jack2/branches/libjacknet@3936 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
@@ -64,7 +64,6 @@ namespace Jack | |||||
JackNetInterface::JackNetInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip ) : fSocket ( socket ) | JackNetInterface::JackNetInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip ) : fSocket ( socket ) | ||||
{ | { | ||||
jack_log("JackNetInterface ( session_params_t& params...)"); | |||||
fParams = params; | fParams = params; | ||||
strcpy(fMulticastIP, multicast_ip); | strcpy(fMulticastIP, multicast_ip); | ||||
fTxBuffer = NULL; | fTxBuffer = NULL; | ||||
@@ -105,8 +104,6 @@ namespace Jack | |||||
int JackNetInterface::SetNetBufferSize() | int JackNetInterface::SetNetBufferSize() | ||||
{ | { | ||||
jack_log ( "JackNetInterface::SetNetBufferSize" ); | |||||
float audio_size, midi_size; | float audio_size, midi_size; | ||||
int bufsize; | int bufsize; | ||||
//audio | //audio | ||||
@@ -116,7 +113,8 @@ namespace Jack | |||||
fParams.fPeriodSize * sizeof(sample_t) / PACKET_AVAILABLE_SIZE); | fParams.fPeriodSize * sizeof(sample_t) / PACKET_AVAILABLE_SIZE); | ||||
//bufsize = sync + audio + midi | //bufsize = sync + audio + midi | ||||
bufsize = MAX_LATENCY * (fParams.fMtu + ( int ) audio_size + ( int ) midi_size); | 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 | //tx buffer | ||||
if ( fSocket.SetOption ( SOL_SOCKET, SO_SNDBUF, &bufsize, sizeof ( bufsize ) ) == SOCKET_ERROR ) | if ( fSocket.SetOption ( SOL_SOCKET, SO_SNDBUF, &bufsize, sizeof ( bufsize ) ) == SOCKET_ERROR ) | ||||
@@ -167,9 +165,6 @@ namespace Jack | |||||
//number of audio subcycles (packets) | //number of audio subcycles (packets) | ||||
fNSubProcess = fParams.fPeriodSize / fParams.fFramesPerPacket; | fNSubProcess = fParams.fPeriodSize / fParams.fFramesPerPacket; | ||||
//payload size | |||||
fPayloadSize = PACKET_AVAILABLE_SIZE; | |||||
//TX header init | //TX header init | ||||
strcpy ( fTxHeader.fPacketType, "header" ); | strcpy ( fTxHeader.fPacketType, "header" ); | ||||
fTxHeader.fID = fParams.fID; | fTxHeader.fID = fParams.fID; | ||||
@@ -195,8 +190,8 @@ namespace Jack | |||||
assert ( fRxBuffer ); | assert ( fRxBuffer ); | ||||
//net audio/midi buffers'addresses | //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 ************************************************************************************ | // JackNetMasterInterface ************************************************************************************ | ||||
@@ -308,10 +303,6 @@ namespace Jack | |||||
assert ( fNetAudioCaptureBuffer ); | assert ( fNetAudioCaptureBuffer ); | ||||
assert ( fNetAudioPlaybackBuffer ); | assert ( fNetAudioPlaybackBuffer ); | ||||
//audio netbuffer length | |||||
fAudioTxLen = HEADER_SIZE + fNetAudioCaptureBuffer->GetSize(); | |||||
fAudioRxLen = HEADER_SIZE + fNetAudioPlaybackBuffer->GetSize(); | |||||
} | } | ||||
void JackNetMasterInterface::Exit() | void JackNetMasterInterface::Exit() | ||||
@@ -344,7 +335,7 @@ namespace Jack | |||||
if ((( rx_bytes = fSocket.Recv(fRxBuffer, size, flags)) == SOCKET_ERROR) && fRunning) { | if ((( rx_bytes = fSocket.Recv(fRxBuffer, size, flags)) == SOCKET_ERROR) && fRunning) { | ||||
net_error_t error = fSocket.GetError(); | 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) { | if (error == NET_NO_DATA) { | ||||
return 0; | return 0; | ||||
} else if (error == NET_CONN_ERROR) { | } else if (error == NET_CONN_ERROR) { | ||||
@@ -403,6 +394,7 @@ namespace Jack | |||||
fTxHeader.fDataType = 's'; | fTxHeader.fDataType = 's'; | ||||
fTxHeader.fIsLastPckt = ( fParams.fSendMidiChannels == 0 && fParams.fSendAudioChannels == 0) ? 1 : 0; | fTxHeader.fIsLastPckt = ( fParams.fSendMidiChannels == 0 && fParams.fSendAudioChannels == 0) ? 1 : 0; | ||||
fTxHeader.fPacketSize = HEADER_SIZE; | fTxHeader.fPacketSize = HEADER_SIZE; | ||||
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | ||||
return Send(fTxHeader.fPacketSize, 0); | return Send(fTxHeader.fPacketSize, 0); | ||||
} | } | ||||
@@ -438,7 +430,7 @@ namespace Jack | |||||
{ | { | ||||
fTxHeader.fSubCycle = subproc; | fTxHeader.fSubCycle = subproc; | ||||
fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0; | fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0; | ||||
fTxHeader.fPacketSize = fAudioTxLen; | |||||
fTxHeader.fPacketSize = HEADER_SIZE + fNetAudioPlaybackBuffer->GetSize(); | |||||
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | ||||
fNetAudioCaptureBuffer->RenderFromJackPorts(subproc); | fNetAudioCaptureBuffer->RenderFromJackPorts(subproc); | ||||
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | ||||
@@ -514,11 +506,9 @@ namespace Jack | |||||
int JackNetMasterInterface::DataRecv() | int JackNetMasterInterface::DataRecv() | ||||
{ | { | ||||
int rx_bytes = 0; | int rx_bytes = 0; | ||||
uint jumpcnt = 0; | |||||
uint recvd_midi_pckt = 0; | |||||
uint recvd_audio_pckt = 0; | |||||
int last_cycle = 0; | int last_cycle = 0; | ||||
uint recvd_midi_pckt = 0; | |||||
packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer ); | packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer ); | ||||
while ( !fRxHeader.fIsLastPckt ) | while ( !fRxHeader.fIsLastPckt ) | ||||
@@ -526,15 +516,10 @@ namespace Jack | |||||
//how much data is queued on the rx buffer ? | //how much data is queued on the rx buffer ? | ||||
rx_bytes = Recv(HEADER_SIZE, MSG_PEEK); | rx_bytes = Recv(HEADER_SIZE, MSG_PEEK); | ||||
//error here, problem with recv, just skip the cycle (return -1) | |||||
if ( rx_bytes == SOCKET_ERROR ) | if ( rx_bytes == SOCKET_ERROR ) | ||||
return rx_bytes; | 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 ) ) | if ( rx_bytes && ( rx_head->fDataStream == 'r' ) && ( rx_head->fID == fParams.fID ) ) | ||||
{ | { | ||||
//read data | //read data | ||||
@@ -545,21 +530,20 @@ namespace Jack | |||||
fRxHeader.fCycle = rx_head->fCycle; | fRxHeader.fCycle = rx_head->fCycle; | ||||
fRxHeader.fIsLastPckt = rx_head->fIsLastPckt; | fRxHeader.fIsLastPckt = rx_head->fIsLastPckt; | ||||
fNetMidiPlaybackBuffer->RenderFromNetwork(rx_head->fSubCycle, rx_bytes - HEADER_SIZE); | fNetMidiPlaybackBuffer->RenderFromNetwork(rx_head->fSubCycle, rx_bytes - HEADER_SIZE); | ||||
// Last midi packet is received, so finish rendering... | |||||
if ( ++recvd_midi_pckt == rx_head->fNMidiPckt ) | if ( ++recvd_midi_pckt == rx_head->fNMidiPckt ) | ||||
fNetMidiPlaybackBuffer->RenderToJackPorts(); | fNetMidiPlaybackBuffer->RenderToJackPorts(); | ||||
jumpcnt = 0; | |||||
break; | break; | ||||
case 'a': //audio | case 'a': //audio | ||||
rx_bytes = Recv ( rx_head->fPacketSize, 0 ); | 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.fCycle = rx_head->fCycle; | ||||
fRxHeader.fSubCycle = rx_head->fSubCycle; | fRxHeader.fSubCycle = rx_head->fSubCycle; | ||||
fRxHeader.fIsLastPckt = rx_head->fIsLastPckt; | fRxHeader.fIsLastPckt = rx_head->fIsLastPckt; | ||||
fNetAudioPlaybackBuffer->RenderToJackPorts ( rx_head->fCycle, rx_head->fSubCycle); | fNetAudioPlaybackBuffer->RenderToJackPorts ( rx_head->fCycle, rx_head->fSubCycle); | ||||
jumpcnt = 0; | |||||
last_cycle = rx_head->fCycle; | last_cycle = rx_head->fCycle; | ||||
break; | break; | ||||
@@ -581,7 +565,7 @@ namespace Jack | |||||
{ | { | ||||
//this method contains every step of sync packet informations coding | //this method contains every step of sync packet informations coding | ||||
//first of all, reset sync packet | //first of all, reset sync packet | ||||
memset ( fTxData, 0, fPayloadSize ); | |||||
memset ( fTxData, 0, PACKET_AVAILABLE_SIZE ); | |||||
//then, first step : transport | //then, first step : transport | ||||
if (fParams.fTransportSync) { | if (fParams.fTransportSync) { | ||||
@@ -787,6 +771,8 @@ namespace Jack | |||||
//midi net buffers | //midi net buffers | ||||
fNetMidiCaptureBuffer = new NetMidiBuffer ( &fParams, fParams.fSendMidiChannels, fRxData ); | fNetMidiCaptureBuffer = new NetMidiBuffer ( &fParams, fParams.fSendMidiChannels, fRxData ); | ||||
fNetMidiPlaybackBuffer = new NetMidiBuffer ( &fParams, fParams.fReturnMidiChannels, fTxData ); | fNetMidiPlaybackBuffer = new NetMidiBuffer ( &fParams, fParams.fReturnMidiChannels, fTxData ); | ||||
assert ( fNetMidiCaptureBuffer ); | |||||
assert ( fNetMidiPlaybackBuffer ); | |||||
//audio net buffers | //audio net buffers | ||||
fNetAudioCaptureBuffer = new NetSingleAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData ); | fNetAudioCaptureBuffer = new NetSingleAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData ); | ||||
@@ -794,10 +780,9 @@ namespace Jack | |||||
//fNetAudioCaptureBuffer = new NetBufferedAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData ); | //fNetAudioCaptureBuffer = new NetBufferedAudioBuffer ( &fParams, fParams.fSendAudioChannels, fRxData ); | ||||
//fNetAudioPlaybackBuffer = new NetBufferedAudioBuffer ( &fParams, fParams.fReturnAudioChannels, fTxData ); | //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 ) | int JackNetSlaveInterface::Recv ( size_t size, int flags ) | ||||
@@ -866,20 +851,21 @@ namespace Jack | |||||
int JackNetSlaveInterface::DataRecv() | int JackNetSlaveInterface::DataRecv() | ||||
{ | { | ||||
uint recvd_midi_pckt = 0; | |||||
uint recvd_audio_pckt = 0; | |||||
int rx_bytes = 0; | int rx_bytes = 0; | ||||
int last_cycle = 0; | int last_cycle = 0; | ||||
uint recvd_midi_pckt = 0; | |||||
packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer ); | packet_header_t* rx_head = reinterpret_cast<packet_header_t*> ( fRxBuffer ); | ||||
while ( !fRxHeader.fIsLastPckt ) | while ( !fRxHeader.fIsLastPckt ) | ||||
{ | { | ||||
//how much data is queued on the rx buffer ? | |||||
rx_bytes = Recv(HEADER_SIZE, MSG_PEEK); | rx_bytes = Recv(HEADER_SIZE, MSG_PEEK); | ||||
//error here, problem with recv, just skip the cycle (return -1) | //error here, problem with recv, just skip the cycle (return -1) | ||||
if ( rx_bytes == SOCKET_ERROR ) | if ( rx_bytes == SOCKET_ERROR ) | ||||
return rx_bytes; | return rx_bytes; | ||||
if ( rx_bytes && ( rx_head->fDataStream == 's' ) && ( rx_head->fID == fParams.fID ) ) | if ( rx_bytes && ( rx_head->fDataStream == 's' ) && ( rx_head->fID == fParams.fID ) ) | ||||
{ | { | ||||
switch ( rx_head->fDataType ) | switch ( rx_head->fDataType ) | ||||
@@ -896,7 +882,7 @@ namespace Jack | |||||
case 'a': //audio | case 'a': //audio | ||||
rx_bytes = Recv ( rx_head->fPacketSize, 0 ); | 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); | jack_error("Packet(s) missing from '%s'...", fParams.fMasterNetName); | ||||
} | } | ||||
fRxHeader.fCycle = rx_head->fCycle; | fRxHeader.fCycle = rx_head->fCycle; | ||||
@@ -931,7 +917,7 @@ namespace Jack | |||||
} | } | ||||
fTxHeader.fSubCycle = 0; | fTxHeader.fSubCycle = 0; | ||||
fTxHeader.fDataType = 's'; | 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; | fTxHeader.fPacketSize = HEADER_SIZE; | ||||
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | ||||
@@ -943,8 +929,9 @@ namespace Jack | |||||
uint subproc; | uint subproc; | ||||
//midi | //midi | ||||
if ( fParams.fReturnMidiChannels > 0) | |||||
if (fParams.fReturnMidiChannels > 0) | |||||
{ | { | ||||
//set global header fields and get the number of midi packets | |||||
fTxHeader.fDataType = 'm'; | fTxHeader.fDataType = 'm'; | ||||
fTxHeader.fMidiDataSize = fNetMidiPlaybackBuffer->RenderFromJackPorts(); | fTxHeader.fMidiDataSize = fNetMidiPlaybackBuffer->RenderFromJackPorts(); | ||||
fTxHeader.fNMidiPckt = GetNMidiPckt(); | fTxHeader.fNMidiPckt = GetNMidiPckt(); | ||||
@@ -952,7 +939,7 @@ namespace Jack | |||||
{ | { | ||||
fTxHeader.fSubCycle = subproc; | fTxHeader.fSubCycle = subproc; | ||||
fTxHeader.fIsLastPckt = ((subproc == (fTxHeader.fNMidiPckt - 1)) && !fParams.fReturnAudioChannels) ? 1 : 0; | 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); | memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | ||||
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | ||||
return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
@@ -969,7 +956,7 @@ namespace Jack | |||||
{ | { | ||||
fTxHeader.fSubCycle = subproc; | fTxHeader.fSubCycle = subproc; | ||||
fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0; | fTxHeader.fIsLastPckt = (subproc == (fNSubProcess - 1)) ? 1 : 0; | ||||
fTxHeader.fPacketSize = fAudioTxLen; | |||||
fTxHeader.fPacketSize = HEADER_SIZE + fNetAudioCaptureBuffer->GetSize(); | |||||
memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | memcpy(fTxBuffer, &fTxHeader, HEADER_SIZE); | ||||
fNetAudioPlaybackBuffer->RenderFromJackPorts (subproc); | fNetAudioPlaybackBuffer->RenderFromJackPorts (subproc); | ||||
if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | if (Send(fTxHeader.fPacketSize, 0) == SOCKET_ERROR) | ||||
@@ -984,7 +971,7 @@ namespace Jack | |||||
{ | { | ||||
//this method contains every step of sync packet informations coding | //this method contains every step of sync packet informations coding | ||||
//first of all, reset sync packet | //first of all, reset sync packet | ||||
memset ( fTxData, 0, fPayloadSize ); | |||||
memset ( fTxData, 0, PACKET_AVAILABLE_SIZE ); | |||||
//then first step : transport | //then first step : transport | ||||
if (fParams.fTransportSync) { | if (fParams.fTransportSync) { | ||||
EncodeTransportData(); | EncodeTransportData(); | ||||
@@ -57,11 +57,6 @@ namespace Jack | |||||
NetAudioBuffer* fNetAudioCaptureBuffer; | NetAudioBuffer* fNetAudioCaptureBuffer; | ||||
NetAudioBuffer* fNetAudioPlaybackBuffer; | NetAudioBuffer* fNetAudioPlaybackBuffer; | ||||
//sizes | |||||
int fAudioRxLen; | |||||
int fAudioTxLen; | |||||
int fPayloadSize; | |||||
//utility methods | //utility methods | ||||
void SetFramesPerPacket(); | void SetFramesPerPacket(); | ||||
int SetNetBufferSize(); | int SetNetBufferSize(); | ||||
@@ -233,11 +233,14 @@ namespace Jack | |||||
void Reset(); | void Reset(); | ||||
size_t GetSize(); | size_t GetSize(); | ||||
//utility | //utility | ||||
void DisplayEvents(); | void DisplayEvents(); | ||||
//jack<->buffer | //jack<->buffer | ||||
int RenderFromJackPorts(); | int RenderFromJackPorts(); | ||||
int RenderToJackPorts(); | int RenderToJackPorts(); | ||||
//network<->buffer | //network<->buffer | ||||
int RenderFromNetwork ( int subcycle, size_t copy_size ); | int RenderFromNetwork ( int subcycle, size_t copy_size ); | ||||
int RenderToNetwork ( int subcycle, size_t total_size ); | int RenderToNetwork ( int subcycle, size_t total_size ); | ||||
@@ -258,10 +261,15 @@ namespace Jack | |||||
{} | {} | ||||
virtual size_t GetSize() = 0; | virtual size_t GetSize() = 0; | ||||
//jack<->buffer | //jack<->buffer | ||||
virtual void RenderFromJackPorts (int subcycle ) = 0; | virtual void RenderFromJackPorts (int subcycle ) = 0; | ||||
virtual void RenderToJackPorts ( int cycle, int subcycle) = 0; | virtual void RenderToJackPorts ( int cycle, int subcycle) = 0; | ||||
virtual void FinishRenderToJackPorts (int cycle) = 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 void SetBuffer ( int index, sample_t* buffer ) = 0; | ||||
virtual sample_t* GetBuffer ( int index ) = 0; | virtual sample_t* GetBuffer ( int index ) = 0; | ||||
@@ -104,6 +104,16 @@ | |||||
4BCF75ED10BC2FD90082C526 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; | 4BCF75ED10BC2FD90082C526 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; | ||||
4BCF75EE10BC2FD90082C526 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1A95750F49CEAB00D3626B /* AudioToolbox.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 */; }; | 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 */; }; | 4BF1360F0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1360E0F4B0B4C00218A3F /* JackAudioAdapterInterface.cpp */; }; | ||||
4BF136100F4B0B4C00218A3F /* 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 */; }; | 4BF136130F4B0B5E00218A3F /* JackAudioAdapterInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF136120F4B0B5E00218A3F /* JackAudioAdapterInterface.h */; }; | ||||
@@ -143,7 +153,7 @@ | |||||
/* Begin PBXFileReference section */ | /* Begin PBXFileReference section */ | ||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; | 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; }; | 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; }; | 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>"; }; | 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; }; | 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; }; | 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; }; | 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; }; | 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; }; | 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; }; | 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; }; | 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; | 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 */ = { | 4BFF456F0F4D5D9700106083 /* Frameworks */ = { | ||||
isa = PBXFrameworksBuildPhase; | isa = PBXFrameworksBuildPhase; | ||||
buildActionMask = 2147483647; | buildActionMask = 2147483647; | ||||
@@ -266,13 +290,14 @@ | |||||
19C28FACFE9D520D11CA2CBB /* Products */ = { | 19C28FACFE9D520D11CA2CBB /* Products */ = { | ||||
isa = PBXGroup; | isa = PBXGroup; | ||||
children = ( | children = ( | ||||
1D6058910D05DD3D006BFB54 /* iPhoneNetSlave.app */, | |||||
1D6058910D05DD3D006BFB54 /* NetJackSlave.app */, | |||||
4BFF45120F4D59DB00106083 /* libjacknet.a */, | 4BFF45120F4D59DB00106083 /* libjacknet.a */, | ||||
4BFF45770F4D5D9700106083 /* iPhoneFaustNet.app */, | 4BFF45770F4D5D9700106083 /* iPhoneFaustNet.app */, | ||||
4B0772380F54018C000DC657 /* iPhoneNetMaster.app */, | 4B0772380F54018C000DC657 /* iPhoneNetMaster.app */, | ||||
4BCF75F210BC2FD90082C526 /* iPhoneThruNet.app */, | |||||
4BCF75F210BC2FD90082C526 /* iPhoneFaustNet.app */, | |||||
4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */, | 4B4146B010BD3C4300C12F0C /* iPhoneFaustNet.app */, | ||||
4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */, | 4BCB37CE112D647C008C7BC1 /* iPhoneFaust.app */, | ||||
4BDFCD57113DB6B700D77992 /* NetJackSlave.app */, | |||||
); | ); | ||||
name = Products; | name = Products; | ||||
sourceTree = "<group>"; | sourceTree = "<group>"; | ||||
@@ -329,6 +354,8 @@ | |||||
28AD733E0D9D9553002E5188 /* MainWindow.xib */, | 28AD733E0D9D9553002E5188 /* MainWindow.xib */, | ||||
8D1107310486CEB800E47090 /* Info.plist */, | 8D1107310486CEB800E47090 /* Info.plist */, | ||||
4BC9C1D31135AA1800D22670 /* iPhoneNetMasterAppl-Info.plist */, | 4BC9C1D31135AA1800D22670 /* iPhoneNetMasterAppl-Info.plist */, | ||||
4BDFCCD7113DB30500D77992 /* Info copy.plist */, | |||||
4BDFCD59113DB6B700D77992 /* Info copy 2.plist */, | |||||
); | ); | ||||
name = Resources; | name = Resources; | ||||
sourceTree = "<group>"; | sourceTree = "<group>"; | ||||
@@ -377,7 +404,7 @@ | |||||
); | ); | ||||
name = iPhoneNetSlave; | name = iPhoneNetSlave; | ||||
productName = iPhoneNet; | productName = iPhoneNet; | ||||
productReference = 1D6058910D05DD3D006BFB54 /* iPhoneNetSlave.app */; | |||||
productReference = 1D6058910D05DD3D006BFB54 /* NetJackSlave.app */; | |||||
productType = "com.apple.product-type.application"; | productType = "com.apple.product-type.application"; | ||||
}; | }; | ||||
4B07721F0F54018C000DC657 /* iPhoneNetMaster */ = { | 4B07721F0F54018C000DC657 /* iPhoneNetMaster */ = { | ||||
@@ -462,7 +489,24 @@ | |||||
); | ); | ||||
name = iPhoneThruNet; | name = iPhoneThruNet; | ||||
productName = iPhoneNet; | 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"; | productType = "com.apple.product-type.application"; | ||||
}; | }; | ||||
4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */ = { | 4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */ = { | ||||
@@ -496,6 +540,7 @@ | |||||
targets = ( | targets = ( | ||||
4B07721F0F54018C000DC657 /* iPhoneNetMaster */, | 4B07721F0F54018C000DC657 /* iPhoneNetMaster */, | ||||
1D6058900D05DD3D006BFB54 /* iPhoneNetSlave */, | 1D6058900D05DD3D006BFB54 /* iPhoneNetSlave */, | ||||
4BDFCD3B113DB6B700D77992 /* iPhoneNetSlaveLib */, | |||||
4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */, | 4BFF455E0F4D5D9700106083 /* iPhoneFaustNet */, | ||||
4BCF75D810BC2FD90082C526 /* iPhoneThruNet */, | 4BCF75D810BC2FD90082C526 /* iPhoneThruNet */, | ||||
4B41469610BD3C4300C12F0C /* iPhoneFaustNet Distribution */, | 4B41469610BD3C4300C12F0C /* iPhoneFaustNet Distribution */, | ||||
@@ -551,6 +596,15 @@ | |||||
); | ); | ||||
runOnlyForDeploymentPostprocessing = 0; | runOnlyForDeploymentPostprocessing = 0; | ||||
}; | }; | ||||
4BDFCD3C113DB6B700D77992 /* Resources */ = { | |||||
isa = PBXResourcesBuildPhase; | |||||
buildActionMask = 2147483647; | |||||
files = ( | |||||
4BDFCD3D113DB6B700D77992 /* MainWindow.xib in Resources */, | |||||
4BDFCD3E113DB6B700D77992 /* icon.png in Resources */, | |||||
); | |||||
runOnlyForDeploymentPostprocessing = 0; | |||||
}; | |||||
4BFF455F0F4D5D9700106083 /* Resources */ = { | 4BFF455F0F4D5D9700106083 /* Resources */ = { | ||||
isa = PBXResourcesBuildPhase; | isa = PBXResourcesBuildPhase; | ||||
buildActionMask = 2147483647; | buildActionMask = 2147483647; | ||||
@@ -680,6 +734,17 @@ | |||||
); | ); | ||||
runOnlyForDeploymentPostprocessing = 0; | 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 */ = { | 4BFF45610F4D5D9700106083 /* Sources */ = { | ||||
isa = PBXSourcesBuildPhase; | isa = PBXSourcesBuildPhase; | ||||
buildActionMask = 2147483647; | buildActionMask = 2147483647; | ||||
@@ -1003,6 +1068,57 @@ | |||||
}; | }; | ||||
name = Release; | 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 */ = { | 4BFF45750F4D5D9700106083 /* Debug */ = { | ||||
isa = XCBuildConfiguration; | isa = XCBuildConfiguration; | ||||
buildSettings = { | buildSettings = { | ||||
@@ -1136,6 +1252,15 @@ | |||||
defaultConfigurationIsVisible = 0; | defaultConfigurationIsVisible = 0; | ||||
defaultConfigurationName = Release; | 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" */ = { | 4BFF45740F4D5D9700106083 /* Build configuration list for PBXNativeTarget "iPhoneFaustNet" */ = { | ||||
isa = XCConfigurationList; | isa = XCConfigurationList; | ||||
buildConfigurations = ( | buildConfigurations = ( | ||||