- Added configuration classes for
chordwindow
andstaffwindow
- Introduced
dataclass
for easier configuration modification. This requires python 3.7 or higher versions.
- Added default midi playback when using mouse on
keyboardwidget
- Fixed path problem for
pyinstaller
- Slightly optimized keyboard widget drawing performance using
QPixMap
- Virtual MIDI keyboard! with
space
key as the sustain pedal.
- Fixed some wrong chord name.
- Fixed wrong accidental displaying bug.
- Improvement on performance of
staffwidget
by reusing vacant widgets for less reloading. - Slightly adjusted the offset of double-flat accidental sign.
- Greatly boosted performance by replacing all the
eval
calls todict
queries. - Fixed the bug of midi selection not working
- Added midi in selection dialog
- Windows opacity. Adjusted by mouse wheel.
- Frameless main window, thus nicer appearance
- I finally decide to rename it to
Just Chord
and publish it on github. It's hard to give it a new name! - Added context menu for
chordwindow
- Added auto key detection using 'window' method.
- Added key signature support to staff window
- Merged windows one main window.
- Now in staff window, note with accidental can be simplified according to the key signature.
- Fixed the bug that some notes won't turn off when monitor receives new MIDI messages.
- Improvement on the constructors using config variable.
- TODO: add keyboardWidget
- Added StaffWindow
- Deprecated widget manager
- Less running resource when monitoring MIDI activities.
- Added MIDI message queue
- Change chord data to string
- Optimized for chord data
- Added functions to calculate accurate name of a chord tone
- Bugs:
- No support for complex accidental signatures
- Unstable accidental sign position
- Draggable!
- make the classes in separate files.
- Testing the analysis of chord progression no GUI now.
- More standardized numerals
- fixed the bug when switching between sharp/flat
- Use
Tab
to switch active windows. - Added roman style for functional harmony (I IV V...), toggled with
Ctrl + R
, and you can set the tonal by press the number of the key signatures. (if sharp pressS
) - More scales...
- Now the
MainWindow
is changed toWidget
for better layout. - The Chord's name now is a pair (root, name)
- Bigger root note and auto repainting.
- Rest Chords showed below (optional)
- the chordlabel was separated into
MainWindow
's subclassChordWindow
- deleted the
InitRtMidi
thread and made it synchronized
- GUI with PyQt
- More chords
- Better chord indentification and judgement