AuburnSounds / AuburnSounds/Dplug
MIDI Output
- Dominant language
- D
- Stars
- 564
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Sometimes requested by prospective Dplug users:
- [x] VST2 (supported: everything except SYSEX)
- [x] VST3 (supported: Note on, Note Off, CC, and Pitch Bend)
- [ ] AUv2 doesn't really send MIDI out
- [x] LV2 (supported: everything except SYSEX)
- [x] AAX (Note on, Note off, Pitch bend, Polyphonic aftertouch, Bank select, Program change, Channel aftertouch, no CC?)
- [x] API design ok
- [x] priority queue (generic client holds a pqueue, format clients empty that and send in bulk)
- [x] MIDI queue needs to be growable... so that any number of message can be sent or received
- [x] not too sure about clearing the MIDI queues on reset
- [x] buffer-splitting complicates things! Since enqueued MIDI message have an offset relative to sub-buffers, but as output they need an offset relative to full buffer. If one pop output MIDI message just after each sub-buffer it will be OK, this needs another temporary buffer of course. (EDIT: no, just accumulating messages in a generic client's buffer)
- [x] Eventually, add a nice way to (synchronizedly) add MIDI to be output as quick as possible by the plugin, from the UI. In VST3, those messages will need the "Live" flag. (or at least a zero offset) (EDIT: for now, Live flag unused)
- [ ] a bit of testing on macOS
- [x] change website and README.md
- [x] test in Pro tools + Windows => unable to route MIDI in that host, seems to work
Contributor guide
Research direction
The issue names MIDI output across VST2, VST3, AUv2, LV2, and AAX, and mentions README.md and the website. Start by reviewing the unchecked AUv2 and macOS items and the checklist history; no source files or tests are named. Done means the remaining supported-host behavior is verified and the documentation accurately reflects the result.
Written by the indexing model from the issue text.
Assessment
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100