From 97ae7fbec5b64c9b142247a9482226b70b76feb1 Mon Sep 17 00:00:00 2001 From: Gerald Date: Mon, 26 Sep 2016 10:40:44 +0200 Subject: [PATCH] Time observers get reset upon change of jack transport to rolling, fixed issue with jack transport and bars (bars are 1 based), removed debug code --- src/looperclip.cxx | 7 ------- src/timemanager.cxx | 9 ++++++++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/looperclip.cxx b/src/looperclip.cxx index 1a90f24..cc5aa86 100644 --- a/src/looperclip.cxx +++ b/src/looperclip.cxx @@ -211,13 +211,6 @@ void LooperClip::record(int count, float* L, float* R) { _buffer->getData().at( _recordhead ) = *L++; _recordhead++; - if(_recordhead>=90112) - { - char buffer [50]; - sprintf (buffer, "LooperClip t %i, s %i, recordhead %f\n",track, scene,_recordhead); - EventGuiPrint e( buffer ); - //writeToGuiRingbuffer( &e ); - } } else { diff --git a/src/timemanager.cxx b/src/timemanager.cxx index f18099e..def7d32 100644 --- a/src/timemanager.cxx +++ b/src/timemanager.cxx @@ -171,7 +171,14 @@ void TimeManager::setTransportState( TRANSPORT_STATE s ) if(transportState == TRANSPORT_STOPPED) jack->transportRolling(false); else + { jack->transportRolling(true); + barCounter = 0; + beatCounter = 0; + beatFrameCountdown = -1; + for(int i=0;iresetTimeState(); + } } void TimeManager::process(Buffers* buffers) @@ -264,7 +271,7 @@ void TimeManager::process(Buffers* buffers) { buffers->transportPosition->valid = (jack_position_bits_t)(JackPositionBBT | JackTransportPosition); - buffers->transportPosition->bar = beatCounter / 4; + buffers->transportPosition->bar = beatCounter / 4 + 1;// bars 1-based buffers->transportPosition->beat = (beatCounter % 4) + 1; // beats 1-4 float part = float( fpb-beatFrameCountdown) / fpb;