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 | 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> | 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> | 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> | 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> | 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> | 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. | * Fix control.h for proper compilation on Solaris. | ||||
| 2009-07-17 Stephane Letz <letz@grame.fr> | 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. | * -L parameter for loopback backend activated again in jackd. | ||||
| 2009-07-17 Stephane Letz <letz@grame.fr> | 2009-07-17 Stephane Letz <letz@grame.fr> | ||||
| * Big rewrite of Solaris boomer driver, seems to work in duplex mode at least. | * Big rewrite of Solaris boomer driver, seems to work in duplex mode at least. | ||||
| @@ -53,6 +53,7 @@ namespace Jack | |||||
| fMidiPlaybackPortList = NULL; | fMidiPlaybackPortList = NULL; | ||||
| #ifdef JACK_MONITOR | #ifdef JACK_MONITOR | ||||
| fNetTimeMon = NULL; | fNetTimeMon = NULL; | ||||
| fRcvSyncUst = 0; | |||||
| #endif | #endif | ||||
| } | } | ||||
| @@ -481,22 +482,27 @@ namespace Jack | |||||
| if ( SyncRecv() == SOCKET_ERROR ) | if ( SyncRecv() == SOCKET_ERROR ) | ||||
| return 0; | return 0; | ||||
| //take the time at the beginning of the cycle | |||||
| JackDriver::CycleTakeBeginTime(); | |||||
| #ifdef JACK_MONITOR | |||||
| // For timing | |||||
| fRcvSyncUst = GetMicroSeconds(); | |||||
| #endif | |||||
| //decode sync | //decode sync | ||||
| //if there is an error, don't return -1, it will skip Write() and the network error probably won't be identified | //if there is an error, don't return -1, it will skip Write() and the network error probably won't be identified | ||||
| DecodeSyncPacket(); | DecodeSyncPacket(); | ||||
| #ifdef JACK_MONITOR | #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 | #endif | ||||
| //audio, midi or sync if driver is late | //audio, midi or sync if driver is late | ||||
| if ( DataRecv() == SOCKET_ERROR ) | if ( DataRecv() == SOCKET_ERROR ) | ||||
| return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
| //take the time at the beginning of the cycle | |||||
| JackDriver::CycleTakeBeginTime(); | |||||
| #ifdef JACK_MONITOR | #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 | #endif | ||||
| return 0; | return 0; | ||||
| @@ -514,7 +520,7 @@ namespace Jack | |||||
| fNetAudioPlaybackBuffer->SetBuffer ( audio_port_index, GetOutputBuffer ( audio_port_index ) ); | fNetAudioPlaybackBuffer->SetBuffer ( audio_port_index, GetOutputBuffer ( audio_port_index ) ); | ||||
| #ifdef JACK_MONITOR | #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 | #endif | ||||
| //sync | //sync | ||||
| @@ -525,7 +531,7 @@ namespace Jack | |||||
| return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
| #ifdef JACK_MONITOR | #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 | #endif | ||||
| //send data | //send data | ||||
| @@ -533,7 +539,7 @@ namespace Jack | |||||
| return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
| #ifdef JACK_MONITOR | #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 | #endif | ||||
| return 0; | return 0; | ||||
| @@ -40,15 +40,16 @@ namespace Jack | |||||
| //jack data | //jack data | ||||
| jack_port_id_t* fMidiCapturePortList; | jack_port_id_t* fMidiCapturePortList; | ||||
| jack_port_id_t* fMidiPlaybackPortList; | jack_port_id_t* fMidiPlaybackPortList; | ||||
| //transport | //transport | ||||
| int fLastTransportState; | int fLastTransportState; | ||||
| int fLastTimebaseMaster; | int fLastTimebaseMaster; | ||||
| //monitoring | //monitoring | ||||
| #ifdef JACK_MONITOR | |||||
| #ifdef JACK_MONITOR | |||||
| JackGnuPlotMonitor<float>* fNetTimeMon; | JackGnuPlotMonitor<float>* fNetTimeMon; | ||||
| #endif | |||||
| jack_time_t fRcvSyncUst; | |||||
| #endif | |||||
| bool Initialize(); | bool Initialize(); | ||||
| void FreeAll(); | void FreeAll(); | ||||