* Initial attempt to include USB Gadget Mode as a configuration option. Note: Also requires a move to the latest release of circle.
* Set "official" (as allocated from pid.codes) USB vendor and device ID for MiniDexed
* Initial implementation of Program Up/Down and Tone Generator Up/Down selection and short cuts as buttons and MIDI buttons.
* Add configuration option for Program Change to act on Voices within a TG or Performances.
* Added PC option to Performance menu. Various bug fixes. Allow menu updating if on Performance/Load display. Swapped TG1 and TG3 in Performance 000008 so that TG1 is set to MIDI CH 1 in all Performances.
* Minor fixups in formatting and so on after review.
* Formatting fixups
* Changed config setting to match description in original manuals: Performance Select Channel. Also now accepts 1-16 or Omni as values.
* Additional fix to ensure GPIO buttons are working correctly on Voices or Performances.
* Changed initialisation order for PerformanceSelectChannel to avoid asset problem on a Pi 4 and updated menu text to fit nicely on a HD44780 display.
* Added Engines Mark I and OPL
* Added Engine selection
* Update config.cpp
* Added selection for Engine Type
* Added Engine Type selection
* Update build.yml
* Fixes
* Reverting to an old commit (I screwed up)
* Small fix
* Small Fixes
* Fix for error when compiling on 64-bit platforms
* Casting of the engine variable corrected
* Changed the way we parse and set the engine type from the config file following @diyelectromusic suggestions
* Fixed a typo
* Update Synth_Dexed commit
* Moved blocks of code around
* Update Synth_Dexed to 8c67f73
https://github.com/probonopd/MiniDexed/issues/403#issuecomment-1455130745
* Update Synth_Dexed to a908f78
https://github.com/probonopd/MiniDexed/discussions/358#discussioncomment-5358731
* Synth_Dexed deb0905
* Add EngineMsfa.o to Makefile
* Don't add EngineMsfa.o here...
* ...but add EngineMsfa.o here
* Fix missing \
* Update build.yml
* Add Synth_Dexed to the submodules update
* Update Synth_Dexed
* Update Synth_Dexed to c9f5274
https://github.com/probonopd/MiniDexed/issues/526#issuecomment-1670217925
---------
Co-authored-by: probonopd <probonopd@users.noreply.github.com>
* 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
* First implementation of NoteOn/NoteOff MIDI UI buttons
* First implementation of NoteOn/NoteOff MIDI UI buttons
Co-authored-by: diyelectromusic <68612569+diyelectromusic@users.noreply.github.com>