-Fixed issue with double-register of Controller instances
parent
c719aafdfe
commit
f349e36a7f
|
@ -10,7 +10,6 @@ extern Jack* jack;
|
|||
|
||||
Controller::Controller()
|
||||
{
|
||||
jack->getControllerUpdater()->registerController( this );
|
||||
}
|
||||
|
||||
void Controller::reset(){};
|
||||
|
|
|
@ -325,7 +325,7 @@ void GenericMIDI::midi(unsigned char* midi)
|
|||
int data = midi[1];
|
||||
float value = midi[2] / 127.f;
|
||||
|
||||
//LUPPP_NOTE("called %i %i %f", status, data, value );
|
||||
LUPPP_NOTE("GenericMIDI::midi() %i %i %f", status, data, value );
|
||||
|
||||
// iterate over bindings, execute binding action if matches
|
||||
for(unsigned int i = 0; i < midiToAction.size(); i++)
|
||||
|
@ -373,8 +373,8 @@ void GenericMIDI::launchScene( int scene )
|
|||
data[0] = 144;
|
||||
data[1] = 82 + scene;
|
||||
data[2] = 127;
|
||||
//jack->midiObserverWriteMIDI( _port, &data[0] );
|
||||
LUPPP_NOTE("this = %i GenericMIDI::launchScene()", this );
|
||||
writeMidi( data );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -216,7 +216,7 @@ Looper* Jack::getLooper(int t)
|
|||
|
||||
void Jack::registerMidiObserver( MidiObserver* mo )
|
||||
{
|
||||
LUPPP_NOTE("%s","Jack::registerMidiObserver()" );
|
||||
LUPPP_NOTE("Jack::registerMidiObserver()" );
|
||||
midiObservers.push_back( mo );
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,27 @@ MidiObserver::MidiObserver() :
|
|||
}
|
||||
|
||||
|
||||
void MidiObserver::writeMidi( unsigned char* data )
|
||||
{
|
||||
void* portBuffer = jack_port_get_buffer( jackInputPort, jack->getBuffersize() );
|
||||
|
||||
unsigned char* buffer = jack_midi_event_reserve( portBuffer, 0, 3);
|
||||
if( buffer == 0 )
|
||||
{
|
||||
std::cout << "Error: APC writeMidi() write buffer == 0" << std::endl;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "JC::writeMidi() " << int(data[0]) << ", " << int(data[1]) << ", " << int(data[2]) << endl;
|
||||
//memcpy( buffer, data, sizeof(unsigned char)*3 );
|
||||
buffer[0] = data[0];
|
||||
buffer[1] = data[1];
|
||||
buffer[2] = data[2];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MidiObserver::registerMidiPorts(std::string name)
|
||||
{
|
||||
// register the JACK MIDI ports
|
||||
|
|
|
@ -32,6 +32,8 @@ class MidiObserver
|
|||
void registerMidiPorts(std::string name);
|
||||
|
||||
virtual void midi(unsigned char* data){};
|
||||
|
||||
void writeMidi( unsigned char* data );
|
||||
|
||||
private:
|
||||
// there are jack_port_t* registered ports
|
||||
|
|
Loading…
Reference in New Issue