Skip to content

Commit

Permalink
fix JACK transport state control
Browse files Browse the repository at this point in the history
  • Loading branch information
harryhaaren committed Sep 20, 2016
1 parent cfd0dc3 commit c289c6a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/jack.cxx
Expand Up @@ -267,7 +267,14 @@ Jack::~Jack()
void Jack::activate()
{
jack_activate( client );
//jack_transport_start(client);
}

void Jack::transportRolling(bool rolling)
{
if(rolling)
jack_transport_start(client);
else
jack_transport_stop(client);
}

void Jack::quit()
Expand Down
2 changes: 2 additions & 0 deletions src/jack.hxx
Expand Up @@ -80,6 +80,8 @@ class Jack
GridLogic* getGridLogic(){return gridLogic;}
TimeManager* getTimeManager(){return timeManager;}
ControllerUpdater* getControllerUpdater(){return controllerUpdater;}

void transportRolling(bool rolling);

/// register a MIDI observer
void registerMidiIO( MidiIO* mo );
Expand Down
4 changes: 4 additions & 0 deletions src/timemanager.cxx
Expand Up @@ -162,6 +162,10 @@ int TimeManager::getNframesToBeat()
void TimeManager::setTransportState( TRANSPORT_STATE s )
{
transportState = s;
if(transportState == TRANSPORT_STOPPED)
jack->transportRolling(false);
else
jack->transportRolling(true);
}

void TimeManager::process(Buffers* buffers)
Expand Down

0 comments on commit c289c6a

Please sign in to comment.