-MidiObserver interface in action, tested using APC controller

main
Harry van Haaren 2013-07-31 19:50:58 +01:00
parent 60727b10be
commit 6c77081b15
3 changed files with 8 additions and 6 deletions

View File

@ -54,7 +54,7 @@ void AkaiAPC::volume(int t, float f)
void note_on( int track, int note, int vel ) void note_on( int track, int note, int vel )
{ {
printf("apc note on using MIDI observer \n");
} }
void cc_change( int track, int cc, float value ) void cc_change( int track, int cc, float value )
@ -84,6 +84,6 @@ void AkaiAPC::midi(unsigned char* data)
} }
else if ( b1 >= 176 && b1 < 176 + 16 ) // CC else if ( b1 >= 176 && b1 < 176 + 16 ) // CC
{ {
cc_change( b1 - 144, b2, data[2] / 127.f ); cc_change( b1 - 176, b2, data[2] / 127.f );
} }
} }

View File

@ -13,7 +13,8 @@ extern int jackSamplerate;
Jack::Jack() : Jack::Jack() :
clientActive(false), clientActive(false),
client( 0 ) client( 0 ),
controllerUpdater( new ControllerUpdater() )
{ {
// open the client // open the client
client = jack_client_open ( "Luppp", JackNullOption , 0 , 0 ); client = jack_client_open ( "Luppp", JackNullOption , 0 , 0 );
@ -103,7 +104,8 @@ Jack::Jack() :
void Jack::activate() void Jack::activate()
{ {
// move to "settings" class or so // move to "settings" class or so
controllerUpdater->registerController( new AkaiAPC() ); Controller* c = new AkaiAPC();
controllerUpdater->registerController( c );
jack_activate( client ); jack_activate( client );
jack_transport_start(client); jack_transport_start(client);
@ -161,7 +163,7 @@ int Jack::process (jack_nframes_t nframes)
// check each looper for MIDI match // check each looper for MIDI match
for( int i = 0; i < midiObservers.size(); i++ ) for( int i = 0; i < midiObservers.size(); i++ )
{ {
midiObservers.at(i)->midi( (unsigned char*) in_event.buffer[0] ); midiObservers.at(i)->midi( (unsigned char*) &in_event.buffer[0] );
} }
//std::for_each( midiObservers.begin(), midiObservers.end(), [](MidiObserver* mo) { mo->midi( ); } ); //std::for_each( midiObservers.begin(), midiObservers.end(), [](MidiObserver* mo) { mo->midi( ); } );

View File

@ -7,5 +7,5 @@ extern Jack* jack;
MidiObserver::MidiObserver( std::string portName ) MidiObserver::MidiObserver( std::string portName )
{ {
//jack->registerMidiObserver( this ); jack->registerMidiObserver( this );
} }