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
This commit is contained in:
Gerald 2016-09-26 10:40:44 +02:00 committed by Harry van Haaren
parent 86b309b17f
commit 97ae7fbec5
2 changed files with 8 additions and 8 deletions

View file

@ -211,13 +211,6 @@ void LooperClip::record(int count, float* L, float* R)
{ {
_buffer->getData().at( _recordhead ) = *L++; _buffer->getData().at( _recordhead ) = *L++;
_recordhead++; _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 else
{ {

View file

@ -171,7 +171,14 @@ void TimeManager::setTransportState( TRANSPORT_STATE s )
if(transportState == TRANSPORT_STOPPED) if(transportState == TRANSPORT_STOPPED)
jack->transportRolling(false); jack->transportRolling(false);
else else
{
jack->transportRolling(true); jack->transportRolling(true);
barCounter = 0;
beatCounter = 0;
beatFrameCountdown = -1;
for(int i=0;i<observers.size();i++)
observers[i]->resetTimeState();
}
} }
void TimeManager::process(Buffers* buffers) 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->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 buffers->transportPosition->beat = (beatCounter % 4) + 1; // beats 1-4
float part = float( fpb-beatFrameCountdown) / fpb; float part = float( fpb-beatFrameCountdown) / fpb;