Very crude and dirty first host midi implementation
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
810928190c
commit
b863d0e54c
6 changed files with 758 additions and 450 deletions
|
@ -60,6 +60,8 @@ struct CardinalPluginContext : rack::Context {
|
|||
uintptr_t nativeWindowId;
|
||||
const float* const* dataIns;
|
||||
float** dataOuts;
|
||||
const MidiEvent* midiEvents;
|
||||
uint32_t midiEventCount;
|
||||
Plugin* const plugin;
|
||||
#ifndef HEADLESS
|
||||
UI* ui;
|
||||
|
@ -95,6 +97,8 @@ struct CardinalPluginContext : rack::Context {
|
|||
nativeWindowId(0),
|
||||
dataIns(nullptr),
|
||||
dataOuts(nullptr),
|
||||
midiEvents(nullptr),
|
||||
midiEventCount(0),
|
||||
plugin(p)
|
||||
#ifndef HEADLESS
|
||||
, ui(nullptr)
|
||||
|
@ -103,6 +107,8 @@ struct CardinalPluginContext : rack::Context {
|
|||
std::memset(parameters, 0, sizeof(parameters));
|
||||
}
|
||||
|
||||
void writeMidiMessage(const rack::midi::Message& message);
|
||||
|
||||
#ifndef HEADLESS
|
||||
bool addIdleCallback(IdleCallback* cb) const;
|
||||
void removeIdleCallback(IdleCallback* cb) const;
|
||||
|
@ -129,10 +135,6 @@ public:
|
|||
: Plugin(parameterCount, programCount, stateCount),
|
||||
context(new CardinalPluginContext(this)) {}
|
||||
~CardinalBasePlugin() override {}
|
||||
virtual void assignMidiInputDevice(CardinalMidiInputDevice* dev) noexcept = 0;
|
||||
virtual void assignMidiOutputDevice(CardinalMidiOutputDevice* dev) noexcept = 0;
|
||||
virtual void clearMidiInputDevice(CardinalMidiInputDevice* dev) noexcept = 0;
|
||||
virtual void clearMidiOutputDevice(CardinalMidiOutputDevice* dev) noexcept = 0;
|
||||
};
|
||||
|
||||
#ifndef HEADLESS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue