git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2772 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
@@ -143,8 +143,10 @@ namespace Jack | |||||
for (i = 0; i < fPlaybackChannels; i++) | for (i = 0; i < fPlaybackChannels; i++) | ||||
fPlaybackRingBuffer[i] = new JackLibSampleRateResampler(); | fPlaybackRingBuffer[i] = new JackLibSampleRateResampler(); | ||||
fAudioAdapter->SetRingBuffers(fCaptureRingBuffer, fPlaybackRingBuffer); | 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 | //jack ports | ||||
fCapturePortList = new jack_port_t* [fCaptureChannels]; | fCapturePortList = new jack_port_t* [fCaptureChannels]; | ||||
@@ -47,7 +47,7 @@ namespace Jack | |||||
fParams.fReturnMidiChannels = 0; | fParams.fReturnMidiChannels = 0; | ||||
fParams.fSampleRate = 48000; | fParams.fSampleRate = 48000; | ||||
fParams.fPeriodSize = 128; | fParams.fPeriodSize = 128; | ||||
fParams.fSlaveSyncMode = 0; | |||||
fParams.fSlaveSyncMode = 1; | |||||
fParams.fNetworkMode = 'n'; | fParams.fNetworkMode = 'n'; | ||||
//options parsing | //options parsing | ||||
@@ -136,6 +136,7 @@ namespace Jack | |||||
} | } | ||||
fThread.AcquireRealTime(85); | fThread.AcquireRealTime(85); | ||||
return fThread.StartSync(); | return fThread.StartSync(); | ||||
} | } | ||||
@@ -159,6 +160,8 @@ namespace Jack | |||||
bool JackNetAdapter::Execute() | 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 ) | switch ( fParams.fSlaveSyncMode ) | ||||
{ | { | ||||
case true : | case true : | ||||
@@ -203,6 +206,9 @@ namespace Jack | |||||
if ( SyncSend() == SOCKET_ERROR ) | if ( SyncSend() == SOCKET_ERROR ) | ||||
return false; | return false; | ||||
if ( DataSend() == SOCKET_ERROR ) | |||||
return false; | |||||
if ( failure ) | if ( failure ) | ||||
{ | { | ||||
jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); | jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); | ||||
@@ -228,6 +234,9 @@ namespace Jack | |||||
if ( SyncSend() == SOCKET_ERROR ) | if ( SyncSend() == SOCKET_ERROR ) | ||||
return false; | return false; | ||||
if ( DataSend() == SOCKET_ERROR ) | |||||
return false; | |||||
if ( failure ) | if ( failure ) | ||||
{ | { | ||||
jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); | jack_error ( "JackNetAdapter::Execute ringbuffer failure...reset." ); | ||||
@@ -25,7 +25,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||||
#include "JackDriverLoader.h" | #include "JackDriverLoader.h" | ||||
#include "JackThreadedDriver.h" | #include "JackThreadedDriver.h" | ||||
#include "JackWaitThreadedDriver.h" | #include "JackWaitThreadedDriver.h" | ||||
#include "JackException.h" | |||||
#define DEFAULT_MULTICAST_IP "225.3.19.154" | #define DEFAULT_MULTICAST_IP "225.3.19.154" | ||||
#define DEFAULT_PORT 19000 | #define DEFAULT_PORT 19000 | ||||
@@ -19,9 +19,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||||
*/ | */ | ||||
#include "JackNetSlaveInterface.h" | #include "JackNetSlaveInterface.h" | ||||
#include "JackEngineControl.h" | |||||
#include "JackClientControl.h" | |||||
#include "JackGraphManager.h" | |||||
#include "JackException.h" | #include "JackException.h" | ||||
#define DEFAULT_MULTICAST_IP "225.3.19.154" | #define DEFAULT_MULTICAST_IP "225.3.19.154" | ||||
@@ -65,7 +62,7 @@ namespace Jack | |||||
do | do | ||||
{ | { | ||||
//first, get a master, do it until a valid connection is running | //first, get a master, do it until a valid connection is running | ||||
jack_info ( "Initializing Net Driver..." ); | |||||
jack_info ( "Initializing Net Slave..." ); | |||||
do | do | ||||
{ | { | ||||
status = GetNetMaster(); | status = GetNetMaster(); | ||||
@@ -70,7 +70,7 @@ namespace Jack | |||||
uint32_t fPeriodSize; //period size | uint32_t fPeriodSize; //period size | ||||
uint32_t fFramesPerPacket; //complete frames per packet | uint32_t fFramesPerPacket; //complete frames per packet | ||||
uint32_t fBitdepth; //samples bitdepth (unused) | 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 | char fNetworkMode; //fast or slow mode | ||||
}; | }; | ||||
@@ -128,6 +128,9 @@ | |||||
<Unit filename="..\common\JackLibSampleRateResampler.cpp" /> | <Unit filename="..\common\JackLibSampleRateResampler.cpp" /> | ||||
<Unit filename="..\common\JackNetAdapter.cpp" /> | <Unit filename="..\common\JackNetAdapter.cpp" /> | ||||
<Unit filename="..\common\JackResampler.cpp" /> | <Unit filename="..\common\JackResampler.cpp" /> | ||||
<Unit filename="jacknetadapter.rc"> | |||||
<Option compilerVar="WINDRES" /> | |||||
</Unit> | |||||
<Extensions> | <Extensions> | ||||
<AutoVersioning> | <AutoVersioning> | ||||
<Scheme minor_max="10" build_max="0" rev_max="0" rev_rand_max="10" build_times_to_increment_minor="100" /> | <Scheme minor_max="10" build_max="0" rev_max="0" rev_rand_max="10" build_times_to_increment_minor="100" /> | ||||
@@ -1,7 +1,7 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | ||||
<CodeBlocks_workspace_file> | <CodeBlocks_workspace_file> | ||||
<Workspace title="jackdmp workspace"> | <Workspace title="jackdmp workspace"> | ||||
<Project filename="libjackservermp.cbp" /> | |||||
<Project filename="libjackservermp.cbp" active="1" /> | |||||
<Project filename="libjackmp.cbp" /> | <Project filename="libjackmp.cbp" /> | ||||
<Project filename="jackdmp.cbp"> | <Project filename="jackdmp.cbp"> | ||||
<Depends filename="libjackservermp.cbp" /> | <Depends filename="libjackservermp.cbp" /> | ||||
@@ -16,7 +16,7 @@ | |||||
<Project filename="jack_netdriver.cbp"> | <Project filename="jack_netdriver.cbp"> | ||||
<Depends filename="libjackservermp.cbp" /> | <Depends filename="libjackservermp.cbp" /> | ||||
</Project> | </Project> | ||||
<Project filename="jack_netadapter.cbp" active="1"> | |||||
<Project filename="jack_netadapter.cbp"> | |||||
<Depends filename="libjackservermp.cbp" /> | <Depends filename="libjackservermp.cbp" /> | ||||
</Project> | </Project> | ||||
<Project filename="jack_netmanager.cbp"> | <Project filename="jack_netmanager.cbp"> | ||||