Skip to content

Support selecting Navidrome/OpenSubsonic music folders #51

Description

@pimenov

Feature request

Please add first-class support for Subsonic/OpenSubsonic music folders (Navidrome libraries), with a user-selectable library scope.

Real-world use case

My Navidrome server intentionally exposes three separate libraries through getMusicFolders:

  • a large archive of rare DJ sets;
  • a normal listener music library;
  • my own releases and DJ mixes.

Cassette currently presents all three as one combined collection. That is useful as an All Libraries view, but on both macOS and iOS I also need to browse and search within one selected library. Other Subsonic clients can expose this server-side separation to the user.

Expected UX

  • Fetch accessible folders with getMusicFolders.
  • Provide an All Libraries default plus selection of one or multiple folders.
  • Persist the selection per configured server.
  • Apply the selected scope consistently to Home, Artists, Albums, Songs, Search, Recently Added, random/shuffle and discovery views where the Subsonic endpoint supports musicFolderId.
  • Keep server-global items such as playlists working normally when they cannot be scoped reliably.
  • Clearly show the active folder scope in the sidebar/header, especially on macOS.

Keeping All Libraries as the default would preserve today's behavior and compatibility with servers that expose only one folder.

Current behavior / implementation observation

On the current main revision I could not find a getMusicFolders call or a musicFolderId parameter in Cassette. LibraryService calls endpoints such as getArtists, getAlbumList2, search3, and getRandomSongs without a folder scope, so a Navidrome multi-library server is necessarily aggregated.

Environment

  • Cassette for macOS
  • Navidrome with multiple libraries exposed through the Subsonic/OpenSubsonic API
  • The same account can access all three libraries

This would make Cassette work especially well for curated self-hosted collections where archives, everyday music, and owner-created material must stay logically separate while remaining on one Navidrome server.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions