----------------------- FamiTracker PRV --------------- Version 1.4 ---------------------------------------------------------------- Welcome to one of the best FamiTracker Module readers on scratch! This project will read your FamiTracker Module's code, convert it to ScratchMIDI, and visualize it for you! You can use this to go along with the original music (or the ScratchMIDI music) in order to create visualization videos for your songs! >>> Limitations <<< Not all effects on the FamiTracker effects tables are supported. However, none create a huge issue as long as there are not unused patterns or speed changes. There will still be no problem, but the program plays the song from pattern 00 to 01 to 02 etc at a constant speed so it might not sound right. However, do NOT expand the effects channels in your song that you import or there WILL be an issue in the parsing. >>> How it works <<< The project works very simply. When you paste the data from your FamiTracker song (which is obtained extremely easily) this project will not only convert it to Scratch note blocks (ScratchMIDI) but it will also visualize the song for you via PRV (piano roll visualization). Once you've loaded your song, you can listen to it and other sample songs without even having to press See Inside! >>> Instructions <<< - [Import New...] : Upon pressing this button, a prompt will appear to paste in your FamiTracker Module data. If you already know how to do this, then simply do so. However, if you would like more help on this, scroll down to the part called "FTM to Scratch". - [Stop Song] : Pressing this will stop any song that is already playing. - [Play Song] : If a song is loaded (which by default, a song is not loaded), pressing this will play the song. - [Load...] : Pressing this will open up a menu to load an already imported song. The names will be listed and you will have to give the number of the song that you wish to load. - [↩] : Pressing this will toggle loop mode. If it is crossed off, loop mode is off. If it is on, the icon will be white. Loop mode will make the current playing song playing itself again when it finishes. - [Rmv.] : Pressing this will take you to the Remove menu. Here, you will type the number of the song that you wish to remove (nothing to cancel) or just type "all" to delete all imported songs. - [+] : Increases the delay between each note (makes the song go slower) - [-] : Decreases the delay between each note (makes the song go faster) - [Instr.] : Allows the option to edit your instruments >>> FTM to Scratch <<< Creating this project was actually a lot easier than I thought it would be. All I had to do was build a machine that could parse the FTM file and read it. Once it understood how to read it, it just had to organize everything into notes that scratch knew how to play. Unfortunately, Scratch does not let us open actual file extensions in the project. However, FamiTracker has an option where you can convert the FTM file to a TXT file which you can then paste here to create the song. To do so, open your FamiTracker song and... 1.) File > Export Text 2.) Name the file and save it 3.) Open the file you just created (Use Notepad to open it if you don't have anything else. It doesn't matter.) 4.) Select the entire file and copy it by pressing Control+A (Command+A on Mac) then pressing Control+C (Command+C on Mac) 5.) Select "Import New..." in this scratch project and paste in what you just copied by pressing Control+V (Command+V on Mac) >>> Version History <<< v1.0 // May 2, 2021 : - Initial Release v1.2 // May 3, 2021 : - Added a thumbnail - Updated UI - Patched general bugs v1.3 // May 4, 2021 : - Fixed visual eternal loading glitch when loading a new imported song v1.4 // May 5, 2021 : - Added the ability to change the instruments you use - Adjusted UI - Fixed loadtime errors >>> Credits <<< - All scripting is original scripting done by me, - Inspiration for solutions by (specifically converting the raw data to rows before directly parsing) - Songs: 1.) Endless Battlefield -- Remix by (Original song by Nintendo from Final Fantasy) (Convert to ScratchMIDI very well) Best at speed 0.06 2.) Pancake Department -- Fearofdark, 2012 (Does not convert to ScratchMIDI very well) Best at speed 0 3.) Flame Repellent -- Fearofdark, 2010 (Converts to ScratchMIDI decently) Best at speed 0.01 4.) Cargo of Fineries -- Jake Kaufman, Shovel Knight OST (Coverts to ScratchMIDI well) Best at speed 0 5.) Time Table Remix -- , 2020 (Converts to ScratchMIDI decently) Best at speed 0.02 6.) Nightshift -- Richard Meyer (Recreated by me in FamiTracker) (Converts well to ScratchMIDI) Best at speed 0.09 FamiTracker Song Codes 2-5 were all ripped from 's FamiTracker Visualization project ---------------------------------------------------------------------- Thank you!