|
Song library manager for Clone Hero & YARG |
|
A song library manager for Clone Hero and YARG (Yet Another Rhythm Game).
Songs can either be groups of folders containing chart data, audio, metadata and optional videos or effects; or packed .sng files. This tool is a desktop application to browse, query, and manage your library.
- Filter and search across all songs
- Remove unwanted songs
- Detect duplicates
- View/edit song difficulties and metadata (title, artist, album, length, genre, charter)
- Preview songs (courtesy of Geomitron's "chart-preview")
- Supports both Clone Hero and YARG song formats
- Choose a root folder. Ex. D:\songs.
That's pretty much it. We'll scan all folders recursively from the root, just like the games. Then you can manage your library how you please.
By default when you delete a song - the song's folder is moved to your system's trash bin.
Under settings you can set delete to always permanently delete; as in wipe the folder and any knowledge that we ever had the song.
You can also change the default archive location from the trash bin to another location in the settings. So when deleting it will instead move them to the folder ex. D:\archived_songs
songs/
└── Through the Fire and Flames - DragonForce/
├── song.ini # metadata (title, artist, album, year, difficulty, etc.)
├── notes.chart # or notes.mid
├── song.ogg # backing track
├── guitar.ogg # guitar stem
├── drums.ogg # drums stem
├── bass.ogg # bass stem
└── album.png # optional cover art
song.ini example:
[song]
name = Through the Fire and Flames
artist = DragonForce
album = Inhuman Rampage
year = 2006
charter = SomeCharter
genre = Power Metal
diff_guitar = 6
diff_drums = 5
diff_bass = 4A .sng is a binary container holding the same files as above, bundled into one file.
songs/
├── through-the-fire-and-flames.sng
├── bo-rap.sng
└── welcome-to-the-jungle.sng
| Layer | Choice |
|---|---|
| Framework | Tauri v2 |
| Frontend | React + TypeScript + Vite |
| Backend | Rust |
| Storage | SQLite |
| Distribution | GitHub Releases (msi / dmg / AppImage) |
npm install
npm run tauri devReleases are built automatically via GitHub Actions for Windows (.msi), macOS (.dmg), and Linux (.AppImage / .deb) when a version tag is pushed.
Versioning convention:
- Alpha:
v0.1.0-alpha.1 - Beta:
v0.1.0-beta.1 - Stable:
v1.0.0
Alpha and beta tags are automatically marked as pre-releases on GitHub.
To publish a release:
- Update the version number in the following places:
- Create and push a tag with optional alpha or beta subversion.
git tag v0.1.0-alpha.1
git push origin v0.1.0-alpha.1The workflow will create a GitHub Release and attach the platform installers once all three builds complete.
