git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3643 0c269be4-1314-0410-8aa9-9f06e86f4224tags/v1.9.4
@@ -23,37 +23,40 @@ Paul Davis | |||
--------------------------- | |||
Jackdmp changes log | |||
--------------------------- | |||
--------------------------- | |||
2009-09-15 Stephane Letz <letz@grame.fr> | |||
* Correct CPU timing in JackNetDriver, now take cycle begin time after Read. | |||
2009-08-28 Stephane Letz <letz@grame.fr> | |||
* Correct monitor port naming in JackAudioDriver and JackCoreAudioDriver. | |||
* Big endian bug fix in memops.c (http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=11_be24bit.patch;att=1;bug=486308) | |||
* Correct monitor port naming in JackAudioDriver and JackCoreAudioDriver. | |||
* Big endian bug fix in memops.c (http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=11_be24bit.patch;att=1;bug=486308) | |||
2009-07-31 Stephane Letz <letz@grame.fr> | |||
* Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend. | |||
* Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend. | |||
2009-07-29 Stephane Letz <letz@grame.fr> | |||
* Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period). | |||
* Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period). | |||
2009-07-28 Stephane Letz <letz@grame.fr> | |||
* Fix CopyAndConvertIn for Solaris backends. | |||
* Fix CopyAndConvertIn for Solaris backends. | |||
2009-07-22 Stephane Letz <letz@grame.fr> | |||
* Version 1.9.4 started. | |||
* Solaris boomer backend now working in capture or playback only mode. | |||
* Version 1.9.4 started. | |||
* Solaris boomer backend now working in capture or playback only mode. | |||
* Fix control.h for proper compilation on Solaris. | |||
2009-07-17 Stephane Letz <letz@grame.fr> | |||
* Loopback backend reborn as a dynamically loadable separated backend. | |||
* Loopback backend reborn as a dynamically loadable separated backend. | |||
* -L parameter for loopback backend activated again in jackd. | |||
2009-07-17 Stephane Letz <letz@grame.fr> | |||
* Big rewrite of Solaris boomer driver, seems to work in duplex mode at least. | |||
@@ -53,6 +53,7 @@ namespace Jack | |||
fMidiPlaybackPortList = NULL; | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon = NULL; | |||
fRcvSyncUst = 0; | |||
#endif | |||
} | |||
@@ -481,22 +482,27 @@ namespace Jack | |||
if ( SyncRecv() == SOCKET_ERROR ) | |||
return 0; | |||
//take the time at the beginning of the cycle | |||
JackDriver::CycleTakeBeginTime(); | |||
#ifdef JACK_MONITOR | |||
// For timing | |||
fRcvSyncUst = GetMicroSeconds(); | |||
#endif | |||
//decode sync | |||
//if there is an error, don't return -1, it will skip Write() and the network error probably won't be identified | |||
DecodeSyncPacket(); | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - fRcvSyncUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
#endif | |||
//audio, midi or sync if driver is late | |||
if ( DataRecv() == SOCKET_ERROR ) | |||
return SOCKET_ERROR; | |||
//take the time at the beginning of the cycle | |||
JackDriver::CycleTakeBeginTime(); | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - fRcvSyncUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
#endif | |||
return 0; | |||
@@ -514,7 +520,7 @@ namespace Jack | |||
fNetAudioPlaybackBuffer->SetBuffer ( audio_port_index, GetOutputBuffer ( audio_port_index ) ); | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - fRcvSyncUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
#endif | |||
//sync | |||
@@ -525,7 +531,7 @@ namespace Jack | |||
return SOCKET_ERROR; | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - fRcvSyncUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
#endif | |||
//send data | |||
@@ -533,7 +539,7 @@ namespace Jack | |||
return SOCKET_ERROR; | |||
#ifdef JACK_MONITOR | |||
fNetTimeMon->AddLast ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
fNetTimeMon->AddLast ( ( ( float ) ( GetMicroSeconds() - fRcvSyncUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); | |||
#endif | |||
return 0; | |||
@@ -40,15 +40,16 @@ namespace Jack | |||
//jack data | |||
jack_port_id_t* fMidiCapturePortList; | |||
jack_port_id_t* fMidiPlaybackPortList; | |||
//transport | |||
int fLastTransportState; | |||
int fLastTimebaseMaster; | |||
//monitoring | |||
#ifdef JACK_MONITOR | |||
#ifdef JACK_MONITOR | |||
JackGnuPlotMonitor<float>* fNetTimeMon; | |||
#endif | |||
jack_time_t fRcvSyncUst; | |||
#endif | |||
bool Initialize(); | |||
void FreeAll(); | |||