Logitech Media Server library information on mobile devices

Features

  • Download the library information (artists, albums, tracks) from LMS to a mobile device
  • Search / browse the information offline
  • Download playlists (but not the tracks included in them) as m3u files to a mobile device, automatically adjusting the file paths. Needs LMS connection to do so.

Configuration And Initial Setup

  • Go to Settings / Import
  • Configure the URL to access your LMS server. This will be something like http://hostname:port/jsonrpc.js (e.g. http://raspi3-64:9000/jsonrpc.js if your LMS is running on a server called raspi3-64 using the default port)
  • Fetch size: Amount of data (actually, number of records) the app loads from the server in one request. Larger values means a faster import, but your device may run out of memory.
  • Dark theme: Changes the appearance of the app. A restart of the app is required.
  • Import tracks: Include track data from LMS. May take a long time depending on server performance. A restart of the app probably is required.
  • If you want to download playlists, configure the search / replace function and the target directory - the playlists created with LMS include the file path to the audio files on the server, which will not exist on your mobile device and therefore needs to be changed.
    • Playlist path: Location to save the playlist to. Write permissions are required. Example: /storage/self/primary/Playlists
    • Playlist regex: This expression will be replaced with the text in the next entry. You can use regular expressions. Example: file:///data/music/
    • Playlist replacement: Replacement text, usually the path to the music on your mobile device. Example: /storage/self/primary/Music

Then, tap Import library. If the connection to LMS succeeds, the library data will be downloaded. For larger collections, this will take some time (especially if tracks are imported) - make sure that your device doesn't go into power save / doze mode, or the import could be interrupted.

If you import tracks, saving the DB may take a long time if you have a slow phone. While the DB is automatically saved when the app exits, Android may decide to kill the app before it's done. If your DB is empty after importing and exiting, use the "Save DB" button to save it manually right after the import.

Status

  • Alpha, meaning there are probably lots of bugs.
  • Also, only tested on one phone and the Android emulator.

Future development

Since the app basically does what I wanted it to do, probably not a lot (if any).

Requirements / Supported OS

  • Android v4.2+ (in theory, only tested on v6/v7)
  • IOS probably would work (as the app is developed using a cross-platform framework), but I have no Apple device and therefore cannot build the app for IOS.
  • Enough free space on the device to save the data (a 70K tracks collection takes about 80MB)

FAQ

Is it / will it ever be available in the Google Play Store?
No
Can it download / stream music to a device / play music?
No
Is it a remote control for LMS?
No
The app doesn't work / is buggy / crashes. Now what?
Unless you provide detailed steps how to reproduce the issue (with preferably a logcat debug file), and I can actually do so on my setup, there probably isn't much to be done about it. Patches are welcome, of course.
There seems to be an issue with compilation albums.
The LMS API doesn't return artists for compilation albums (in newer LMS versions, see this thread for details), so the information which artist appears on which compilation is lost. The albums and the artists will be available, it's just the link between them is missing.
The app needs feature XYZ. Will it be implemented?
Most likely not by me. However, the source code is available and code contributions are welcome.

Download

License

GNU GPLv3

Reporting Issues

Use the discussion thread in the LMS forum.