Features · the complete list

Everything it does.
All of it.

38 features shipped, nothing hidden, including the few things it doesn’t do yet. Search below, or jump to the full Subsonic API compatibility matrix at the bottom.

Spotlight · OpenSubsonic songLyrics

Lyrics that sing along.

Moosic speaks the OpenSubsonic synced-lyrics extension end to end: word-timed lyrics scroll with the song, highlighted line by line as it plays. Navidrome serves them out of the box from embedded tags or .lrc files: no plugins, no scraping.

Very few desktop players support this. Moosic is one of them.

41 of 41 features
  • Gapless streaming

    Included

    Audio streams straight from your server with zero buffering layers in between. Tracks flow into each other without gaps.

    Playback stream
  • Cross-device queue resume

    Included

    Your play queue and position are saved to the server. Quit on the desktop, pick up on your phone, or the other way around.

    Playback getPlayQueue · savePlayQueue
  • Transcoding control

    Included

    Choose format and max bitrate per server: full quality at home, smaller streams over slow links. Also used for casting.

    Playback format · maxBitRate · estimateContentLength
  • Instant seek in transcoded streams

    Included

    Seeking lands immediately even when the server is transcoding on the fly. No waiting for the stream to catch up.

    Playback transcodeOffset
  • 10-band equalizer

    Included

    Proper biquad filters from 60 Hz to 16 kHz, ±12 dB per band plus preamp, with the classic retro-skin EQ window in retro mode.

    Playback
  • Shuffle everything

    Included

    One click queues random songs from your entire library, across every connected server.

    Playback getRandomSongs
  • Playback formats

    Included

    FLAC, ALAC, MP3, AAC, M4A, OGG Vorbis, and WAV/PCM decoded natively. Anything else, Opus included, your server can transcode on the fly.

    Playback
  • Media keys & now-playing

    Included

    Hardware media keys, MPRIS on Linux, and the native now-playing panel on macOS and Windows, cover art included.

    Playback
  • Original-quality downloads

    Included

    Pull down the untouched original file: no transcoding, exactly the bytes on your server.

    Playback download
  • Favorites & starred view

    Included

    Star songs, albums, and artists; browse them in a dedicated starred view. Synced with the server, shared with every client.

    Library star · unstar · getStarred2
  • 5-star ratings

    Included

    Rate anything from one to five stars. Ratings live on the server, so they follow you between apps.

    Library setRating
  • Genre browsing

    Included

    Browse the whole library by genre and queue songs straight from a genre page.

    Library getGenres · getSongsByGenre
  • Full-library search

    Included

    Fast search across artists, albums, and songs: one search box over every connected server.

    Library search3
  • Album shelves

    Included

    Newest additions, random picks, and most-played shelves keep the front page alive.

    Library getAlbumList2
  • Playlists: create, edit, delete

    Included

    Full playlist management from inside the player: build, reorder, rename, and remove. Stored on the server.

    Library getPlaylists · getPlaylist · createPlaylist · updatePlaylist · deletePlaylist
  • Audiobook auto-resume

    Included

    Bookmarks are saved server-side as you listen. Open an audiobook again, on any device, and it continues where you stopped.

    Library getBookmarks · createBookmark · deleteBookmark
  • Per-folder library switching

    Not yet

    Selecting a single music folder on multi-library servers is not in the client yet; everything is browsed as one library.

    Library getMusicFolders
  • Synced lyrics

    Included

    Word-timed lyrics that follow the song as it plays, an OpenSubsonic extension very few desktop players support. Local files read a matching .lrc file or lyrics embedded in the tags.

    Discovery getLyricsBySongId · songLyrics
  • Artist top songs

    Included

    Every artist page opens with their most-known tracks, ready to queue.

    Note Server needs Last.fm configured for popularity data.

    Discovery getTopSongs
  • Similar-songs radio

    Included

    Start a radio from any song and Moosic keeps the queue filled with similar music from your own library.

    Note Server needs Last.fm configured for similarity data.

    Discovery getSimilarSongs2
  • Artist bios & images

    Included

    Biographies and artist imagery pulled through the server, shown on artist pages.

    Discovery getArtistInfo2
  • Scrobbling & play counts

    Included

    Play counts live on your server, and scrobbles reach Last.fm or ListenBrainz through your Subsonic server; Moosic never talks to them directly.

    Discovery scrobble
  • Chromecast, Sonos & Snapcast

    Included

    Cast targets are discovered on the local network and picked from the player, including synced multi-room audio via Snapcast. No Sonos account, no API keys, no cloud round-trips.

    Remote & casting
  • Jukebox remote control

    Included

    Drive playback on the server machine itself: Moosic becomes the remote for speakers wired to your server.

    Note Navidrome: enable Jukebox mode (EnableJukebox) with mpv installed.

    Remote & casting jukeboxControl
  • Add music folders or single files from your disk and play them with no server, no internet connection and no account. New files show up as you copy them in; a NAS folder that goes offline is hidden, not forgotten.

    Note Add folders from the player, drop them on the window, or list them as local_folders / local_files in config.toml.

    Sources & sync
  • Stars, ratings and playlists for local files

    Included

    Favourites, 0 to 5 star ratings, play counts, playlists and lyrics from .lrc files work on local folders exactly as on a server, stored on your machine.

    Sources & sync
  • Merge servers and local folders

    Included

    Browse several Subsonic servers, and your local folders, as one merged library: yours, your NAS, a friend’s box. Duplicates collapse to the best-quality copy.

    Sources & sync
  • Iroh P2P connections

    Included

    Connect to a Fugue server over an encrypted peer-to-peer tunnel: no open ports, no reverse proxy, just a ticket string.

    Sources & sync
  • API-key authentication

    Included

    Modern per-client API keys instead of your password, auto-detected when the server supports it. End-to-end with Fugue.

    Sources & sync apiKeyAuthentication
  • Works with any Subsonic server

    Included

    Navidrome, Gonic, Airsonic-Advanced, Fugue: anything speaking Subsonic 1.16 works. OpenSubsonic extras are detected automatically.

    Sources & sync getOpenSubsonicExtensions · ping
  • Public share links

    Not yet

    Creating public share links from inside the client is not implemented yet; use your server’s web UI.

    Sources & sync getShares · createShare
  • Trigger server rescan

    Not yet

    Kicking off a library scan from the client is not implemented yet; use your server’s web UI.

    Sources & sync startScan · getScanStatus
  • Podcasts

    Included

    Moosic is its own RSS client: subscribe in the Podcasts tab with any server. It also speaks the Subsonic podcast endpoints for servers that host them (Gonic, Airsonic).

    Podcasts & radio getPodcasts · refreshPodcasts · createPodcastChannel · deletePodcastChannel
  • Internet radio

    Included

    Play the radio stations saved on your server.

    Note Add or edit stations in the server’s web UI.

    Podcasts & radio getInternetRadioStations
  • Retro .wsz skins

    Included

    Load classic .wsz skin files and Moosic redraws itself in them, pixel for pixel. Thousands of community skins just work.

    Interface
  • Multi-window docking

    Included

    Player, equalizer, and playlist windows snap and dock to each other and move as one, exactly like the classics did.

    Interface
  • Modern mode

    Included

    A single-window dark UI with player, library, and skin tabs, for when you want current-decade ergonomics.

    Interface
  • Visualizer

    Included

    Oscilloscope, banded spectrum, and VU meters that move with the music, and keep moving while you cast to another room.

    Interface
  • Session restore

    Included

    Windows, dock layout, queue, shuffle and repeat, navigation history, and output device all come back exactly as you left them.

    Interface
  • Extend the player with sandboxed WebAssembly plugins written in any language, hot-reloaded without a restart.

    Interface
  • A from-scratch iTunesDB writer syncs stock click-wheel iPods, including the checksum-locked Nano 5G/6G, plus Rockbox profiles, device groups, and per-device transcoding. No iTunes anywhere. No other Subsonic client does this.

    Devices
