For Developers
Building TinePlayer from source, how it is put together, and where to report problems.
TinePlayer is free and open source under the MIT license. It is written in Rust, draws its interface with GTK 4, and plays everything through GStreamer: a video file's audio tracks are already separate streams inside the container, so the file is demuxed once and each chosen track is sent to its own output from a single pipeline. Staying in step is not something that has to be maintained - it is all one clock.
The Source
- The repository - the code, and the documentation that lives with it
- Building from source - what to install first on each platform, and what you get
- Packaging - how the installer, the disk images, and the Debian packages are built
- Third-party licenses - everything TinePlayer is built from, and its terms
On macOS, build the packaged application rather than running a local build if a screen reader matters to you. A build made against Homebrew's GTK is silent to VoiceOver, because that build has no AccessKit backend compiled in. See Accessibility.
Driving It From Your Own Software
None of this needs a source build:
- Command Line - every option, what each one accepts, and how to run it on each platform
- Advanced Integration - launching TinePlayer from a script, a shortcut or another application
- Config File - every setting as it appears in
config.yaml
Problems and Ideas
Open an issue for anything broken, or start a discussion for anything else.
Reports from people who use a screen reader or rely on audio description are especially useful.

