diff --git a/common/JackAudioAdapter.cpp b/common/JackAudioAdapter.cpp index 270bcc4a..7993dac4 100644 --- a/common/JackAudioAdapter.cpp +++ b/common/JackAudioAdapter.cpp @@ -143,8 +143,10 @@ namespace Jack for (i = 0; i < fPlaybackChannels; i++) fPlaybackRingBuffer[i] = new JackLibSampleRateResampler(); fAudioAdapter->SetRingBuffers(fCaptureRingBuffer, fPlaybackRingBuffer); - jack_log("ReadSpace = %ld", fCaptureRingBuffer[0]->ReadSpace()); - jack_log("WriteSpace = %ld", fPlaybackRingBuffer[0]->WriteSpace()); + if ( fCaptureChannels ) + jack_log("ReadSpace = %ld", fCaptureRingBuffer[0]->ReadSpace()); + if ( fPlaybackChannels ) + jack_log("WriteSpace = %ld", fPlaybackRingBuffer[0]->WriteSpace()); //jack ports fCapturePortList = new jack_port_t* [fCaptureChannels]; diff --git a/common/JackNetAdapter.cpp b/common/JackNetAdapter.cpp index 9a0d23d8..629ec62b 100644 --- a/common/JackNetAdapter.cpp +++ b/common/JackNetAdapter.cpp @@ -47,7 +47,7 @@ namespace Jack fParams.fReturnMidiChannels = 0; fParams.fSampleRate = 48000; fParams.fPeriodSize = 128; - fParams.fSlaveSyncMode = 0; + fParams.fSlaveSyncMode = 1; fParams.fNetworkMode = 'n'; //options parsing @@ -136,6 +136,7 @@ namespace Jack } fThread.AcquireRealTime(85); + return fThread.StartSync(); } @@ -159,6 +160,8 @@ namespace Jack bool JackNetAdapter::Execute() { + //the sync mode is the equivalent of driver sync mode : data are sent back right after being computed + //TODO : verify async mode is appropriate here, because of the ringbuffer usage switch ( fParams.fSlaveSyncMode ) { case true : @@ -203,6 +206,9 @@ namespace Jack if ( SyncSend() == SOCKET_ERROR ) return false; + if ( DataSend() == SOCKET_ERROR ) + return false; + if ( failure ) { jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); @@ -228,6 +234,9 @@ namespace Jack if ( SyncSend() == SOCKET_ERROR ) return false; + if ( DataSend() == SOCKET_ERROR ) + return false; + if ( failure ) { jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); diff --git a/common/JackNetDriver.cpp b/common/JackNetDriver.cpp index 6276c7a6..259497ae 100644 --- a/common/JackNetDriver.cpp +++ b/common/JackNetDriver.cpp @@ -25,7 +25,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackDriverLoader.h" #include "JackThreadedDriver.h" #include "JackWaitThreadedDriver.h" -#include "JackException.h" #define DEFAULT_MULTICAST_IP "225.3.19.154" #define DEFAULT_PORT 19000 diff --git a/common/JackNetSlaveInterface.cpp b/common/JackNetSlaveInterface.cpp index 6109235a..12ec592b 100644 --- a/common/JackNetSlaveInterface.cpp +++ b/common/JackNetSlaveInterface.cpp @@ -19,9 +19,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackNetSlaveInterface.h" -#include "JackEngineControl.h" -#include "JackClientControl.h" -#include "JackGraphManager.h" #include "JackException.h" #define DEFAULT_MULTICAST_IP "225.3.19.154" @@ -65,7 +62,7 @@ namespace Jack do { //first, get a master, do it until a valid connection is running - jack_info ( "Initializing Net Driver..." ); + jack_info ( "Initializing Net Slave..." ); do { status = GetNetMaster(); diff --git a/common/JackNetTool.h b/common/JackNetTool.h index b0c77e00..a5545d90 100644 --- a/common/JackNetTool.h +++ b/common/JackNetTool.h @@ -70,7 +70,7 @@ namespace Jack uint32_t fPeriodSize; //period size uint32_t fFramesPerPacket; //complete frames per packet uint32_t fBitdepth; //samples bitdepth (unused) - uint32_t fSlaveSyncMode; //is the slave in sync mode ? + uint32_t fSlaveSyncMode; //is the slave in sync mode ? char fNetworkMode; //fast or slow mode }; diff --git a/windows/jack_netadapter.cbp b/windows/jack_netadapter.cbp index 0ce92c5c..88b1a3ab 100644 --- a/windows/jack_netadapter.cbp +++ b/windows/jack_netadapter.cbp @@ -128,6 +128,9 @@ + + diff --git a/windows/jackdmp.workspace b/windows/jackdmp.workspace index 9938bff0..b6198dbd 100644 --- a/windows/jackdmp.workspace +++ b/windows/jackdmp.workspace @@ -1,7 +1,7 @@ - + @@ -16,7 +16,7 @@ - +