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