Appendix · for the protocol-curious

The full compatibility matrix

Every Subsonic 1.16.1 endpoint and OpenSubsonic extension, with support status for Navidrome (server) and Moosic (client). If you run Gonic, Airsonic, or another server, the Moosic column still applies.

● full ◐ partial / conditional ✕ not implemented · n/a
Subsonic API 1.16.1 endpoints +
EndpointNavidromeMoosicNote
System
ping●●
getLicense●✕Not needed; Navidrome licenses are always valid
getOpenSubsonicExtensions●●Extensions auto-detected
Browsing
getMusicFolders●✕Multi-library selection not in client yet
getIndexes◐✕Folder browsing; ID3 browsing used instead
getMusicDirectory●✕ID3 browsing used instead
getArtists●●
getArtist●●
getAlbum●●
getSong●✕Album fetch covers it
getGenres●●Genre browsing
getArtistInfo / 2◐●Artist bios & images (getArtistInfo2)
getAlbumInfo / 2◐✕
getTopSongs◐●Artist top songs; server needs Last.fm
getSimilarSongs / 2◐●Similar-songs radio (getSimilarSongs2)
Lists
getAlbumList / 2●●Newest / random / most-played shelves
getStarred / 2●●Starred view (getStarred2)
getNowPlaying●✕
getRandomSongs●●Shuffle everything
getSongsByGenre●●
Search
search2 / 3◐●search3 used
Playlists
getPlaylists◐●
getPlaylist●●
createPlaylist●●Full playlist management in the client
updatePlaylist●●
deletePlaylist●●
Media retrieval
stream●●Zero-buffer proxying via Fugue too
download●●Original-quality download
hls✕✕
getCoverArt●●Dedicated fetch thread
getLyrics●✕Superseded by getLyricsBySongId
getLyricsBySongId●●Synced lyrics (OpenSubsonic)
getAvatar◐✕
Annotation
star / unstar●●Favorites
setRating●●5-star ratings
scrobble●●Play counts + Last.fm / ListenBrainz via server
Bookmarks & queue
getBookmarks / create / delete●●Audiobook auto-resume
getPlayQueue / savePlayQueue●●Cross-device queue resume
Sharing
getShares / create / update / delete◐✕Navidrome: needs sharing enabled. No client UI yet
Podcasts
getPodcasts / refreshPodcasts✕●Moosic ready: works with Gonic, Airsonic, etc.; Navidrome lacks server side
createPodcastChannel / deletePodcastChannel✕●
Jukebox
jukeboxControl●●Navidrome: EnableJukebox + mpv. Remote mode in Moosic
Internet radio
getInternetRadioStations●●Radio playback
create / update / deleteInternetRadioStation●✕Manage stations in the server web UI
Chat, users & admin
chat, user CRUD, changePassword◐✕Admin lives in the server web UI
getScanStatus / startScan●✕No client UI yet
Video
video endpoints✕✕Music player; no video planned
OpenSubsonic extensions +
ExtensionNavidromeMoosicNote
getOpenSubsonicExtensions (discovery)●●
songLyrics (v1 + v2, synced)●●Synced lyrics, rare in desktop clients
apiKeyAuthentication●●Per-server API key, auto-detected
transcodeOffset●●Instant seek in transcoded streams
transcoding (client decisions)●●format / maxBitRate; also used when casting
formPost●✕GET only
indexBasedQueue●✕
playbackReport●✕Standard scrobble submission used
songSimilarity●✕Standard getSimilarSongs2 used
topSongsByArtistId●✕Standard getTopSongs used
getPodcastEpisode✕✕

Missing something you need? Tell us. The matrix moves fast.