git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2807 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
@@ -238,6 +238,7 @@ namespace Jack | |||
} | |||
port = fGraphManager->GetPort ( port_id ); | |||
port->SetAlias ( alias ); | |||
//port latency | |||
port->SetLatency ( fEngineControl->fBufferSize ); | |||
fCapturePortList[audio_port_index] = port_id; | |||
jack_log ( "JackNetDriver::AllocPorts() fCapturePortList[%d] audio_port_index = %ld fPortLatency = %ld", audio_port_index, port_id, port->GetLatency() ); | |||
@@ -255,7 +256,19 @@ namespace Jack | |||
} | |||
port = fGraphManager->GetPort ( port_id ); | |||
port->SetAlias ( alias ); | |||
port->SetLatency ( ( fParams.fNetworkMode == 'f' ) ? 0 : fEngineControl->fBufferSize + ( ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ) ); | |||
//port latency | |||
switch ( fParams.fNetworkMode ) | |||
{ | |||
case 'f' : | |||
port->SetLatency ( ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ); | |||
break; | |||
case 'n' : | |||
port->SetLatency ( fEngineControl->fBufferSize + ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ); | |||
break; | |||
case 's' : | |||
port->SetLatency ( 2 * fEngineControl->fBufferSize + ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ); | |||
break; | |||
} | |||
fPlaybackPortList[audio_port_index] = port_id; | |||
jack_log ( "JackNetDriver::AllocPorts() fPlaybackPortList[%d] audio_port_index = %ld fPortLatency = %ld", audio_port_index, port_id, port->GetLatency() ); | |||
} | |||
@@ -272,6 +285,7 @@ namespace Jack | |||
return -1; | |||
} | |||
port = fGraphManager->GetPort ( port_id ); | |||
//port latency | |||
port->SetLatency ( fEngineControl->fBufferSize ); | |||
fMidiCapturePortList[midi_port_index] = port_id; | |||
jack_log ( "JackNetDriver::AllocPorts() fMidiCapturePortList[%d] midi_port_index = %ld fPortLatency = %ld", midi_port_index, port_id, port->GetLatency() ); | |||
@@ -289,7 +303,19 @@ namespace Jack | |||
return -1; | |||
} | |||
port = fGraphManager->GetPort ( port_id ); | |||
port->SetLatency ( ( fParams.fNetworkMode == 'f' ) ? 0 : fEngineControl->fBufferSize + ( ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ) ); | |||
//port latency | |||
switch ( fParams.fNetworkMode ) | |||
{ | |||
case 'f' : | |||
port->SetLatency ( ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ); | |||
break; | |||
case 'n' : | |||
port->SetLatency ( fEngineControl->fBufferSize + ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ) ; | |||
break; | |||
case 's' : | |||
port->SetLatency ( 2 * fEngineControl->fBufferSize + ( fEngineControl->fSyncMode ) ? 0 : fEngineControl->fBufferSize ); | |||
break; | |||
} | |||
fMidiPlaybackPortList[midi_port_index] = port_id; | |||
jack_log ( "JackNetDriver::AllocPorts() fMidiPlaybackPortList[%d] midi_port_index = %ld fPortLatency = %ld", midi_port_index, port_id, port->GetLatency() ); | |||
} | |||
@@ -395,7 +421,7 @@ namespace Jack | |||
//is it a new state (that the master need to know...) ? | |||
fReturnTransportData.fNewState = ( ( fReturnTransportData.fState != fLastTransportState ) && | |||
( fReturnTransportData.fState != fSendTransportData.fState ) ); | |||
( fReturnTransportData.fState != fSendTransportData.fState ) ); | |||
if ( fReturnTransportData.fNewState ) | |||
jack_info ( "Sending '%s'.", GetTransportState ( fReturnTransportData.fState ) ); | |||
fLastTransportState = fReturnTransportData.fState; | |||
@@ -175,6 +175,7 @@ namespace Jack | |||
sprintf ( name, "to_slave_%d", i+1 ); | |||
if ( ( fAudioCapturePorts[i] = jack_port_register ( fJackClient, name, JACK_DEFAULT_AUDIO_TYPE, port_flags, 0 ) ) == NULL ) | |||
return -1; | |||
//port latency | |||
jack_port_set_latency ( fAudioCapturePorts[i], 0 ); | |||
} | |||
port_flags = JackPortIsOutput | JackPortIsPhysical | JackPortIsTerminal; | |||
@@ -183,7 +184,19 @@ namespace Jack | |||
sprintf ( name, "from_slave_%d", i+1 ); | |||
if ( ( fAudioPlaybackPorts[i] = jack_port_register ( fJackClient, name, JACK_DEFAULT_AUDIO_TYPE, port_flags, 0 ) ) == NULL ) | |||
return -1; | |||
jack_port_set_latency ( fAudioPlaybackPorts[i], ( fParams.fNetworkMode == 'f' ) ? 0 : port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
//port latency | |||
switch ( fParams.fNetworkMode ) | |||
{ | |||
case 'f' : | |||
jack_port_set_latency ( fAudioPlaybackPorts[i], ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
case 'n' : | |||
jack_port_set_latency ( fAudioPlaybackPorts[i], port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
case 's' : | |||
jack_port_set_latency ( fAudioPlaybackPorts[i], 2 * port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
} | |||
} | |||
//midi | |||
port_flags = JackPortIsInput | JackPortIsPhysical | JackPortIsTerminal; | |||
@@ -192,6 +205,7 @@ namespace Jack | |||
sprintf ( name, "midi_to_slave_%d", i+1 ); | |||
if ( ( fMidiCapturePorts[i] = jack_port_register ( fJackClient, name, JACK_DEFAULT_MIDI_TYPE, port_flags, 0 ) ) == NULL ) | |||
return -1; | |||
//port latency | |||
jack_port_set_latency ( fMidiCapturePorts[i], 0 ); | |||
} | |||
port_flags = JackPortIsOutput | JackPortIsPhysical | JackPortIsTerminal; | |||
@@ -200,7 +214,19 @@ namespace Jack | |||
sprintf ( name, "midi_from_slave_%d", i+1 ); | |||
if ( ( fMidiPlaybackPorts[i] = jack_port_register ( fJackClient, name, JACK_DEFAULT_MIDI_TYPE, port_flags, 0 ) ) == NULL ) | |||
return -1; | |||
jack_port_set_latency ( fMidiPlaybackPorts[i], ( fParams.fNetworkMode == 'f' ) ? 0 : port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
//port latency | |||
switch ( fParams.fNetworkMode ) | |||
{ | |||
case 'f' : | |||
jack_port_set_latency ( fMidiPlaybackPorts[i], ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
case 'n' : | |||
jack_port_set_latency ( fMidiPlaybackPorts[i], port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
case 's' : | |||
jack_port_set_latency ( fMidiPlaybackPorts[i], 2 * port_latency + ( fParams.fSlaveSyncMode ) ? 0 : port_latency ); | |||
break; | |||
} | |||
} | |||
return 0; | |||
} | |||
@@ -236,7 +262,7 @@ namespace Jack | |||
//is it a new state ? | |||
fSendTransportData.fNewState = ( ( fSendTransportData.fState != fLastTransportState ) && | |||
( fSendTransportData.fState != fReturnTransportData.fState ) ); | |||
( fSendTransportData.fState != fReturnTransportData.fState ) ); | |||
if ( fSendTransportData.fNewState ) | |||
jack_info ( "Sending '%s' to '%s'.", GetTransportState ( fSendTransportData.fState ), fParams.fName ); | |||
fLastTransportState = fSendTransportData.fState; | |||
@@ -340,8 +340,7 @@ namespace Jack { | |||
//valid option | |||
if ( ( param_id = options_list.find_first_of ( fArgv[param].at(1) ) ) != string::npos ) | |||
{ | |||
//TODO : find if (and where) it's correctly deleted... | |||
intclient_param = new jack_driver_param_t; | |||
intclient_param = static_cast<jack_driver_param_t*> ( calloc ( 1, sizeof ( jack_driver_param_t) ) ); | |||
intclient_param->character = desc->params[param_id].character; | |||
switch ( desc->params[param_id].type ) | |||