This page is intended for those who might be interested in hacking on JortJams or are simply curious about the way JortJams works.
The source code is available at https://gitlab.peach-bun.com/jortjams/jortjams. Build instructions are available.
JortJams is built using Qt 5 and Qt Quick 2. It is written in C++ and uses C++17 language features. The build system uses CMake.
Music identification uses youtube-dl and, if available, ffprobe. The music player is built on GStreamer. Data storage and access is provided by SQLite.
Parts of JortJams’ network code use Ragel.
Source code tour
├── fetch Code for the status / URL fetch program. ├── gui Code for the GUI. ├── guilib Library code shared between the GUI and GUI experiments. ├── player The music player. ├── jj │ ├── app [REMOVE] │ ├── cmake Custom CMake modules. │ ├── db Data models for objects in JortJams' database. │ ├── feeds Data structures and tools for handling status feeds. │ ├── icons Icons used in the GUI and other tools. │ ├── ipc Code to communicate state between the fetch and GUI programs. │ ├── log JortJams' logger utilities. │ ├── models [REMOVE] │ ├── network Network code: the HTTP client, youtube-dl interface, etc. │ ├── prefs Data models for storing preferences. │ ├── prof Profiling aids. │ ├── sq3 An SQLite wrapper; mostly adds RAII semantics to SQLite objects. │ ├── tasks [REMOVE] │ ├── util Shared algorithms and data structures. │ └── vendor Vendor code.