RemoteVstPlugin: adapted MIDI changes
Fixes build failure after recent API changes. Closes #157.
This commit is contained in:
@@ -89,7 +89,7 @@ struct ERect
|
||||
|
||||
|
||||
#include "lmms_basics.h"
|
||||
#include "midi.h"
|
||||
#include "Midi.h"
|
||||
#include "communication.h"
|
||||
|
||||
#include "VST_sync_shm.h"
|
||||
@@ -132,8 +132,7 @@ public:
|
||||
virtual void process( const sampleFrame * _in, sampleFrame * _out );
|
||||
|
||||
|
||||
virtual void processMidiEvent( const midiEvent & _event,
|
||||
const f_cnt_t _offset );
|
||||
virtual void processMidiEvent( const MidiEvent& event, const f_cnt_t offset );
|
||||
|
||||
// set given sample-rate for plugin
|
||||
virtual void updateSampleRate()
|
||||
@@ -831,36 +830,37 @@ void RemoteVstPlugin::process( const sampleFrame * _in, sampleFrame * _out )
|
||||
|
||||
|
||||
|
||||
void RemoteVstPlugin::processMidiEvent( const midiEvent & _event,
|
||||
const f_cnt_t _offset )
|
||||
void RemoteVstPlugin::processMidiEvent( const MidiEvent& event, const f_cnt_t offset )
|
||||
{
|
||||
VstMidiEvent event;
|
||||
VstMidiEvent vme;
|
||||
|
||||
event.type = kVstMidiType;
|
||||
event.byteSize = 24;
|
||||
event.deltaFrames = _offset;
|
||||
event.flags = 0;
|
||||
event.detune = 0;
|
||||
event.noteLength = 0;
|
||||
event.noteOffset = 0;
|
||||
event.noteOffVelocity = 0;
|
||||
event.reserved1 = 0;
|
||||
event.reserved2 = 0;
|
||||
event.midiData[0] = _event.m_type + _event.m_channel;
|
||||
switch( _event.m_type )
|
||||
vme.type = kVstMidiType;
|
||||
vme.byteSize = 24;
|
||||
vme.deltaFrames = offset;
|
||||
vme.flags = 0;
|
||||
vme.detune = 0;
|
||||
vme.noteLength = 0;
|
||||
vme.noteOffset = 0;
|
||||
vme.noteOffVelocity = 0;
|
||||
vme.reserved1 = 0;
|
||||
vme.reserved2 = 0;
|
||||
vme.midiData[0] = event.type() + event.channel();
|
||||
|
||||
switch( event.type() )
|
||||
{
|
||||
case MidiPitchBend:
|
||||
event.midiData[1] = _event.m_data.m_param[0] & 0x7f;
|
||||
event.midiData[2] = _event.m_data.m_param[0] >> 7;
|
||||
vme.midiData[1] = event.param( 0 ) & 0x7f;
|
||||
vme.midiData[2] = event.param( 1 ) >> 7;
|
||||
break;
|
||||
// TODO: handle more special cases
|
||||
default:
|
||||
event.midiData[1] = _event.key();
|
||||
event.midiData[2] = _event.velocity();
|
||||
vme.midiData[1] = event.key();
|
||||
vme.midiData[2] = event.velocity();
|
||||
break;
|
||||
}
|
||||
event.midiData[3] = 0;
|
||||
m_midiEvents.push_back( event );
|
||||
vme.midiData[3] = 0;
|
||||
|
||||
m_midiEvents.push_back( vme );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user