ivory

Simple MIDI keyboard monitor with advanced chord detection.
Log | Files | Refs | README | LICENSE

commit da25e8bcf9edad9d76d7ea65a8fa9396713b956e
parent 36401398378406d07c63899016ce7cb5bc7ec3dc
Author: ganten7 <ganten7@users.noreply.github.com>
Date:   Sat, 13 Dec 2025 20:16:16 -0600

Prepare v1.0.0 PyQt5 release

Diffstat:
MCHANGELOG.md | 3+--
MCONTRIBUTING.md | 11++++++++---
Mivory.py | 4++--
3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -31,7 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Borderless window mode with drag support - Context menu styling (dark mode aware: ivory on black / black on ivory) - Courier New font throughout (bold for UI, non-bold for chord display) -- Cross-platform support (Linux, Windows, macOS) via PyQt5 +- Cross-platform support (Linux, Windows, macOS) using PyQt5 ### Fixed - Minor 6th vs major 6th conflicts in closed voicings @@ -42,7 +42,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Scale vs chord detection for clustered notes ### Changed -- **Migrated from GTK3 to PyQt5** for better cross-platform compatibility - Chord labels now use parenthetical notation - Major add9: Cadd9 → C(add9) - Minor add9: Cmadd9 → Cm(add9) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md @@ -17,7 +17,7 @@ When reporting a bug, include: - **Steps to reproduce** the problem - **Expected behavior** vs actual behavior - **Screenshots** if applicable -- **System information** (OS, Python version, GTK version) +- **System information** (OS, Python version, PyQt5 version) - **MIDI device** being used - **Chord that was misdetected** (if chord detection issue) @@ -54,10 +54,15 @@ Feature suggestions are welcome! Open an issue with: ```bash # Linux (Debian/Ubuntu) -sudo apt-get install python3 python3-gi gir1.2-gtk-3.0 python3-cairo python3-gi-cairo libasound2-dev +sudo apt-get install python3 python3-pyqt5 python3-pyqt5.qtsvg # Install Python dependencies -pip install mido python-rtmidi +pip install -r requirements_pyqt5.txt +``` + +### Windows/macOS +```bash +pip install -r requirements_pyqt5.txt ``` ### Running from Source diff --git a/ivory.py b/ivory.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """ -PyQt5 version of Ivory - MIDI Keyboard Monitor with Chord Detection -Windows-compatible version using PyQt5 instead of GTK3 +Ivory - MIDI Keyboard Monitor with Chord Detection +Cross-platform application built with PyQt5 """ import sys