Skip to main content

Web client for Mopidy

Project description

Latest PyPI version

Web client providing a clean and ergonomic interface to Mopidy.

Presentation

  • Dual panel library / tracklist

  • Library / playlists / search results displayed as a single tree view

  • Reorder tracklist with drag and drop

  • Uses the bookmarks extension

  • Configurable hotkeys for playback and volume control

  • Basic color theming

  • Both global and per-client configuration

Preview

Implementation

Mopidy-Mowecl is written in Javascript, and is built upon React, Redux and Material-ui.

Installation

Depending on your setup, install either by running:

# When mopidy was installed with pip
python3 -m pip install Mopidy-Mowecl

or:

# When mopidy was installed as a package or pip using sudo
sudo python3 -m pip install Mopidy-Mowecl

Configuration

Mowecl can both be configured in-app, and through the mopidy configuration file. Values set in the configuration files will act as default values for the clients, that can then override theme as they wish (clients configuration is stored in the browser data).

Here is are the available settings (and default values) of Mowecl in the Mopidy configuration file:

[mowecl]
enabled = true

# generic config
seek_update_interval = 500
search_history_length = 10
## set to true for touch_screens
disable_dnd = false
small_screen = false

# theme config
## light or dark
theme_type = light
background_color = #fdf6e3
text_color = #002b36
primary_color = #268bd2

# Hotkeys, use web config to find the right parameters
key_play_pause = space+Control
key_next_track = ArrowRight
key_previous_track =
key_rewind_track = ArrowLeft
key_volume_up = ArrowUp
key_volume_down = ArrowDown

Theming

Basic theming is available in the configuration, with the following options:

  • Background color

  • Text color

  • Highlight color

For example, you can use the following settings:

Solarized (light)

Blueberry (dark)

Background color

#fdf6e3

#232937

Text color

#002b36

#7390aa

Highlight color

#268bd2

#27e8a7

Building

Mowecl is a React application served by a python app. Building the application thus requires tools from both the javascript and the python ecosystem.

Requirements

  • The pnpm program

  • The pdm python package

Steps

From the root of Mowecl directory, running the following commands will build the web application,, and then build the mowecl python package in the dist folder.

cd mowecl_react
pnpm install
pnpm build
cd ..
pdm build

You can then install the built package with pip, e.g.

pip3 install dist/Mopidy_Mowecl-X.X.X-py3-none-any.whl

Development

To run Mowecl in develop mode, do the following:

cd mowecl_react
pnpm install
pnpm dev

Changelog

v0.5.1

Features:

  • display album image

  • playback notifications

  • Tidal integration:
    • explore artist

    • add_to_playlist feature

Fixes:

  • fix search

  • misc ui fixes and improvements

v0.5.0

  • small ui fixes

  • tracklist item template

  • some tidal integration (explore given artist) - more to come !

v0.4.3

  • fix release

v0.4.2

Note: release file on pypi is bugged, do not install this version from pypi !

  • update javascript dependancies

v0.4.0

  • Favorites

  • repeat/single/random playback buttons

  • Option to disable drag’n drop (usefull for touch screens)

  • Small screen option (single panel, smaller buttons). Far from perfect but better than nothing.

  • Many performance optimizations

v0.3.6

  • Use mopidy-bookmarks extension

  • Confirm dialog for playlist delete and overwrite

  • Some UI improvements

v0.3.5

  • Parse configuration from mopidy

  • Add uri button

  • Fix volume increase/decrease

v0.3.4

  • Configurable hotkeys for playback and volume control

  • Some performance improvements

v0.3.3

  • Color theming

v0.3.2

  • Global hotkeys: space for play/pause

  • Display track length in tracklist

  • Light/dark theme

  • New version notification

v0.3.1

  • Search history

  • Highlight of hovered library / tracklist item

  • Some fixes

v0.2.0

  • Initial release.

PROJECT resources

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mopidy_mowecl-0.6.1a5.tar.gz (677.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mopidy_mowecl-0.6.1a5-py3-none-any.whl (688.0 kB view details)

Uploaded Python 3

File details

Details for the file mopidy_mowecl-0.6.1a5.tar.gz.

File metadata

  • Download URL: mopidy_mowecl-0.6.1a5.tar.gz
  • Upload date:
  • Size: 677.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mopidy_mowecl-0.6.1a5.tar.gz
Algorithm Hash digest
SHA256 f78e4c148acbbbdc44aeb000f983edf86bfdcb1abc100b5d751b70267d915e44
MD5 4fd0132daabe341372767b34e0c58935
BLAKE2b-256 ca986d72a9fa360880a16556b6b88842e729ae6dd248315b512fdb2fdddd1ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_mowecl-0.6.1a5.tar.gz:

Publisher: publish.yaml on sapristi/mopidy-mowecl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mopidy_mowecl-0.6.1a5-py3-none-any.whl.

File metadata

  • Download URL: mopidy_mowecl-0.6.1a5-py3-none-any.whl
  • Upload date:
  • Size: 688.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mopidy_mowecl-0.6.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 02b446e7977927db16c6fcafdb56afa5051e1522ac64d16898bda6cff78e2ebe
MD5 c5b4f4f87c509f055ffa3f2fae1ae7fd
BLAKE2b-256 8cd7807d460941c9939f9754bbf4b4edc1f76c00b907bb6b03fce74251520f0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_mowecl-0.6.1a5-py3-none-any.whl:

Publisher: publish.yaml on sapristi/mopidy-mowecl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page