rec / rec/tuney

Tuney appears to have crashed during the previous run.

Open
#175 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Error

Tuney appears to have crashed during the previous run.

Environment

  • Platform: Windows-11-10.0.26200-SP0
  • Python: 3.12.10
  • Frozen app: True
  • Log file: C:\Users\David.local\state\tuney\tuney.txt

Log

ons=52
[2026-07-26T19:08:24.248029+00:00] TRACE layout rebuild note grid end: has_note_buttons=True
[2026-07-26T19:08:24.856391+00:00] TRACE layout refresh note button fonts: buttons=52
[2026-07-26T19:08:24.879240+00:00] TRACE layout refresh note button fonts: buttons=52
[2026-07-26T19:08:24.888808+00:00] TRACE layout startup build end
[2026-07-26T19:08:34.402354+00:00] TRACE app start: run_in_background=False
[2026-07-26T19:08:34.403350+00:00] TRACE main window start
[2026-07-26T19:08:34.901671+00:00] Traceback (most recent call last):
  File "pyinstaller_entrypoint.py", line 42, in main
  File "tuney\app\main.py", line 31, in main
    result = run(app)
             ^^^^^^^^
  File "tuney\app\app.py", line 170, in run
    start(app)
  File "tuney\app\app.py", line 185, in start
    app.midi.output.start()
  File "tuney\midi\midi.py", line 145, in start
    _ = self.port
        ^^^^^^^^^
  File "functools.py", line 998, in __get__
  File "tuney\midi\midi.py", line 134, in port
    port = mido.open_output(
           ^^^^^^^^^^^^^^^^^
  File "mido\backends\backend.py", line 117, in open_output
  File "mido\ports.py", line 269, in __init__
  File "mido\ports.py", line 90, in __init__
  File "mido\backends\rtmidi.py", line 204, in _open
  File "mido\backends\rtmidi.py", line 105, in _open_port
  File "_rtmidi.pyx", line 581, in _rtmidi.MidiBase.open_port
  File "_rtmidi.pyx", line 218, in _rtmidi._cb_error_func
  File "_rtmidi.pyx", line 403, in _rtmidi._default_error_handler
_rtmidi.SystemError: MidiOutWinMM::openPort: error creating Windows MM MIDI output port.
[2026-07-26T19:11:44.099242+00:00] Python crash logging started
[2026-07-26T19:11:44.301978+00:00] TRACE run: gui=True frozen=True
[2026-07-26T19:11:44.303995+00:00] TRACE autosave restore start
[2026-07-26T19:11:44.314086+00:00] TRACE restore data start: keys=['audition_scala', 'backspace_repeat_delay', 'backspace_repeat_rate', 'device', 'gui', 'hover_time', 'load_autosave', 'mapper', 'max_gap', 'midi', 'run_in_background', 'scale', 'show_text_timings', 'silent', 'sound', 'speech_level', 'speech_speed', 'text', 'text_timings', 'tuning', 'use_phrase_mode', 'use_speech']
[2026-07-26T19:11:44.315599+00:00] TRACE restore data end
[2026-07-26T19:11:44.316109+00:00] TRACE autosave restore end: error=False
[2026-07-26T19:11:44.317117+00:00] TRACE main window construct start
[2026-07-26T19:11:44.348101+00:00] TRACE main window init start
[2026-07-26T19:11:44.349148+00:00] TRACE qapplication reuse
[2026-07-26T19:11:44.381592+00:00] TRACE main window qmainwindow ready
[2026-07-26T19:11:44.392729+00:00] TRACE layout construct start
[2026-07-26T19:11:44.393262+00:00] TRACE layout init start
[2026-07-26T19:11:44.394917+00:00] TRACE control panel init: model='App'
[2026-07-26T19:11:44.849893+00:00] TRACE layout init end
[2026-07-26T19:11:44.849893+00:00] TRACE layout construct end
[2026-07-26T19:11:44.850900+00:00] TRACE window restore state loaded: saved={'x': 0, 'y': 23, 'width': 1536, 'height': 793}
[2026-07-26T19:11:44.851911+00:00] TRACE window restore geometry before: saved={'x': 0, 'y': 23, 'width': 1536, 'height': 793} applied={'x': 0, 'y': 23, 'width': 1536, 'height': 793} direct={'x': 0, 'y': 0, 'width': 560, 'height': 978} geometry={'x': 0, 'y': 0, 'width': 560, 'height': 978} frame_geometry={'x': 0, 'y': 0, 'width': 560, 'height': 978} normal_geometry={'x': 0, 'y': 0, 'width': 560, 'height': 978} window_state=<WindowState.WindowNoState: 0> is_maximized=False is_minimized=False is_full_screen=False
[2026-07-26T19:11:44.851911+00:00] TRACE window restore geometry after set: direct={'x': 0, 'y': 23, 'width': 1536, 'height': 793} geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} frame_geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} normal_geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} window_state=<WindowState.WindowNoState: 0> is_maximized=False is_minimized=False is_full_screen=False
[2026-07-26T19:11:44.852917+00:00] TRACE window restore geometry after enforce: direct={'x': 0, 'y': 23, 'width': 1536, 'height': 793} geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} frame_geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} normal_geometry={'x': 0, 'y': 23, 'width': 1536, 'height': 793} window_state=<WindowState.WindowNoState: 0> is_maximized=False is_minimized=False is_full_screen=False
[2026-07-26T19:11:44.853423+00:00] TRACE ui update text display: timings=False
[2026-07-26T19:11:44.853928+00:00] TRACE main window init end
[2026-07-26T19:11:44.853928+00:00] TRACE main window construct end
[2026-07-26T19:11:45.009535+00:00] TRACE layout startup build start
[2026-07-26T19:11:45.009535+00:00] TRACE control panel rebuild start: model='App'
[2026-07-26T19:11:45.011572+00:00] TRACE control panel build page start: advanced=True
[2026-07-26T19:11:45.531559+00:00] TRACE scala browser trie load start
[2026-07-26T19:11:45.532592+00:00] TRACE scala trie build start
[2026-07-26T19:11:45.533672+00:00] TRACE scala scales load start: path=WindowsPath('C:/Tuney-Windows/Tuney/scala/scales.toml.zip')
[2026-07-26T19:11:45.827847+00:00] TRACE scala scales load end: count=5401
[2026-07-26T19:11:46.067352+00:00] TRACE scala trie build end: count=5401
[2026-07-26T19:11:47.162080+00:00] Python crash logging started
[2026-07-26T19:11:48.226090+00:00] Python crash logging started
[2026-07-26T19:11:48.450735+00:00] TRACE control panel build page end: advanced=True
[2026-07-26T19:11:48.451724+00:00] TRACE control panel rebuild end: model='App'
[2026-07-26T19:11:48.451724+00:00] TRACE layout rebuild note grid start
[2026-07-26T19:11:48.475577+00:00] TRACE layout refresh note button fonts: buttons=52
[2026-07-26T19:11:48.477523+00:00] TRACE layout rebuild note grid end: has_note_buttons=True
[2026-07-26T19:11:48.906031+00:00] TRACE layout refresh note button fonts: buttons=52
[2026-07-26T19:11:48.925987+00:00] TRACE layout refresh note button fonts: buttons=52
[2026-07-26T19:11:48.936111+00:00] TRACE layout startup build end

Contributor guide

No contributing guide indexed for this repository

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

Start with tuney/app/app.py at start() and tuney/midi/midi.py at port and start(), then reproduce the Windows failure around mido.open_output(). Review how the frozen app handles MIDI startup and identify the expected behavior when MidiOutWinMM cannot create an output port; done should include coverage for that failure path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.