A simple audio player
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
abakkk a18c454e5f Update to Codeberg 2 years ago
build-aux Improve build parsers 2 years ago
data Update to Codeberg 2 years ago
po Misc build modifications 2 years ago
src Use the app icon as empty placeholder 2 years ago
AUTHORS Update to Codeberg 2 years ago
COPYING Initial commit 3 years ago
NEWS Update NEWS 2 years ago
README.md Update to Codeberg 2 years ago
meson.build Update to Codeberg 2 years ago
meson_options.txt Change app id for local flatpak build 3 years ago
org.codeberg.som.Tracks.json Update to Codeberg 2 years ago
org.codeberg.som.Tracks.localbuild.json Update to Codeberg 2 years ago



A simple audio player.


  • Local files and streams (websites, radios, podcast feeds, etc)
  • Recursive folder discovering
  • Internal playlists
  • Text search to filter the playlist by title, artist, album and genre
  • Client-side decoration (CSD) or title bar


Tracks has minimal dependencies. To resume, if you have GJS, GStreamer and GTK4 you are good.


  • GdkPixbuf (gdk-pixbuf-2.0)
  • GIO (gio-2.0)
  • GJS (gjs-1.0, >= 1.67.3)
  • GLib (glib-2.0)
  • GObject (gobject-2.0)
  • GStreamer (gstreamer-1.0)
  • GStreamer Base Plugins Libraries (gstreamer-plugins-base-1.0)
  • GStreamer Base Utils Library (gstreamer-pbutils-1.0)
  • GTK4 (gtk4)

GdkPixbuf, GIO, GLib and GObject should come with GTK4.
GStreamer is a plugin-based framework. Media playing capacities depend on the well-known base, good, ugly and bad plugins.


  • GnomeDesktop (gnome-desktop-3.0)
  • GStreamer Tag Library (gstreamer-tag-1.0)
  • GStreamer Good Plugins
  • youtube-dl

GnomeDesktop is a small library used to generate thumbnails for mpris clients.
GStreamer Tag Library is not important and should come with GStreamer Base Utils Library.
GStreamer Good Plugins is necessary to display the “spectral” playing indicator.
youtube-dl extracts media uris from feeds and video-sharing websites.



Build and install:

meson build && cd build && ninja && sudo ninja install


cd build && sudo ninja uninstall
sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas
sudo update-desktop-database /usr/local/share/applications/

Clean the home after uninstalling:

dconf reset -f /org/codeberg/som/Tracks/
rm -rf ~/.local/share/tracks

A org.gnome.Sdk runtime is required. The runtime versions can be edited in the JSON manifest to match preexisting ones and avoid unnecessary downloads.

Build and test:

flatpak-builder --force-clean build-dir org.codeberg.som.Tracks.json
flatpak-builder --run build-dir   org.codeberg.som.Tracks.json org.codeberg.som.Tracks

Build and install:

flatpak-builder --install --force-clean build-dir org.codeberg.som.Tracks.json
flatpak run org.codeberg.som.Tracks


flatpak remove --delete-data org.codeberg.som.Tracks