Light weight front-end for Mopidy music server.
Argos is designed (and used!) with Gnome desktop and single-board devices with small touchscreen in mind.
- Playback state & tracklist view
- Volume control (depending on mixer configuration of Mopidy server)
- Library browser
- View and edition of playlists exposed by Mopidy-M3U
- Play any stream supported by Mopidy-Stream
- Abstracts of album and artist pages on Wikipedia (based on Musicbrainz identifiers)
Consult the NEWS file for notable changes between versions.
Note that the library is almost agnostic of Mopidy extensions (it has been reported to successfully give access to resources exposed by Mopidy-Bandcamp, Mopidy-Local, Mopidy-File, Mopidy-InternetArchive, Mopidy-Jellyfin, Mopidy-Podcast and Mopidy-SomaFM).
Argos can be easily installed on Linux distributions supporting Flatpak:
$ flatpak install flathub io.github.orontee.Argos $ flatpak run io.github.orontee.Argos
Visit Argos page on Flathub for detailed instructions.
Argos was developed to be deployed on a Raspberry Pi Model 2B (hosting a Mopidy
server) running Raspian OS with LXDE desktop environment. It's a 32-bits beast based on armv7 and unfortunately
there's no chance to have Flatpak support this architecture according to this
freedesktop-sdk
issue: Decommissioning armv7.
Installation on such platform is handled through a DEB package that can be downloaded from the Releases page:
$ VERSION=1.15.0 $ wget https://github.com/orontee/argos/releases/download/v${VERSION}/argos_${VERSION}-1_all.deb $ sudo apt install -yf argos_${VERSION}-1_all.deb
It is recommended to install the library aiohttp-client-cache to use a persistent HTTP cache (note that this library isn't available as DEB package at present time):
$ sudo apt install sqlite3 $ python3 -m pip install aiosqlite aiohttp-client-cache
Running Argos on Windows is supported through the Windows Subsystem for Linux (WSL).
Make sure WSL 2 is installed with a Debian based distribution. Then simply follow instructions to Install using DEB package.
A Discourse forum is dedicated to Mopidy and its related projects. It's the right place to ask for help.
To report a bug or make a feature request, one must use the issue tracker.
In both places, courtoisie reigns; And keep in mind that Mopidy and its related projects are run by volunteers!
One must set the URL of the Mopidy server using the preferences
dialog. The default value is http://127.0.0.1:6680
, meaning Mopidy
server is expected to be listening on the local host using HTTP and
the default 6680 port.
The preferences dialog is accessible from the application menu.
The URL of the Mopidy server is backed by GSettings. Thus in case the
host has no keyboard, one can directly set the URL of the Mopidy
server through an SSH connection. Make sure changes are done by the
user that will run Argos. Changes can be made using Dconf Editor or the command line (One
may have to set BUS_SESSION_BUS_ADDRESS
environment address):
$ gsettings set io.github.orontee.Argos mopidy-base-url http://192.168.1.45
(When running the Flatpak version, don't forget to enter the "sandbox" before running gsettings commands; See CONTRIBUTING file for details on this topic.)
Some CLI options are provided (complete list can be obtained with
argos --help
):
$ argos --no-tooltips --hide-search-button --hide-close-button
The application is based on GTK library which uses CSS for styling and layout.
Custom styles must be gathered in the file
~/.config/argos/style.css
(~/.var/app/io.github.orontee.Argos/config/argos/style.css
when
using Flatpak). One can use GTK Inspector to
identify the names of the CSS nodes.
To adapt to devices with small touch screen, one may have to tweak buttons appearance; Here is an example used to widen some buttons:
#album-details-top-box button, #playlist-button-box button, #title-bar button, #tracklist-button-box button { min-width: 40px; min-height: 40px; } #condensed-playing-box-playback-controls-box button { min-width: 60px; min-height: 40px; }
Many actions are exposed through D-Bus and thus available to script the application. The complete list can be retrieved from a running instance using:
$ busctl --user call io.github.orontee.Argos \ /io/github/orontee/Argos \ org.gtk.Actions DescribeAll
Eg, the following command enables dark theme:
$ busctl --user call io.github.orontee.Argos \ /io/github/orontee/Argos \ org.gtk.Actions Activate \ "sava{sv}" "enable-dark-theme" 1 b true 0
or to update the directory with URI bandcamp:collection
of
the library:
$ busctl --user call io.github.orontee.Argos \ /io/github/orontee/Argos \ org.gtk.Actions Activate \ "sava{sv}" "update-library" 1 s "bandcamp:collection" 0
No developer skills are required to contribute to translations or add support for new languages, thanks to the Weblate platform. More on this topic in the translations documentation.
Instructions to install an unreleased version, debug, etc. can be found in the CONTRIBUTING file.