[ANN] New web client: mowecl

Hello,
I am glad to announce the pre-release of a new web client for Mopidy !

I’m not a web developer, so I am not sure it will ever be pretty, but I hope it will be ergonomic.
I have first implemented the most basic features:

  • a dual pane with library and tracklist, with drag and drop (from library to tracklist and inside tracklist)
  • an informative footer

I don’t have a mopidy subscription, so I couldn’t try with mopidy backend, but it should work with file and local backends.

For now it’s only javascript (React / Redux / Material ui), python package will come in time.

If you want to try it, clone the following repo, then run

  • yarn install
  • yarn start

The mopidy address is hardcoded in src/index.js


Any kind of feedback would be appreciated !

2 Likes

A first version of Mowecl is now available on Pypi, you can install it with
pip install mopidy-mowecl

I have added support for playlists and search. There are still some minor bugs (seek bar sometimes not refreshing), but it should be working.

Cool, I will take this for a spin when I get the chance.

Version 0.2.0 of Mowecl is published on Pypi, you can install it with

pip install mopidy-mowecl --upgrade

On the menu:

  • some UI improvements
  • more support for playlists (create / save / delete)
  • bookmarks, that are basically playlists with the current track information (not synced with mopidy)

What might come next (in no specific order)

  • advanced search
  • multi-selection in tracklist (which will give multi drag/delete)
  • syncronisation between bookmark/playlist and tracklist (I have implemented most of the logic, but this makes the UI a bit too much sluggish)
  • some more tracklist control (repeat and such)

As always, comment, reviews and suggestions are welcome.


On a more developer side of things, I have merged both repositories, all the code is now available at https://github.com/sapristi/mopidy-mowecl. Is there anything more that would be required to have Mowecl listed in the Mopidy extensions ?

Cheers,

I don’t think but simplest to just open a PR on the Mopidy website repo implementing the addition and we’ll go from there.

Ok thanks, I’ll do that !

Version 0.3.1 is out:

  • search history
  • highlight of hovered library / tracklist item
  • some fixes

Version 0.3.2 is out:

  • Global hotkey: space for play/pause
  • Display track length in tracklist
  • Light/dark theme
  • New version notification

And since the default dark theme really wasn’t that great, I replaced the light/dark option with custom colors. See https://github.com/sapristi/mopidy-mowecl/tree/develop#theming for example values.
Various minor theme fixes included.

Version 0.3.3 is out !

The version 0.3.4 of Mowecl is available. The main new feature is configurable hotkeys for playback and volume management !

There are also some fixes:

  • I put the theme type setting back, because it had impact on button outline colors
  • I fixed some rendering issues, the UI should lag a bit less (any interaction with mopidy caused a whole rerender, this was especially noticeable when changing the volume).

I am starting to add some server side features:

  • syncing of settings and tracklists with the server, which would be mostly usefull when using multiple devices
  • restoring of tracklist upon mopidy restart

What does this tracklist restoration do that’s different to Mopidy’s restore_state functionality?

Oh I didn’t know the restore_state functionality existed ! Well I guess I can give up with that then, thanks for letting me know :slight_smile:

No worries! I guess my next question is what does the tracklist part of this do:

Saving trackists (playlists) can be done using the m3u backend. Is this similar?

Yes I was a bit quick to write that, what I meant by tracklists here is what I call bookmarks in Mowecl: a playlist + current playback information inside the tracklist (only current track as of now).

So this is a client only notion, mopidy is not aware of them.

I also played a bit with the idea to have the bookmark synced with the tracklist, so that the bookmark updates automatically when the tracklist is edited (track added / moved / removed).

Version 0.3.6 of mowecl is out !
The main change is that mowecl now depends on the bookmarks extension for providing bookmarks, that are now fully server side.
Beware that pre-existing bookmarks will be erased !

Followed by version 0.3.8 (version 0.3.7 went into the warp).

I added some “Favorites” features, the long missing repeat/single/random buttons, and some options to support touchscreens and smartphones:

  • options to disable drag’n drop, and for a small_screen layout (single pane)
  • many performance optimizations (most of unnecessary renderings were removed)
  • buttons visual reaction when browsing the library