* Fix for Issue #470 to introduce bounds checking on loading performance files and when saving a new performance.
* Reduce number of performances to 256 and include some better error handling for when there are no performances free for saving.
* Fix for bank numbering to ensure voice/bank wrap around works as expected for first and last banks from the UI.
* Also as part of #491 fixes bank selection menu when selecting between skipped bank numbers up or down.
* Fix for Issue #457 - changed m_nNumLoadedBanks to be m_nNumHighestBank and updated functionality in menus accordingly.
* Fix for Issue #460 implements MIDI Bank Select MSB/LSB based on PR #395 submitted by @abscisys
* Fix for Issue #458 to not show blank banks in the menus. Also handles MIDI bank select messages and won't change banks if the final selected bank isn't loaded.
* Firm up bank validity handling slightly.
* Fix for Issue #459 Initial support for loading of headerless SysEx voice banks as a configuraton option
* Fix for Issue #459 Added config option for headerless SysEx voice banks.
* Implement option to allow MIDI Program Change messages to select aross four consecutive banks as discussed in Issue #391.
Note: It does not check if consecutive banks are loaded. That is down to the user. The default is "enabled".
* Skip empty voices while scrolling
* Added more cases where the voice is empty
* Filter out "EMPTY "
To be used together with a curated collection of banks that use the name `EMPTY ` instead of `INIT VOICE`
---------
Co-authored-by: probonopd <probonopd@users.noreply.github.com>
* Fix for issue #424 create a build script to check out the correct versions of sub libraries.
* Initial attempt at supporting loading SysEx files from subdirectories which seems to speed up loading significantly.
* Reinstate headerless SysEx file loading after subdirectory change
* Limit nesting of subdirectories to open
* Fix bank number in UI to match the numbers from the bank files.
* Update to fix bank numbers. Bank file numbers now start from 00001 and show as 1-indexed in the UI. But internally and via MIDI are still 0-indexed as per MIDI spec.
* Fix for Issue #457 - changed m_nNumLoadedBanks to be m_nNumHighestBank and updated functionality in menus accordingly.
* Fix for Issue #460 implements MIDI Bank Select MSB/LSB based on PR #395 submitted by @abscisys
* Fix for Issue #458 to not show blank banks in the menus. Also handles MIDI bank select messages and won't change banks if the final selected bank isn't loaded.
* Firm up bank validity handling slightly.
* Fix for Issue #459 Initial support for loading of headerless SysEx voice banks as a configuraton option
* Fix for Issue #459 Added config option for headerless SysEx voice banks.
* Fix for Issue #457 - changed m_nNumLoadedBanks to be m_nNumHighestBank and updated functionality in menus accordingly.
* Fix for Issue #460 implements MIDI Bank Select MSB/LSB based on PR #395 submitted by @abscisys
* Fix for Issue #458 to not show blank banks in the menus. Also handles MIDI bank select messages and won't change banks if the final selected bank isn't loaded.
* Firm up bank validity handling slightly.
* Update Circle develop branch
for SSD1306 display rotation support
https://github.com/probonopd/MiniDexed/discussions/412
* Implements rotation and mirroring options for SSD1306 displays (only). (#420)
Requires an update to circle (PR submitted to develop branch)
Co-authored-by: diyelectromusic <68612569+diyelectromusic@users.noreply.github.com>
* circle-stdlib e318f89
Needed to support Circle develop
* Fix for Issue 421 - circle sound drivers have moved to their own subdirectory and library.
* Updated to keep in step with updates from the original in circle-stdlib.
* git checkout circle-newlib 48bf91d
Needed for circle ec09d7e
Co-authored-by: probonopd <probonopd@users.noreply.github.com>
* Ignore clock and active sensing on serial MIDI
Fixes#416
I'm not entirely sure this is the correct way to fix it. But it does
seem to fix the problem I was seeing. I can now completely mash the
keyboard and no notes will get stuck on.
* Handle all system real time messages in serial