A14: MIDI-out từ plugin (VST2/VST3) → SHM → Rust emit → DAW track
- Vst2Instrument: audioMaster callback thu VstEvents, push SHM midiOutQueue
- Vst3Instrument: IEventList output bus (kAudioMasterWantMidi) — check
- SharedMemoryIPC.h: midiOutQueue[64] + midiOutCount (offset 27556/28324, sizeof 28328)
- shm.rs: MidiEventIPC Serialize, drain_midi_out() emit 'bridge-midi-out'
- lib.rs: pump emit midi-out events
- nativeBridgeService.js: onMidiOut API
- app.jsx: route MIDI-out về selected track qua SonicMidiRouter (feedback guard)
- TASKS.md: A14 ✅
This commit is contained in:
@@ -73,6 +73,14 @@ struct SharedAudioBufferIPC {
|
||||
volatile uint32_t ringMask;
|
||||
float ringLeft[8][AUDIO_BLOCK_SIZE];
|
||||
float ringRight[8][AUDIO_BLOCK_SIZE];
|
||||
|
||||
// A14: MIDI OUT from plugins (VST2 audioMaster opcode=8 VstEvents,
|
||||
// VST3 IEventList output bus). The bridge writes events the plugin
|
||||
// generated; the Tauri pump drains them to `bridge-midi-out` and the
|
||||
// JS routes them to DAW tracks. Append-only field: all offsets above
|
||||
// stay stable.
|
||||
MidiEventIPC midiOutQueue[64];
|
||||
volatile uint32_t midiOutCount;
|
||||
};
|
||||
|
||||
// G4.3: per-plugin sandbox SHM — double-buffered audio handoff.
|
||||
|
||||
Reference in New Issue
Block a user