From fcc37a9fe6418fdc4d46f95e67ccf51278fe53a0 Mon Sep 17 00:00:00 2001 From: moret Date: Sat, 2 Aug 2008 17:09:52 +0000 Subject: [PATCH] Cleanup git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2766 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackNetDriver.cpp | 34 ++++++++++++++++------------------ common/JackNetDriver.h | 4 +--- common/JackNetManager.cpp | 13 +++++-------- common/JackNetManager.h | 2 -- common/JackTools.h | 31 +++++++++++++++++++++++++++++-- 5 files changed, 51 insertions(+), 33 deletions(-) diff --git a/common/JackNetDriver.cpp b/common/JackNetDriver.cpp index 9e8502ce..08709b5d 100644 --- a/common/JackNetDriver.cpp +++ b/common/JackNetDriver.cpp @@ -52,7 +52,7 @@ namespace Jack fParams.fNetworkMode = network_mode; #ifdef JACK_MONITOR fNetTimeMon = NULL; - fNetTimeMeasure = NULL; + fCycleTimeMon = NULL; #endif } @@ -70,8 +70,8 @@ namespace Jack delete[] fMidiCapturePortList; delete[] fMidiPlaybackPortList; #ifdef JACK_MONITOR - delete[] fNetTimeMeasure; delete fNetTimeMon; + delete fCycleTimeMon; #endif } @@ -259,8 +259,6 @@ namespace Jack delete[] fMidiPlaybackPortList; fMidiPlaybackPortList = NULL; #ifdef JACK_MONITOR - delete[] fNetTimeMeasure; - fNetTimeMeasure = NULL; delete fNetTimeMon; fNetTimeMon = NULL; delete fCycleTimeMon; @@ -336,9 +334,8 @@ namespace Jack plot_name = string ( fParams.fName ); plot_name += string ( "_slave" ); plot_name += ( fEngineControl->fSyncMode ) ? string ( "_sync" ) : string ( "_async" ); - plot_name += ( fParams.fNetworkMode == 'f' ) ? string ( "_fast-network" ) : string ( "" ); + plot_name += ( fParams.fNetworkMode == 'f' ) ? string ( "_fast" ) : string ( "_normal" ); fNetTimeMon = new JackGnuPlotMonitor ( 128, 4, plot_name ); - fNetTimeMeasure = new float[4]; string net_time_mon_fields[] = { string ( "end of read" ), @@ -355,16 +352,18 @@ namespace Jack //CycleTimeMon plot_name.clear(); plot_name = string ( fParams.fName ); - plot_name += string ( "_slave_cycle_time" ); + plot_name += string ( "_slave_cycle_duration" ); + plot_name += ( fEngineControl->fSyncMode ) ? string ( "_sync" ) : string ( "_async" ); + plot_name += ( fParams.fNetworkMode == 'f' ) ? string ( "_fast" ) : string ( "_normal" ); fCycleTimeMon = new JackGnuPlotMonitor ( 2048, 1, plot_name ); - string cycle_time_mon_field = string ( "time since last cycle" ); + string cycle_time_mon_field = string ( "cycle duration" ); string cycle_time_mon_options[] = { string ( "set xlabel \"audio cycles\"" ), string ( "set ylabel \"usecs\"" ) }; fCycleTimeMon->SetPlotFile ( cycle_time_mon_options, 2, &cycle_time_mon_field, 1 ); - fCycleTime = GetMicroSeconds(); + fLastCycleBeginDate = GetMicroSeconds(); #endif return 0; @@ -553,7 +552,7 @@ namespace Jack fNetAudioCaptureBuffer->SetBuffer ( audio_port_index, GetInputBuffer ( audio_port_index ) ); #ifdef JACK_MONITOR - fNetTimeMeasureId = 0; + fNetTimeMon->New(); #endif //receive sync (launch the cycle) @@ -570,9 +569,9 @@ namespace Jack JackDriver::CycleTakeBeginTime(); #ifdef JACK_MONITOR - jack_time_t cycle_time = GetMicroSeconds() - fCycleTime; - fCycleTimeMon->Write ( &cycle_time ); - fCycleTime = GetMicroSeconds(); + fCycleTimeMon->AddNew ( JackDriver::fBeginDateUst - fLastCycleBeginDate ); + fCycleTimeMon->Write(); + fLastCycleBeginDate = JackDriver::fBeginDateUst; #endif //audio, midi or sync if driver is late @@ -617,7 +616,7 @@ namespace Jack fRxHeader.fCycle = rx_head->fCycle; #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); #endif return 0; @@ -643,7 +642,7 @@ namespace Jack fNetAudioPlaybackBuffer->SetBuffer ( audio_port_index, GetOutputBuffer ( audio_port_index ) ); #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); #endif //sync @@ -659,7 +658,7 @@ namespace Jack return tx_bytes; #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); #endif //midi @@ -701,8 +700,7 @@ namespace Jack } #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f; - fNetTimeMon->Write ( fNetTimeMeasure ); + fNetTimeMon->AddLast ( ( ( float ) ( GetMicroSeconds() - JackDriver::fBeginDateUst ) / ( float ) fEngineControl->fPeriodUsecs ) * 100.f ); #endif return 0; diff --git a/common/JackNetDriver.h b/common/JackNetDriver.h index 72703071..c3fc7973 100644 --- a/common/JackNetDriver.h +++ b/common/JackNetDriver.h @@ -71,11 +71,9 @@ namespace Jack //monitoring #ifdef JACK_MONITOR //time measurment - float* fNetTimeMeasure; - int fNetTimeMeasureId; JackGnuPlotMonitor* fNetTimeMon; //cycle time measurment - jack_time_t fCycleTime; + jack_time_t fLastCycleBeginDate; JackGnuPlotMonitor* fCycleTimeMon; #endif diff --git a/common/JackNetManager.cpp b/common/JackNetManager.cpp index a6a3070b..b8709838 100644 --- a/common/JackNetManager.cpp +++ b/common/JackNetManager.cpp @@ -111,7 +111,6 @@ namespace Jack plot_name += string ( ( fParams.fSlaveSyncMode ) ? "_sync" : "_async" ); plot_name += ( fParams.fNetworkMode == 'f' ) ? string ( "_fast-network" ) : string ( "" ); fNetTimeMon = new JackGnuPlotMonitor ( 128, 4, plot_name ); - fNetTimeMeasure = new float[4]; string net_time_mon_fields[] = { string ( "sync send" ), @@ -150,7 +149,6 @@ namespace Jack delete[] fRxBuffer; #ifdef JACK_MONITOR fNetTimeMon->Save(); - delete[] fNetTimeMeasure; delete fNetTimeMon; #endif } @@ -399,7 +397,7 @@ namespace Jack #ifdef JACK_MONITOR jack_time_t begin_time = jack_get_time(); - fNetTimeMeasureId = 0; + fNetTimeMon->New(); #endif //buffers @@ -437,7 +435,7 @@ namespace Jack return tx_bytes; #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f ); #endif //midi @@ -486,7 +484,7 @@ namespace Jack } #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f ); #endif //receive -------------------------------------------------------------------------------------------------------------------- @@ -521,7 +519,7 @@ namespace Jack } #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f; + fNetTimeMon->Add ( ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f ); #endif if ( fParams.fReturnMidiChannels || fParams.fReturnAudioChannels ) @@ -573,8 +571,7 @@ namespace Jack } #ifdef JACK_MONITOR - fNetTimeMeasure[fNetTimeMeasureId++] = ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f; - fNetTimeMon->Write ( fNetTimeMeasure ); + fNetTimeMon->AddLast ( ( ( ( float ) ( jack_get_time() - begin_time ) ) / ( float ) fPeriodUsecs ) * 100.f ); #endif return 0; } diff --git a/common/JackNetManager.h b/common/JackNetManager.h index cebf273e..78816062 100644 --- a/common/JackNetManager.h +++ b/common/JackNetManager.h @@ -84,8 +84,6 @@ namespace Jack //monitoring #ifdef JACK_MONITOR jack_time_t fPeriodUsecs; - float* fNetTimeMeasure; - int fNetTimeMeasureId; JackGnuPlotMonitor* fNetTimeMon; #endif diff --git a/common/JackTools.h b/common/JackTools.h index 95f00024..123127eb 100644 --- a/common/JackTools.h +++ b/common/JackTools.h @@ -110,6 +110,8 @@ namespace Jack private: uint32_t fMeasureCnt; uint32_t fMeasurePoints; + uint32_t fMeasureId; + T* fCurrentMeasure; T** fMeasureTable; uint32_t fTablePos; std::string fName; @@ -123,6 +125,7 @@ namespace Jack fMeasurePoints = measure_points; fTablePos = 0; fName = name; + fCurrentMeasure = new T[fMeasurePoints]; fMeasureTable = new T*[fMeasureCnt]; for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) { @@ -137,12 +140,36 @@ namespace Jack for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) delete[] fMeasureTable[cnt]; delete[] fMeasureTable; + delete[] fCurrentMeasure; } - uint32_t Write ( T* measure ) + T AddNew ( T measure_point ) + { + fMeasureId = 0; + return fCurrentMeasure[fMeasureId++] = measure_point; + } + + uint32_t New() + { + return fMeasureId = 0; + } + + T Add ( T measure_point ) + { + return fCurrentMeasure[fMeasureId++] = measure_point; + } + + uint32_t AddLast ( T measure_point ) + { + fCurrentMeasure[fMeasureId] = measure_point; + fMeasureId = 0; + return Write(); + } + + uint32_t Write() { for ( uint32_t point = 0; point < fMeasurePoints; point++ ) - fMeasureTable[fTablePos][point] = measure[point]; + fMeasureTable[fTablePos][point] = fCurrentMeasure[point]; if ( ++fTablePos == fMeasureCnt ) fTablePos = 0; return fTablePos;