Selene is designed to be as simple as possible for anyone who just wants to listen locally to music on their own device, while also offering support for remote connections and hosting multiple sessions. A single session is capable of being remotely controlled by any number of clients, and can send audio packets to any number of clients.
If the local-session feature is enabled, the server will host its own local session, which is identical to any other session, but with its own playback thread and specific ID. Plugins can also be connected to receive events from the local session, similarly remote clients.
Supported formats
| Codec | Gapless | Feature Flag | Depends |
|---|---|---|---|
| FLAC | Yes | ||
| MP3 | Yes | ||
| Opus | - | opus |
libopus |
| PCM (eg. wav) | Yes | ||
| Vorbis (eg. ogg) | Yes | ||
| AAC-LC (eg. m4a) | No | ||
| ALAC | Yes | ||
| HE-AAC (AAC+, aacPlus) | No | ||
| HE-AACv2 (eAAC+, aacPlus v2) | No |
For an extended list, see Symphonia. opus codec support is included via symphonia-adapter-libopus
Plugin Support
Selene supports dynamically loaded plugins via stabby! Plugin support can be enabled with the plugin-support feature
Official plugins are listed here:
| Plugin | Summary | Version |
|---|---|---|
| selene-mpris | Provides an MPRIS implementation for the local session | v0.9.0+ |
| selene-lastfm | Provides scrobbling support for the local session to lastfm | v0.9.0+ |
Start creating your own plugin, see the selene-plugin-sdk
*There is currently no registry for third party plugins; However, you can package your plugin as selene-plugin-* for package visibility
Installation
An arch package is available on the AUR.
To install, use your AUR helper of choice, such as paru:
Uninstallation
If you are uninstalling selene, after uninstalling the selene package, the remaining files can be cleaned up here:
Building from source
- cargo
- git
- ffmpeg
It is recommended to install cargo via rustup.
1. Download the repository and navigate to its directory
2. Install the main binary
*All features are optional
3. Run the daemon
4. Start listening
I will make a wiki soon soon about more config options and initial setup, but for now, your best bet is to use selene -h to navigate the help menus