Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastTrack

Stars Badge

Forks Badge

Watchers Badge

Issues Badge


Live Tool Live Tool - Itch.io License




Overview

A static, browser-based tool for building Ren'Py-style index.txt audio definition files from batches of .ogg files.


Why

The client pipeline previously relied on a Python script (index.py) that reads TRACKNUMBER metadata from .ogg files with mutagen and writes out lines like:

define audio.character_characterline = "sound/character/character_line.ogg"

That works, but it's a one-shot CLI script with no visibility into what it's about to do, no way to reorder tracks without re-tagging files, and it halts completely on the first bad filename. FastTrack brings the same output format into a visual, drag-and-drop tool: drop files in, see everything at once, reorder or renumber by hand, fix problem files inline, export.

Key Features

  • Multiple containers — unlike a single-track tool, FastTrack lets you run several independent drop zones ("containers") at once, each with its own file list and ordering.
  • Track numbers, three ways — read from an existing TRACKNUMBER Vorbis comment tag, typed in manually, or auto-assigned from drop/drag order if neither is set.
  • Drag-to-reorder — grab the handle to reorder files within a container; unnumbered tracks renumber themselves automatically.
  • Inline validation — filenames are checked against the same rules as the original script (single .ogg extension, exactly one underscore). Bad files are flagged in place and simply excluded from export, instead of halting the whole batch.
  • Zero-server — everything runs client-side. No audio file content or metadata is ever uploaded anywhere.

How to Use

  1. Add a container: Click + Add Container for each independent batch/group you want to track separately (one is created for you by default).
  2. Drop files: Drag .ogg files into a container's drop zone, or click it to browse. Track numbers are read from tags automatically where present.
  3. Reorder / renumber: Drag rows by the handle to reorder, or type directly into the Track field to set a number manually. Click on a row to release a manual/tag number back to auto-ordering.
  4. Fix problem files: Rows outlined in red failed filename validation — hover for the reason. They're excluded from export until renamed.
  5. Export: Choose Combined index.txt (one file, containers separated by # comments) or Separate .txt per container. Check Include tagged .ogg files (.zip) to also get every valid file back with its TRACKNUMBER written in, laid out at sound/<gameFolder>/<file>.ogg — the same path used in the define line — so the zip can be extracted straight into the project's sound folder. Then click Export.

Output Format

Matches index.py exactly:

define audio.<name> = "sound/<gameFolder>/<filename>.ogg"

where <gameFolder> is everything before the first _ in the filename, and <name> is the filename without its extension.

Filename Rules

A file must have:

  • exactly one . (a single .ogg extension), and
  • exactly one _ (separating the game folder from the rest of the name)

e.g. character_characterline.ogg → folder character, define name character_characterline.

Tagged Audio Export

Checking Include tagged .ogg files (.zip) rewrites the TRACKNUMBER Vorbis comment directly inside each .ogg's container (js/OggTagWriter.js) and bundles the result with the index text(s) via a small dependency-free ZIP writer (js/ZipWriter.js, STORE method - no point deflating audio that's already compressed).

Only the comment header packet is rebuilt; every audio-bearing page is copied through byte-for-byte, so there's no re-encoding and no quality loss — verified by decoding both the original and tagged files to raw PCM and confirming an identical checksum. If a file can't be parsed as a single-stream Ogg Vorbis file (Opus, chained streams, corrupt data), it's included in the zip untouched and reported by name after export rather than silently dropped or blocking the whole batch.

Limitations

  • Format: Only .ogg is accepted, matching the existing pipeline. Tag writing additionally assumes standard single-stream Ogg Vorbis (not Opus) — the format game audio pipelines like this one use.
  • Metadata reading: Track numbers are read by scanning the file for a TRACKNUMBER= Vorbis comment as raw text, not a full Ogg page parser. This mirrors the technique already used for loop-point tags — reliable for standard taggers, but not a general-purpose metadata library.
  • No playback / waveform: Out of scope for this tool by design; could be added later if needed.

Intellectual Property & Privacy

  • The Tool: FastTrack's code, layout, and design are provided as-is.
  • Your Assets: You retain full ownership of any files you load or export using this tool.
  • Data Privacy: FastTrack is a static client-side web app — no audio files or metadata are ever uploaded to a server.

About

Fast, browser-based audio index generator with Ogg Vorbis TRACKNUMBER tagging.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages