musescore / musescore/MuseScore

Ability to re-grab MIDI I/O port on Windows even if unavailable when process first starts

Open
#23,870 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

MIDI needs design
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

MuseScore should be able to accept MIDI input on Windows even if the device was unavailable when the process/application started.

Problem to be solved

Windows has a ridiculous restriction that only one process at a time can grab the MIDI I/O port. But whereas QSynth etc. allow releasing and re-acquiring it, MuseScore only seems to try on start-up and won't allow using MIDI I/O without restarting. Note that "Enable MIDI input" in the playback settings toolbar menu doesn't seem to affect this at all, nor does going into the Preferences | I/O screen.

Prior art

No response

Additional context

Ideally MuseScore would automatically try to acquire the device when it has the input focus and release it afterwards, and certainly should release it when you deselect "Enable MIDI input" from the playback settings toolbar menu. Either that or it could try to acquire it every time you enter note input mode. And hopefully show somewhere that it's not able to acquire access to the port.
Especially an issue when switching between MuseScore instances.

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the Windows MIDI I/O acquisition performed at startup, then inspect how the playback settings toolbar and Preferences | I/O handle MIDI input. Done means MIDI can be acquired after startup or when entering note input mode, released when disabled, and unavailable access is indicated without requiring a restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.