Truss is a rewrite of Bridge in Rust. Search Chorus Encore (and RhythmVerse, if you turn it on), pick some charts, and they land straight in your Clone Hero or YARG songs folder.
It's a single .exe. There's no installer and nothing else to set up: download it and run it.
![]() Chart preview |
![]() Leaderboards |
![]() Advanced search |
![]() Library |
![]() Settings |
Search and download. Search Encore, tick as many charts as you like, and download them in one go. Downloads run in the background, and a small button in the corner shows how far along they are. Charts you already have get a ✓ in the results. New uploads show up while Truss is open: it checks every few minutes, no restart needed.
Previews. Watch a chart scroll by before you download it. For charts you already have, the preview plays from your own copy.
RhythmVerse. Turn it on in Settings > Chart sources and its Clone Hero charts show up next to Encore's. They download from RhythmVerse, Google Drive or MediaFire (.zip, .7z, .rar or .sng). Truss keeps its own copy of RhythmVerse's chart list on your PC, so searching it is instant, and tops it up from RhythmVerse every few minutes. RhythmVerse has no public API, so this could stop working if the site changes.
Leaderboards. See the top 50 Clone Hero scores for a chart. This works for RhythmVerse charts too, and for Encore charts whose listed hashes are out of date, because Truss reads the chart and works the hash out itself.
How hard is it? Hover a difficulty to see its Fretwork tier, or turn tiers on everywhere in Settings. The Library tab also graphs difficulty across the song, so you can see where the hard parts are.
Star Power paths. CHOpt is built into the Tools tab. Pick a chart from your library and Truss draws the best Star Power path for it. It covers guitar, bass, rhythm, keys and co-op with Clone Hero's standard and precision scoring, and has CHOpt's squeeze, early whammy, video calibration, speed and lefty options. Results match CHOpt 1.19.
Your library. Click any chart to see its details: album art, difficulties, a preview and its leaderboard. The Library tab also shows which charts are missing album art, backgrounds, video or lyrics, spots duplicates, and can move charts you don't want to the Recycle Bin. Your library is remembered between runs, so it's ready as soon as Truss opens.
Scene Switcher. For streamers using OBS (Tools tab). It switches scenes when Clone Hero starts and ends a song, shows your Ouvert request queue, and can skip to the next song through Ouvert or a Twitch chat command. It shares its settings with the standalone CH Scene Switcher.
Themes. Pick a built-in theme, or make your own in Tools > Themes: choose each colour with a picker and see a preview as you go. A theme can also decide whether the window is solid or frosted glass (which blurs whatever is behind it, on Windows). Export a theme to share it as a small file, and import ones other people made.
Coloured names. On the Library tab, song names, artists and charters show the colours charters gave them in Clone Hero (you can turn this off).
A few things from Bridge haven't been ported: Report issue and UI zoom.
Truss is licensed GPL-3.0 (see LICENSE), like Bridge,
which it's a port of. The chart parser, issue checks and preview are ported from Geomitron's
scan-chart and
chart-preview (MIT). Fretwork tiers and graphs are
ported from Staycation's Fretwork (MIT). Star Power
paths are a Rust port of Raymond Wright's CHOpt
(GPL-3.0). The full list, including the libraries Truss is built with, is in Settings > Credits.
cargo build --release
That gives you target/release/truss.exe, a single file of about 22 MB. The C runtime is linked
in, so it runs on a fresh Windows install. To leave RhythmVerse out:
cargo build --release --no-default-features.
The frosted glass needs small patches to iced, which live in vendor/ (see vendor/README.md).
cargo test --release
Some tests need the network or a real library, and are off unless you ask for them:
- Check the chart parser against Encore:
TRUSS_TEST_ENCORE=1 cargo test --release track_hashes - Compare the issue scanner with Encore:
TRUSS_TEST_ENCORE=1 cargo test --release issues_match_encore -- --nocapture - Time a scan of a real library:
TRUSS_TEST_LIBRARY="C:/path/to/Songs" cargo test --release scan_real -- --nocapture
Truss checks this repo's latest GitHub release when it starts (Settings > Updates). It can download the new version, check its SHA-256 and restart into it.
To publish a release, set version in Cargo.toml, add a section for it to CHANGELOG.md,
commit, then push a matching tag:
git tag v0.2.0
git push origin main v0.2.0
GitHub Actions (.github/workflows/release.yml) runs the tests, builds truss.exe and publishes
it with truss.exe.sha256, using the CHANGELOG section as the release notes.
src/main.rs: the iced UI, the downloads queue (2 at a time) and the results listsrc/api.rs: Encore search and album art (thumbnails are decoded off the UI thread)src/download.rs: downloading, folder naming and filename cleanupsrc/sng.rs:.sngextraction, writing files as the bytes arrivesrc/zip_ranges.rs: fetches only the files it needs from a remote .zip (skipping videos)src/settings.rs: settings, kept in%APPDATA%\truss\config\settings.jsonsrc/chart.rs:.chart/.midparser ported from scan-chart (checked against Encore's track hashes)src/audio.rs: multi-stem audio playback (libopus and symphonia)src/preview.rs,src/preview_panel.rs,src/textures.rs: the chart preview and its controlssrc/advanced.rs: the Advanced search formsrc/library.rs,src/library_ui.rs,src/lyrics.rs: scanning your library, its cache, and the Library pagesrc/tools_ui.rs: the Tools pagesrc/theme_maker.rs: Tools > Themes (custom themes, colour picker, import and export)src/chopt/,src/path_ui.rs: the Star Power path optimiser (Rust port of CHOpt) and its pagesrc/fretwork.rs,src/curves.rs,src/graph.rs: Fretwork tiers, difficulty curves and the graphsrc/rhythmverse.rs,src/rv_catalog.rs,src/rv_ui.rs: RhythmVerse search, its local chart list (SQLite) and downloadssrc/scenes.rs,src/scenes_ui.rs: the OBS Scene Switcher (OBS WebSocket 5), Ouvert queue and Twitch sign-insrc/issues.rs: chart issue checks (ported from scan-chart), currently hidden in the appsrc/extras.rs: extra chart details (library badge, detected issues, version picker, Google Drive link)src/rich.rs: Clone Hero's colour, bold and italic tags in namessrc/vlist.rs: a virtualized list, so tables of 30,000+ charts stay smooth





