diff --git a/resources/metadata/luppp.appdata.xml b/resources/metadata/luppp.appdata.xml index 6a23fd4..2747baa 100644 --- a/resources/metadata/luppp.appdata.xml +++ b/resources/metadata/luppp.appdata.xml @@ -15,9 +15,10 @@ Luppp est un outil de création musicale pensé pour une utilisation live. Il se concentre sur l'utilisation en temps-réel et une expérience utilisateur intuitive et - rapide. Il a été développé depuis Décembre 2011, et plusieurs - éléments de développement ont été complété. Lupp utilise - jack pour sortie audio.

+ rapide. Il est en développement depuis Décembre 2011, et + plusieurs fonctionnalités en développement ont été complétées. + Lupp utilise jack en tant que sortie audio. +

diff --git a/src/jack.cxx b/src/jack.cxx index 0bf7d70..3acd3f7 100644 --- a/src/jack.cxx +++ b/src/jack.cxx @@ -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() diff --git a/src/jack.hxx b/src/jack.hxx index 123101a..77c190f 100644 --- a/src/jack.hxx +++ b/src/jack.hxx @@ -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 ); diff --git a/src/metronome.cxx b/src/metronome.cxx index 2982a63..b9354c5 100644 --- a/src/metronome.cxx +++ b/src/metronome.cxx @@ -33,8 +33,8 @@ Metronome::Metronome() : TimeObserver(), playBar (false), active (false), - playPoint (0), - vol (1) + vol (1), + playPoint (0) { //Create Beat/Bar samples beatSample=new float[jack->getSamplerate()]; diff --git a/src/timemanager.cxx b/src/timemanager.cxx index 4f306de..e606d49 100644 --- a/src/timemanager.cxx +++ b/src/timemanager.cxx @@ -33,8 +33,8 @@ extern Jack* jack; using namespace std; TimeManager::TimeManager(): - observers(), - transportState( TRANSPORT_ROLLING ) + transportState( TRANSPORT_ROLLING ), + observers() { samplerate = jack->getSamplerate(); // 120 BPM default @@ -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)