src/XJack.cpp
/****************************************************************
 ** class XJack
 **
 ** Send content from MidiMessenger to jack_midi out
 ** pass all incoming midi events to jack_midi out.
 ** send all incomming midi events to XKeyBoard
 */
class XJack
Send content from MidiMessenger to jack_midi out
pass all incoming midi events to jack_midi out.
send all incomming midi events to XKeyBoard
class XJack Send content from MidiMessenger to jack_midi out pass all incoming midi events to jack_midi out . send all incomming midi events to XKeyBoard
XJack::XJack(mamba::MidiMessenger *mmessage_,
        std::function<void(const uint8_t*,uint8_t) >  send_to_alsa_,
        std::function<void(int)>  set_alsa_priority_)
    : sigc::trackable(),
     mmessage(mmessage_),
     mp(),
     send_to_alsa(send_to_alsa_),
     set_alsa_priority(set_alsa_priority_),
     event_count(0),
     stop(0),
     deltaTime(0),
     client(NULL),
     rec() {
        transport_state_changed.store(false, std::memory_order_release);
        transport_set.store(0, std::memory_order_release);
        transport_state = JackTransportStopped;
        bpm_changed.store(false, std::memory_order_release);
        bpm_set.store(0, std::memory_order_release);
        record_off.store(false, std::memory_order_release);
        start = 0;
        NotOn = 0;
        absoluteStart = 0;
        record = 0;
        record_finished = 0;
        play = 0;
        pos = 0;
        bank = 0;
        program = 0;
        freewheel = 0;
        view_channels = 0;
        max_loop_time = 0;
        playPosTime = 0.0;
        fresh_take = true;
        first_play = true;
        store1.reserve(256);
        store2.reserve(256);
        st = &store1;
        rec.st = &store1;
        client_name = "Mamba";
        bpm_ratio = 1.0;
        stPlay = 0;
        stStart = 0;
        rcStart = 0;
        priority = -1;
        for ( int i = 0; i < 16; i++) posPlay[i] = 0;
        for ( int i = 0; i < 16; i++) startPlay[i] = 0;
        for ( int i = 0; i < 16; i++) stopPlay[i] = 0;
}
XJack :: XJack ( mamba :: MidiMessenger * mmessage_ , std :: function < void ( const uint8_t * , uint8_t ) > send_to_alsa_ , std :: function < void ( int ) > set_alsa_priority_ ) : sigc :: trackable ( ) , mmessage ( mmessage_ ) , mp ( ) , send_to_alsa ( send_to_alsa_ ) , set_alsa_priority ( set_alsa_priority_ ) , event_count ( 0 ) , stop ( 0 ) , deltaTime ( 0 ) , client ( NULL ) , rec ( ) { transport_state_changed . store ( false , std :: memory_order_release ) ; transport_set . store ( 0 , std :: memory_order_release ) ; transport_state = JackTransportStopped ; bpm_changed . store ( false , std :: memory_order_release ) ; bpm_set . store ( 0 , std :: memory_order_release ) ; record_off . store ( false , std :: memory_order_release ) ; start = 0 ; NotOn = 0 ; absoluteStart = 0 ; record = 0 ; record_finished = 0 ; play = 0 ; pos = 0 ; bank = 0 ; program = 0 ; freewheel = 0 ; view_channels = 0 ; max_loop_time = 0 ; playPosTime = 0.0 ; fresh_take = true ; first_play = true ; store1 . reserve ( 256 ) ; store2 . reserve ( 256 ) ; st = & store1 ; rec . st = & store1 ; client_name = " " ; bpm_ratio = 1.0 ; stPlay = 0 ; stStart = 0 ; rcStart = 0 ; priority = -1 ; for ( int i = 0 ; i < 16 ; i ++ ) posPlay [ i ] = 0 ; for ( int i = 0 ; i < 16 ; i ++ ) startPlay [ i ] = 0 ; for ( int i = 0 ; i < 16 ; i ++ ) stopPlay [ i ] = 0 ; }
class XJack
 Send content from MidiMessenger to jack_midi out
 pass all incoming midi events to jack_midi out.
class XJack Send content from MidiMessenger to jack_midi out pass all incoming midi events to jack_midi out .