#include "midi++/mmc.h"
+#include "ardour/async_midi_port.h"
#include "ardour/audioengine.h"
#include "ardour/auditioner.h"
#include "ardour/bundle.h"
}
/* virtual keyboard */
- if ((type == DataType::MIDI || type == DataType::NIL)) {
+ if (!inputs && (type == DataType::MIDI || type == DataType::NIL)) {
+ boost::shared_ptr<ARDOUR::Port> ap = boost::dynamic_pointer_cast<ARDOUR::Port> (session->vkbd_output_port());
AudioEngine* ae = AudioEngine::instance();
- if (!inputs) {
- boost::shared_ptr<Bundle> vm (new Bundle (_("Virtual MIDI"), inputs));
- vm->add_channel (
- _("Virtual Keyboard"), DataType::MIDI, ae->make_port_name_non_relative (session->vkbd_output_port()->name())
- );
- program->add_bundle (vm);
- }
+ boost::shared_ptr<Bundle> vm (new Bundle (_("Virtual MIDI"), inputs));
+ vm->add_channel (_("Virtual Keyboard"), DataType::MIDI, ae->make_port_name_non_relative (ap->name()));
+ program->add_bundle (vm);
}
/* our sync ports */
ev[0] = (MIDI_CMD_NOTE_ON | channel);
ev[1] = note;
ev[2] = _piano_velocity.get_value_as_int ();
- boost::dynamic_pointer_cast<ARDOUR::AsyncMIDIPort>(_session->vkbd_output_port())->write (ev, 3, 0);
+ _session->vkbd_output_port()->write (ev, 3, 0);
}
void
ev[0] = (MIDI_CMD_NOTE_OFF | channel);
ev[1] = note;
ev[2] = 0;
- boost::dynamic_pointer_cast<ARDOUR::AsyncMIDIPort>(_session->vkbd_output_port())->write (ev, 3, 0);
+ _session->vkbd_output_port()->write (ev, 3, 0);
}