AlienDrew's MIDI Player Bot (Tampermonkey)

As of 5/9/2020, AlienDrew, a programming hobbyist, created a script (for Tampermonkey currently) that allows for playing MIDI files, either by direct URL links, or by uploading a MIDI to the script. You can check it out the tampermonkey script here, or the pure JS script here.

Here are the current commands:


 * /help (command) - displays info about command, but no command entered shows the commands
 * /about - get information about this bot
 * /link - get the download link for this bot
 * /feedback - shows link to send feedback about the bot to the developer
 * /ping - gets the milliseconds response time
 * /play [MIDI URL] - plays a specific song (URL must be a direct link to a MIDI file)
 * /stop - stops all music from playing
 * /pause - pauses the music at that moment in the song
 * /resume - plays music right where pause left off
 * /song - shows the current song playing and at what moment in time
 * /repeat - toggles repeating current song on or off
 * /sustain - toggles how sustain is controlled via either MIDI or by MPP
 * /loading - toggles the MIDI loading progress audio, or text, on or off
 * /midi - toggles the public bot commands on or off

Additionally, there are some shortcuts to some of these commands, but they are not mentioned in the help page. Beyond the commands, there is now buttons for just about every player function, from play, stop, pause, resume, repeat, and sustain. You can show the player buttons by clicking on the toggle button named "MIDI Player Bot".

Commands that are in development are:
 * /transpose (will transpose the song within a range of -12 to 12)
 * Default value is 0
 * /speed (will change the tempo of the song with a range of 1 to 300 %, and there will be a way to reset the speed)
 * Default value is 100
 * /volume (will change the volume of the song with a range of 1 to 100 %, and there will be a way to reset the volume)
 * Default value is 100
 * /multinote (given a value from 1 to 5, it will play midi's with each note simultaneously being pressed the given value at a moment in time)
 * Default value is 1
 * /mppconvert (this will allow converting some midi songs into full computer keyboard key presses for users that want to practice a song without knowing about sheet music)
 * /visualizer (will constantly change the background color to the beat of the midi)
 * Default is turned off

Other plans when this script is more polished is the consideration of creating Chrome/Firefox extensions to be used in the cases where users may not know how to use Tampermonkey, or similar user script extensions. The biggest plan for this is to completely replace the bot that BOSS made a while ago with Javascript. Eventually other commands may also get their own buttons, but for now it's only the upload button.