Skip to content

YoShibyl/SngConverterGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNG Converter GUI

A Python3/Tkinter GUI application designed to aid in creating/extracting .sng container files for Clone Hero, YARG, and other rhythm games, using SngCli by mdsitton.

Warning

This application is currently in beta, so bugs and issues will probably occur, especially on Windows where I have yet to test this. There's a decent amount of work to be done in order to optimize this tool.

Please make backups if possible. I am not responsible for any data loss that may happen.

"Why not just use Onyx?"

Because, at least in my experience, Onyx's .sng conversion process seems to do something to the chart data, resulting in a different song hash in games like YARG. This affects the in-game score saving for songs compiled to .sng using Onyx.

The goal of this application will be to offer an easy way to use mdsitton's SngCli tool, hopefully without having to mess with command-line arguments and stuff. (PyInstaller builds coming soon™)

Prerequisites and Setup

  • The latest SngCli release
  • Python 3.13 or newer (if running directly from source code)
  • Linux or Windows

Running from source code

If running directly from the source code (download/clone this repository), you'll need to install some packages from pip, preferably in a virtual environment, with the requirements.txt file:

pip install -r requirements.txt

To launch the application:

python sngconverter.py

Usage

  1. Choose the SngCli[.exe] executable path by clicking the Choose file button on the top row and browsing to where you have SngCli[.exe] downloaded.
  2. Select a folder containing chart folders and/or .sng files by clicking Choose folder on the second row and browsing to your desired folder.
  3. Click Scan folder for songs, and wait patiently while the folder is scanned for songs. This could take a while with large numbers of songs and/or slower hardware.
  4. If you would like to extract .sng files instead of building them, you can change the conversion mode to Extract.
  5. Select your output folder. This defaults to a folder called output within the app's current working directory.
  6. You have two options for converting songs:
    • You can manually select a few songs to convert by clicking on the resulting song entries in the table view (toggles selection of each song), and then clicking Convert selected song(s) individually. Note: this will currently run SngCli once for every song entry selected, which is incredibly inefficient, so make sure to only select a few songs with this method!
    • (preferred method for entire song libraries/setlists) You can process the entire folder with the Convert entire folder button.

Known issues / planned features

  • Converting songs by manual selection is slow due to the current method of running SngCli for every selected song
  • The "More options" dialog has yet to be implemented, but it will include additional options for video background exclusion, opus encoding, application dark/light mode, and more.

Like I said, this application is experimental, so let me know of any bugs, preferably on Discord @ yoshibyl

Credits and References

I'm kind of tired right now...

About

A Tkinter GUI application to aid in creating/extracting .sng container files for rhythm games.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages