fix JACK transport state control

This commit is contained in:
Harry van Haaren 2016-09-20 20:10:51 +01:00
parent cfd0dc36d9
commit c289c6a997
3 changed files with 14 additions and 1 deletions

View file

@ -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()

View file

@ -81,6 +81,8 @@ class Jack
TimeManager* getTimeManager(){return timeManager;}
ControllerUpdater* getControllerUpdater(){return controllerUpdater;}
void transportRolling(bool rolling);
/// register a MIDI observer
void registerMidiIO( MidiIO* mo );
void unregisterMidiIO( MidiIO* mo );

View file

@ -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)