Releases: MattEqualsCoder/MSURandomizer
MSU Randomiver v3.0.0
Change Log
MSU Directory Setting Changes
In order to hopefully combat issues with the MSU Randomizer detecting MSUs as the wrong type, some changes have been put in place to hopefully help it detect the right MSUs. Now, instead of a default MSU directory, you must add all of your MSU directories and tell it what type of MSUs are contained in that folder. Doing this will limit the MSU types used to scan the directory, hopefully helping it figure out what the MSU is.
Note that for anyone who was using the default MSU directory setting, it should automatically be replaced with an SMZ3 MSU directory as that should work for ALttPR, VARIA, and SMZ3 randomizers, which are likely to be the vast majority of users.
Unknown MSU Window
When booting up, if the MSU Randomizer detects any MSUs with at least 15 tracks that it isn't able to figure out what MSU type it is, it'll open a window with a list of all of the MSUs to allow you to specify what MSU type they are. If you don't set them to any MSU type, the window won't appear for that MSU again, though you can always update the MSU type after by right clicking an MSU and viewing its details.
Updated Jingle Sanity Support
An update has been made to how the MSU Randomizer shuffles tracks when in jingle sanity and all sanity modes. With this update, certain tracks are identified as jingle tracks just like before, but now when determining what pcm files are applied to the jingle track locations, it now uses the length of the actual song file now. Therefore, for people who use short songs for things such as the crystal get theme or bomb torizo wake up tracks, they will now be shuffled in with the jingles rather than tracks that are meant to loop.
MSU Messenger
Using GRPC, the MSU Randomizer and Library can be used to communicate between different applications. This will be used by the SMZ3 Cas' fork to inform it when songs change, but anyone is free to use the protocol if they want. You can view more information about the MSU Messenger here: https://github.com/MattEqualsCoder/MSURandomizer/blob/main/Docs/messenger.md
Better Hardware/FxPakPro Support
More of the normal functionality of the MSU Randomizer has been extended to work with the FxPakPro and other supported hardware that can be used to read MSUs from and upload files to. Other fixes have been made to match the more limited functionality of MSU Randomizer when in hardware mode since it is only capable of selecting a random MSU and not shuffling MSUs together.
- Fixed an issue where hardware MSUs would not be detected if the affiliated MSU on the local computer didn't have any PCM files associated with them.
- Fixed an issue where with hardware mode it would not open the current song window unless you booted the rom.
- Reset the filter dropdown when switching between non-hardware mode and hardware mode.
- Removed the shuffle frequency option when in hardware mode since it didn't do anything.
- Updated the MSU details panel to properly work with hardware and unknown MSUs.
- Updated hardware mode to better filter MSUs that are actually compatible with the desired MSU type (for example, ALttP will work with SMZ3 MSUs, but not legacy SMZ3 MSUs that start with Super Metroid tracks).
Miscellaneous Updates and Fixes
- Added support for the Zelda 1 and Metroid 1 ports to SNES.
- Added a warning if you generate an MSU and there are multiple tracks missing.
- Tweaked logging to avoid spamming the logs with continuous MSU support.
- Fixed the preview count of hardware MSUs including MSUs with no pcm files.
- If an MSU has a YAML file but the pcm files don't match the MSU, it'll be marked as an unknown MSU. This is to better handle SMZ3 MSUs that people might have as either split or combined.
MSU Randomiver v3.0.0 RC5
Change Log
MSU Directory Setting Changes
In order to hopefully combat issues with the MSU Randomizer detecting MSUs as the wrong type, some changes have been put in place to hopefully help it detect the right MSUs. Now, instead of a default MSU directory, you must add all of your MSU directories and tell it what type of MSUs are contained in that folder. Doing this will limit the MSU types used to scan the directory, hopefully helping it figure out what the MSU is.
Note that for anyone who was using the default MSU directory setting, it should automatically be replaced with an SMZ3 MSU directory as that should work for ALttPR, VARIA, and SMZ3 randomizers, which are likely to be the vast majority of users.
Unknown MSU Window
When booting up, if the MSU Randomizer detects any MSUs with at least 15 tracks that it isn't able to figure out what MSU type it is, it'll open a window with a list of all of the MSUs to allow you to specify what MSU type they are. If you don't set them to any MSU type, the window won't appear for that MSU again, though you can always update the MSU type after by right clicking an MSU and viewing its details.
Updated Jingle Sanity Support
An update has been made to how the MSU Randomizer shuffles tracks when in jingle sanity and all sanity modes. With this update, certain tracks are identified as jingle tracks just like before, but now when determining what pcm files are applied to the jingle track locations, it now uses the length of the actual song file now. Therefore, for people who use short songs for things such as the crystal get theme or bomb torizo wake up tracks, they will now be shuffled in with the jingles rather than tracks that are meant to loop.
MSU Messenger
Using GRPC, the MSU Randomizer and Library can be used to communicate between different applications. This will be used by SMZ3 to inform it when songs change, but anyone is free to use the protocol if they want. You can view more information about the MSU Messenger here: https://github.com/MattEqualsCoder/MSURandomizer/blob/main/Docs/messenger.md
Miscellaneous Updates and Fixes
- Added support for the Zelda 1 and Metroid 1 ports to SNES.
- Added a warning if you generate an MSU and there are multiple tracks missing.
- Fixed an issue where with hardware mode it would not open the current song window unless you booted the rom.
- Fixed an issue where hardware MSUs would not be detected if the affiliated MSU on the local computer didn't have any PCM files associated with them.
- Tweaked logging to avoid spamming the logs with continuous MSU support.
- Fixed the preview count of hardware MSUs including MSUs with no pcm files.
- Updated the MSU details panel to properly work with hardware and unknown MSUs.
- Removed the shuffle frequency option when in hardware mode since it didn't do anything.
- Updated hardware mode to better filter MSUs that are actually compatible with the desired MSU type (for example, ALttP will work with SMZ3 MSUs, but not legacy SMZ3 MSUs that start with Super Metroid tracks).
- Reset the filter dropdown when switching between non-hardware mode and hardware mode.
- If an MSU has a YAML file but the pcm files don't match the MSU, it'll be marked as an unknown MSU. This is to better handle SMZ3 MSUs that people might have as either split or combined.
MSU Randomizer v3.0.0-rc.2
Change Log
Updated Jingle Sanity Support
An update has been made to how the MSU Randomizer shuffles tracks when in jingle sanity and all sanity modes. With this update, certain tracks are identified as jingle tracks just like before, but now when determining what pcm files are applied to the jingle track locations, it now uses the length of the actual song file now. Therefore, for people who use short songs for things such as the crystal get theme or bomb torizo wake up tracks, they will now be shuffled in with the jingles rather than tracks that are meant to loop.
Unknown MSU Window
When booting up, if the MSU Randomizer detects any MSUs with at least 15 tracks that it isn't able to figure out what MSU type it is, it'll open a window with a list of all of the MSUs to allow you to specify what MSU type they are. If you don't set them to any MSU type, the window won't appear for that MSU again, though you can always update the MSU type after by right clicking an MSU and viewing its details.
MSU Messenger
Using GRPC, the MSU Randomizer and Library can be used to communicate between different applications. This will be used by SMZ3 to inform it when songs change, but anyone is free to use the protocol if they want.
Miscellaneous Updates and Fixes
- Added support for the Zelda 1 and Metroid 1 ports to SNES.
- Added a warning if you generate an MSU and there are multiple tracks missing.
- Fixed an issue where with hardware mode it would not open the current song window unless you booted the rom.
- Fixed an issue where hardware MSUs would not be detected if the affiliated MSU on the local computer didn't have any PCM files associated with them.
- Tweaked logging to avoid spamming the logs with continuous MSU support.
- Fixed the preview count of hardware MSUs including MSUs with no pcm files.
- Updated the MSU details panel to properly work with hardware MSUs.
- Removed the shuffle frequency option when in hardware mode since it didn't do anything.
- Updated hardware mode to better filter MSUs that are actually compatible with the desired MSU type (for example, ALttP will work with SMZ3 MSUs, but not legacy SMZ3 MSUs that start with Super Metroid tracks).
- Reset the filter dropdown when switching between non-hardware mode and hardware mode.
MSU Randomizer v3.0.0-rc.1
Change Log
Updated Jingle Sanity Support
An update has been made to how the MSU Randomizer shuffles tracks when in jingle sanity and all sanity modes. With this update, certain tracks are identified as jingle tracks just like before, but now when determining what pcm files are applied to the jingle track locations, it now uses the length of the actual song file now. Therefore, for people who use short songs for things such as the crystal get theme or bomb torizo wake up tracks, they will now be shuffled in with the jingles rather than tracks that are meant to loop.
Unknown MSU Window
When booting up, if the MSU Randomizer detects any MSUs with at least 15 tracks that it isn't able to figure out what MSU type it is, it'll open a window with a list of all of the MSUs to allow you to specify what MSU type they are. If you don't set them to any MSU type, the window won't appear for that MSU again, though you can always update the MSU type after by right clicking an MSU and viewing its details.
MSU Messenger
Using GRPC, the MSU Randomizer and Library can be used to communicate between different applications. This will be used by SMZ3 to inform it when songs change, but anyone is free to use the protocol if they want.
Miscellaneous Updates and Fixes
- Added support for the Zelda 1 and Metroid 1 ports to SNES.
- Added a warning if you generate an MSU and there are multiple tracks missing.
- Fixed an issue where with hardware mode it would not open the current song window unless you booted the rom.
- Fixed an issue where hardware MSUs would not be detected if the affiliated MSU on the local computer didn't have any PCM files associated with them.
- Tweaked logging to avoid spamming the logs with continuous MSU support.
MSU Randomizer v2.1.0 Release Candidate 1
Change Log
Updated Jingle Sanity Support
An update has been made to how the MSU Randomizer shuffles tracks when in jingle sanity and all sanity modes. With this update, certain tracks are identified as jingle tracks just like before, but now when determining what pcm files are applied to the jingle track locations, it now uses the length of the actual song file now. Therefore, for people who use short songs for things such as the crystal get theme or bomb torizo wake up tracks, they will now be shuffled in with the jingles rather than tracks that are meant to loop.
MSU Randomizer v2.0.0
Change Log
New UI and Cross Platform Support
The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.
Shuffle Styles
There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:
- Standard shuffle: shuffle songs meant for that location
- Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
- Chaos shuffle - shuffle full length songs not meant for a given location (ignoring short special jingles)
- Chaos shuffle (jinglesanity) - shuffle all songs not meant for a given location (does not swap jingles for full songs and vice versa)
- Chaos shuffle (allsanity) - shuffle all songs songs not meant for a given location (sometimes swaps full length and jingle songs)
Current Playing Track Display
For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.
For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)
Shuffle Frequency Settings
Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.
Boot Rom Support
If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.
Hardware Support
If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.
Misc Bugs and Fixes
- Fixed an issue with loading MSUs where the case is inconsistent
- Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
- Added a setting to scale the UI
- You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
- In the settings you can now specify a path to move roms to when generating MSUs. You can use this to keep things like your downloads folder clean.
- Updated the project to .net 8
MSU Randomizer v2.0.0 Release Candidate 2
NOTE: This is a release candidate and has some significant changes. There may be some issues. If you run into any problems, please open an issue here: https://github.com/MattEqualsCoder/MSURandomizer/issues
Change Log
New UI and Cross Platform Support
The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.
Shuffle Styles
There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:
- Standard shuffle: shuffle songs meant for that location
- Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
- Chaos shuffle - shuffle full length songs not meant for a given location (ignoring short special jingles)
- Chaos shuffle (jinglesanity) - shuffle all songs not meant for a given location (does not swap jingles for full songs and vice versa)
- Chaos shuffle (allsanity) - shuffle all songs songs not meant for a given location (sometimes swaps full length and jingle songs)
Current Playing Track Display
For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.
For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)
Shuffle Frequency Settings
Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.
Boot Rom Support
If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.
Hardware Support
If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.
Misc Bugs and Fixes
- Fixed an issue with loading MSUs where the case is inconsistent
- Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
- Added a setting to scale the UI
- You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
- In the settings you can now specify a path to move roms to when generating MSUs. You can use this to keep things like your downloads folder clean.
- Updated the project to .net 8
MSU Randomizer v2.0.0 Release Candidate 1
NOTE: This is a release candidate and has some significant changes. There may be some issues. If you run into any problems, please open an issue here: https://github.com/MattEqualsCoder/MSURandomizer/issues
Change Log
New UI and Cross Platform Support
The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.
Shuffle Styles
There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:
- Standard shuffle: shuffle songs meant for that location
- Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
- Chaos shuffle - shuffle full length songs not meant for a given location (ignoring short special jingles)
- Chaos shuffle (jinglesanity) - shuffle all songs not meant for a given location (does not swap jingles for full songs and vice versa)
- Chaos shuffle (allsanity) - shuffle all songs songs not meant for a given location (sometimes swaps full length and jingle songs)
Current Playing Track Display
For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.
For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)
Shuffle Frequency Settings
Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.
Boot Rom Support
If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.
Hardware Support
If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.
Misc Bugs and Fixes
- Fixed an issue with loading MSUs where the case is inconsistent
- Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
- Added a setting to scale the UI
- You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
- In the settings you can now specify a path to move roms to when generating MSUs. You can use this to keep things like your downloads folder clean.
- Updated the project to .net 8
MSU Randomizer v2.0.0 Beta 2
Change Log
New UI and Cross Platform Support
The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.
Shuffle Styles
There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:
- Standard shuffle: shuffle songs meant for that location
- Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
- Chaos shuffle: shuffle in songs not meant for a given location, ignoring special tracks
- Chaos shuffle (full chaos): shuffle in songs not meant for a given location, including special tracks like the crystal get theme
Current Playing Track Display
For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.
For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)
Shuffle Frequency Settings
Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.
Boot Rom Support
If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.
Hardware Support
If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.
Misc Bugs and Fixes
- Fixed an issue with loading MSUs where the case is inconsistent
- Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
- Added a setting to scale the UI
- You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
- Updated the project to .net 8
MSU Randomizer v2.0.0 Beta 1
Change Log
New UI and Cross Platform Support
The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.
Shuffle Styles
There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:
- Standard shuffle: shuffle songs meant for that location
- Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
- Chaos shuffle: shuffle in songs not meant for a given location, ignoring special tracks
- Chaos shuffle (full chaos): shuffle in songs not meant for a given location, including special tracks like the crystal get theme
Current Playing Track Display
For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.
For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)
Shuffle Frequency Settings
Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.
Boot Rom Support
If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.
Hardware Support
If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.
Misc Bugs and Fixes
- Fixed an issue with loading MSUs where the case is inconsistent
- Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
- Added a setting to scale the UI
- You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
- Updated the project to .net 8