View Issue Details

IDProjectCategoryView StatusLast Update
0001772OpenMPTGeneralpublic2026-04-19 20:54
ReporterSaga Musix Assigned ToSaga Musix  
PrioritynormalSeverityfeatureReproducibilityN/A
Status assignedResolutionopen 
Target VersionOpenMPT 1.33 / libopenmpt 0.9 (goals) 
Summary0001772: Move MIDI output off audio thread
Description

While working on Beyond my ASIO driver was struggling due to the MIDI driver taking its time to process outgoing MIDI messages to seven different devices. I modified the MIDI code locally to run on a separate thread (one per device actually), but that solution is not quite in a merge-able state yet (there are still some random deadlocks when closing a module). But the direction is right and should be used for more stable MIDI output.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

related to 0000917 assignedSaga Musix Virtualize MIDI I/O 

Activities

Saga Musix

Saga Musix

2026-04-18 23:08

administrator   ~0006643

Last edited: 2026-04-19 20:54

Incorrect latency with WIP code:

  • ASIO without HW timing: off by 2*period (MIDI triggers too early) - ESI Juli@ eX
  • ASIO with HW timing: off by 3*period (MIDI triggers too early) - ESI Juli@ eX
  • WASAPI: off by -period (MIDI triggers too late)
  • WASAPI exclusive: unable to test sensibly due to known driver issues on ESI Juli@ eX, but timing completely off with ESI Juli@
  • WaveRT: Timing is completely off with ESI Juli@ eX, but no problem with ESI Juli@ or DisplayPort. Potentially related to known driver issues with WASAPI exclusive mode of the Juli@ eX.

Latency was only tested with ESI Juli@ eX as I don't have the other outputs connected to speakers.

Edit: Measurements might no longer be correct after various code changes.

Issue History

Date Modified Username Field Change
2024-04-07 21:14 Saga Musix New Issue
2024-04-07 21:14 Saga Musix Status new => assigned
2024-04-07 21:14 Saga Musix Assigned To => Saga Musix
2024-04-07 21:14 Saga Musix Relationship added related to 0000917
2025-05-30 11:53 Saga Musix Target Version OpenMPT 1.32.01.00 / libopenmpt 0.8.0 (upgrade first) => OpenMPT 1.33 / libopenmpt 0.9 (goals)
2026-04-18 23:08 Saga Musix Note Added: 0006643
2026-04-18 23:16 Saga Musix Note Edited: 0006643
2026-04-19 12:59 Saga Musix Note Edited: 0006643
2026-04-19 20:54 Saga Musix Note Edited: 0006643