From 14aba6b39679f95ee62ae9ba2c9f0f4ce51b9eee Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 3 Apr 2026 12:56:10 -0400 Subject: [PATCH] play.py: show key in track picker Co-Authored-By: Claude Opus 4.6 (1M context) --- play.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/play.py b/play.py index 1186844..3f2c214 100644 --- a/play.py +++ b/play.py @@ -404,10 +404,11 @@ def pick_track(): m = int(duration_sec // 60) s = int(duration_sec % 60) pitch = score.reference_pitch if score.reference_pitch != 440.0 else None + track_key = str(getattr(mod, 'key', '')) if hasattr(mod, 'key') else "" desc = get_description(mod) - entries.append((f, title, bpm, m, s, parts, desc, pitch)) + entries.append((f, title, bpm, m, s, parts, desc, pitch, track_key)) except Exception: - entries.append((f, f.stem.replace("_", " ").title(), 0, 0, 0, 0, "", None)) + entries.append((f, f.stem.replace("_", " ").title(), 0, 0, 0, 0, "", None, "")) selected = [0] result = [None] @@ -455,11 +456,12 @@ def pick_track(): if y >= h - 4: break - f, title, bpm, m, s, parts, desc, pitch = entry + f, title, bpm, m, s, parts, desc, pitch, track_key = entry name_col = 24 cached = "✓" if _wav_path(f).exists() else " " pitch_str = f" {int(pitch)}Hz" if pitch else "" - meta_str = f"{cached} {bpm:>3} BPM {m}:{s:02d}{pitch_str}" if bpm else "" + key_str = f" {track_key}" if track_key else "" + meta_str = f"{cached} {bpm:>3} BPM {m}:{s:02d}{key_str}{pitch_str}" if bpm else "" name_display = title[:name_col - 1].ljust(name_col - 1) num = f"{i + 1:>2}."