/mopidy-mobile

Mopidy Web client extension and hybrid app for mobile devices

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Mopidy Mobile

Mopidy Mobile is a simple, easy to use remote that lets you fully control a Mopidy music server from your mobile device. It is available as a Web client extension and a hybrid app for Android version 5.1 and later. Users of older Android versions may still access the Web extension using Google's Chrome browser. On Apple devices, the Web client should work when running iOS 7 or later.

In a nutshell, Mopidy Mobile lets you

  • browse and search your entire Mopidy music library.
  • search within selected directories only.
  • edit the tracks in the current tracklist.
  • create and edit playlists (requires Mopidy server v1.x).
  • retrieve cover art from selected online resources.
  • choose from multiple available user interface languages.

Additionally, the Android app allows you to

  • control playback from your device's lock screen.
  • change volume using your device's hardware buttons.
  • switch between multiple Mopidy servers on your network.

Installation

The Web extension can be installed from PyPi by running:

pip install Mopidy-Mobile

The Android app is available from the Google Play store. You may also join the Beta testing program to preview unreleased versions.

Note that the Web client is designed to be added to your home screen, so it is launched in full-screen "app mode". If you don't know how to add a Web application to your home screen, there are plenty of instructions available online for both Android and iOS.

Configuration

The following configuration values are available for the Web extension:

  • mobile/enabled: Whether the extension should be enabled. Defaults to true.
  • mobile/title: The Web application's title, which will also be displayed when added to your home screen. The variables $hostname and $port can be used in the title. Defaults to Mopidy Mobile on $hostname.
  • mobile/ws_url: The WebSocket URL used to connect to your Mopidy server. Set this if Mopidy's WebSocket is not available at its default path /mopidy/ws/, for example when using a reverse proxy.

Building from Source

Mopidy Mobile is built using Ionic v1, AngularJS and Apache Cordova, so it is recommended to familiarize yourself with these before you start.

To build the Mopidy Web extension, you need to have npm and gulp installed. Then run:

npm install
gulp install
gulp dist
pip install --editable .

To build the app for Android, please follow Ionic's installation guide to make sure you have everything needed for Android development. Then, in addition to the commands above, run:

ionic cordova platform add android
ionic cordova build android

Please refer to the Ionic CLI documentation for further information on how to run the app on an actual device, or in a Web browser or emulator for testing.

Due to lack of resources, iOS is not supported, and it is unlikely that the app will run unchanged on that platform. However, being a hybrid app, it shouldn't take too much effort to make it work, so please feel free to fork and give it a try!

Contributing Translations

If you'd like to see Mopidy Mobile in your native language, start by having a look at the existing translations. Mopidy Mobile uses angular-translate for internationalization, and stores translations as simple text files. Just take one of the existing files and replace all foreign language text as you see fit. Words within curly brackets {...} are placeholders, used either for variable names ({name}) which needn't be translated, or for pluralization ({count, plural, one{1 Sekunde} other{# Sekunden}}) so you can provide different texts for zero (=0), one, or multiple (other, with # being replaced by the actual number) seconds or tracks. When you're done, please open a new issue - or even a full-fledged pull request, if you like - for submitting your translations.

Project Resources

Latest PyPI version Travis CI build status

License

Copyright (c) 2015-2021 Thomas Kemmer.

Translations: slimer (Español, Català), Andrzej Raczkowski (Polski), Peter Kuderjavy (Slovak), Gilbert Brault (Français), wimpie (Nederlands), Tom Aurlund (Norsk Bokmål).

Licensed under the Apache License, Version 2.0.