AidanHockey5 / MegaMIDI

A MIDI-compatible Sega Genesis/Megadrive Synthesizer with REAL sound chips.
https://www.aidanlawrence.com/mega-midi-a-playable-version-of-my-hardware-sega-genesis-synth/
GNU Affero General Public License v3.0
98 stars 15 forks source link

Filename scroll doesn't reinit when browsing to next opm file #6

Closed gweltou closed 3 years ago

gweltou commented 3 years ago

Hi Aidan, I bought one of your MegaMidi a few month ago and I still didn't took the opportunity to thank you for this beautiful little synth !

Here's a fix for the filename scroll problem 946501817dd7b22651a736d3e91b4966f8426204 I'm new to code contribution. Should I create a pull request ?

Thanks !

AidanHockey5 commented 3 years ago

Hello!

Could you elaborate more on your issue please? I couldn't recreate what was listed in your title. FYI, the unit is designed to stop updating the scrolling file name as soon as it receives any KEY-ON MIDI command. This is to reduce any digital noise that might occur from writing to the LCD while the user is playing. The scroll will also pause if you hit the rotary encoder to change the specific voice inside of the OPM file or the octave adjust, but will resume if no KEY-ON command was received and you navigate file picker. Once you change to a new OPM file, the file name scrolling should continue.

gweltou commented 3 years ago

Hi Aidan,

This happens when you browse from a file with a long name (say "Michael_Jacksons's_Moonwalker.opm") to the next file with a long name (say "Rocket_Knight_Adventures.opm") after the scrolling started. The scrolling of the second filename will start at the index left by the previous filename.

For example when the first row of the LCD screen displays this scrolling filename: ">ael_Jackson's_Moonw"

And I turn the encoder right to browse next file, the screen will display: ">et_Knight_Advendure" and continue scrolling from here.

Not a real issue but it can be an inconvenience when you have many consecutive long filename starting with the same sequence ("Rocket_Knight_Adventures_0.opm", "Rocket_Knight_Adventures_1.opm", "Rocket_Knight_Adventures_2.opm"...) A reset of the scrolling position would give a clear indication that you loaded the next file (which is not that obvious when the scrolling is continuous from a filename to the next). Also, that would make the behaviour consistent with browsing to previous file (encoder left), which does reset the scrolling position of the filename.

AidanHockey5 commented 3 years ago

Ah, okay, I see what you mean now. Yes, that's actually a very nice little feature. I've gone ahead and tested your changes and everything seems to check out! You can go ahead and create a pull request and I'll get that merged in.

Thank you very much for the contribution!

AidanHockey5 commented 3 years ago

Verified and merged. Thank you very much! #7