Skip to content

bcowell/chart-list

Repository files navigation

CHART LIST

Song library manager for Clone Hero & YARG

logo

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.

Features

  • 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

Setup

  1. 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.

Deleting Songs

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

Developer Details

Song Formats

Clone Hero — folder-based

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 = 4

YARG — .sng packed format

A .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

Tech Stack

Layer Choice
Framework Tauri v2
Frontend React + TypeScript + Vite
Backend Rust
Storage SQLite
Distribution GitHub Releases (msi / dmg / AppImage)

Dev Setup

npm install
npm run tauri dev

Releases

Releases 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:

  1. Update the version number in the following places:
  1. 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.1

The workflow will create a GitHub Release and attach the platform installers once all three builds complete.

About

A song library manager for Clone Hero and YARG.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages