View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000917 | OpenMPT | General | public | 2017-02-09 00:29 | 2026-04-19 14:53 |
| Reporter | Saga Musix | Assigned To | Saga Musix | ||
| Priority | normal | Severity | feature | Reproducibility | N/A |
| Status | assigned | Resolution | open | ||
| Target Version | OpenMPT 1.33 / libopenmpt 0.9 (goals) | ||||
| Summary | 0000917: Virtualize MIDI I/O | ||||
| Description | Currently each MIDI I/O plugin instance as well as the separate MIDI recording feature directly access RtMidi or the WinAPI. This makes it impossible to re-use a device, e.g. to create to MIDI I/O instances reading MIDI data from the same MIDI device and then passing it on to different plugins. The actual MIDI I/O should be moved to a separate component (using RtMidi in the background) that sends the inputs to all listeners and processes all outputs. | ||||
| Tags | No tags attached. | ||||
| Has the bug occurred in previous versions? | |||||
| Tested code revision (in case you know it) | |||||
| related to | 0001772 | assigned | Saga Musix | Move MIDI output off audio thread |
|
This abstraction layer should probably also have toggles for unifying all the sustain pedal / channel volume / etc. parsing that is currently spread across the various editor views. |
|
This is not so simple after all: MIDI keyboard shortcut handling and the MIDI mapper are currenlty applied before sustain pedal is evaluated (as it should be), so the receiving view needs to be in control of the logic here. Maybe we need to split MIDI callbacks into a "PreTranslate" callback (like MFC does for window messages) and a callback for using the MIDI messages for actual note input. |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-02-09 00:29 | Saga Musix | New Issue | |
| 2017-02-14 18:21 | Midori | Description Updated | |
| 2020-01-09 14:31 | Saga Musix | Description Updated | |
| 2020-01-12 13:03 | Saga Musix | Note Added: 0004192 | |
| 2024-04-07 21:14 | Saga Musix | Relationship added | related to 0001772 |
| 2026-04-19 14:48 | Saga Musix | Assigned To | => Saga Musix |
| 2026-04-19 14:48 | Saga Musix | Status | new => assigned |
| 2026-04-19 14:48 | Saga Musix | Target Version | OpenMPT 1.?? (long term goals) => OpenMPT 1.33 / libopenmpt 0.9 (goals) |
| 2026-04-19 14:53 | Saga Musix | Note Added: 0006644 |