Giter Club home page Giter Club logo

muse's Introduction

Muse

PyPI PyPI - Downloads Build Status Docker Pulls

A mopidy player with snapcast support

Features

  • Support for snapcast volume control
  • Responsive design based in bulma framework
  • Modify tracklists using drag and drop motions
  • Create and modify playlists
  • Reactive search for tracklists in different sources
  • No user tracking (No Google Analytics)
  • Created using state of the art web technologies:
    • Svelte framework for small package size
    • Svelte kit for multiple pages and server side rendering
    • Github Actions CI/CD workflow for build and publish

Checkout a detailled description at this blog post

Mopidy-Muse homepage

Installation

Python

Install by running:

python3 -m pip install Mopidy-Muse

Before starting Mopidy, you must add configuration for Mopidy-Muse to your Mopidy configuration file:

[muse]
enabled = true
# the following are optional values
mopidy_host = localhost
mopidy_port = 6680
mopidy_ssl = false
snapcast_host = localhost
snapcast_port = 1780
snapcast_ssl = false

Docker installation

Using docker compose:

make start

Using docker run command:

make mopidy-docker

Project resources

muse's People

Contributors

actions-user avatar cristianpb avatar jooert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

muse's Issues

Searching all backends returns no result

Hi, and thanks a lot for sharing this wonderful piece of software! We are really enjoying it!

I came across something, which I am not sure is intended behavior or not.

I have Mopidy installed, so far only with Backends SomaFM and YouTube. I was trying to search for some YouTube video, and got no result. Confirmed by looking at logs:

Feb 06 20:27:11 odroidxu4 mopidy[5277]: DEBUG    [HttpServer] mopidy.http.handlers Received WebSocket message from 192.168.1.2: '{"method":"core.library.search","params":{"query":{"any":["test"]},"uris":["m3u:,somafm:,youtube:,yt:"]},"jsonrpc":"2.0","id":95}'
Feb 06 20:27:11 odroidxu4 mopidy[5277]: DEBUG    [HttpServer] mopidy.http.handlers Sent WebSocket message to 192.168.1.2: '{"jsonrpc": "2.0", "id": 95, "result": []}'

I did not realize at first that the Backend 'tags' to the right of the search field are toggleable. After I turned off 'm3u' and 'somafm', I was able to start getting results from the YouTube back end.

However, as stated previously, I was not sure this is intended behavior or not?

How to get snapcast control working?

Is there a configuration setting needed to get snapcast control working? I'm not seeing anything obvious and I don't see anywhere to select different snapclients.

Unable to add the whole album to the playlist

Hi there!
I've stumbled upon an issue when I'm unable to add the whole album to the playlist. If I click the little arrow on an album it opens up and there is no option to "Play" or "Add to queue". Or maybe I don't know where to look for these options.
23-05-2020-09:01:55-scrot

Support for older browsers (Mobile safari & chrome)

First off - great app. Thanks for sharing it with the world.

I have an older iPad I'd like to use as a little kiosk with Muse. It's stuck on iOS13 which does not seem to be supported by Svelte. (Both Chrome and Safari don't work)

Do you know what the best course of action might be? Do you think it's possible to add a polyfill into the build tooling that will allow for support of these older browsers? Or is the problem larger?

Muse is the nicest looking snapcast-supporting Mopidy frontend, and I'd like to use it, so if you could point me in the right direction I would appreciate it. I am happy to contribute, just thought I would check in first.

Tunein "Now Playing" song info does not update

When I play a TuneIn station or add a station to the play queue, the station initially plays fine with the accurate song info. I notice that after the actual audio changes to a new song, the song information that is displayed in "Now Playing" remains the same as what was originally playing at the time that the station was added to the "Now Playing" queue and never changes or updates to the current song info.

I see that the song info is updated properly if I switch to the Musicbox webclient but its not updated in the IRIS or Muse webclients

Screen Shot 2020-10-29 at 1 59 41 PM
Screen Shot 2020-10-29 at 1 59 27 PM
Screen Shot 2020-10-29 at 2 00 02 PM

Browsing files does not update web browser history

Thanks for this great music player ! ๐Ÿ‘

When browsing files, it's not possible to use the "previous page in history" button of the web browser. It doesn't go back to the parent folder but it goes back to the previous tab.

Qustion: How to get local files in the search?

Hi there!
I've added a local music library to mopidy:

[file] 
enabled = true 
media_dirs = 
    /mnt/data/Music|Music 
show_dotfiles = false 
excluded_file_extensions = 
  .directory 
  .html 
  .jpeg 
  .jpg 
  .log 
  .nfo 
  .pdf 
  .png 
  .txt 
  .zip 
follow_symlinks = false 
metadata_timeout = 1000

But I don't have anything related to "local" or "files" in search sources. Is it possible to search through local files also?

Would you put lyrics options?

I dont find this option in any web for mopidy and it is a really important option for me... so sad.
Anyway, if you can, please add that.
Thanks!

"undefined" song titles in playlist

Hi,

Thanks for this great project!

Most of the song titles are "undefined" in playlists created with Iris. When created in Muse, the song name is OK (in Muse, Iris and Cantata). When created in Iris, the song name is "undefined" in Muse, OK in Iris and OK in Cantana.

Any idea why?

Add options to play entire folders

Currently, when browsing through Files, the dropdown of play options only show if the are tracks listed in a certain directory. Can you add play options to the folders? That way, we can chose to play an entire folder, including the subfolders?

Snapcast server settings are not stored

Is there a way to configure the Snapcast server settings in a config in the backend?
every time I reload the page the settings are back to default which does not match my setup.

Note:
I have a nginx before my snapcast to get ssl / https support and my mopidy and snapcast are running both on http port 443 via hostname.

Add to queue doesn't work

If I click "Add to queue" from the search results with gmusic songs they don't appear in the "Now playing" list.

Suggestion: Add to readme documentation a list of mopidy "dependencies"

Since Muse was built with several Mopidy extensions in mind, the documentation should include their names, so new users (like me) know what to install to create the experience you developed on and intended. ๐Ÿ‘

One obvious example is Snapcast; I don't think Mopidy comes with it, and I don't see an extension for it!

Keep up the great work :)

FR: Dark theme

Would be really nice to have a way to customize the colors in the frontend, and maybe a theme selection where a dark theme could be choosed.

error connecting to mopidy

I get this message when accessing the webclient, and I'm not able to fix that. I've read another similar thread and tried allowed_origins, but to no avail.
Mopidy and snapcast are running on the same alpine docker container, and this is the http/muse part of configuration

[http]
enabled = true
hostname = 0.0.0.0
default_app = muse
port = 80
allowed_origins = myurl.domain

[muse]
enabled = true
# the following are optional values
mopidy_host = localhost
mopidy_port = 80
mopidy_ssl = false
snapcast_host = localhost
snapcast_port = 1780
snapcast_ssl = false

I'm missing something?

Dark mode

First: Thanks for your job!

Is a dark mode possible?
If possible, can you indicate how to edit the files to do it or at least that the background is black?

thanks!

Clear / Remove all tracks from queue

I apologise if I missed this functionality, I have only been using this client a couple of days mostly with albums from ytmusic. It would be great to remove all tracks in the queue rather than remove tracks one by one (probably from "Now Playing").

Play all from search results has stopped working

Hi!
I'm not sure if it's Muse- related issue, but now if I click "play all" from search results I've got an error in Mopiy log (truncated)

2020-07-24 12:26:20,402 INFO [1988:Core-10] pykka: Exception returned from Core (urn:uuid:94d059fd-f1b7-4dfb-8670-6fe47e8d22bb) to caller:
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/pykka/_actor.py", line 193, in _actor_loop
    response = self._handle_receive(envelope.message)
  File "/usr/lib/python3.8/site-packages/pykka/_actor.py", line 299, in _handle_receive
    return callee(*message.args, **message.kwargs)
  File "/usr/lib/python3.8/site-packages/mopidy/core/tracklist.py", line 383, in add
    uris is None or validation.check_uris(uris)
  File "/usr/lib/python3.8/site-packages/mopidy/internal/validation.py", line 133, in check_uris
    [check_uri(a, msg) for a in arg]
  File "/usr/lib/python3.8/site-packages/mopidy/internal/validation.py", line 133, in <listcomp>
    [check_uri(a, msg) for a in arg]
  File "/usr/lib/python3.8/site-packages/mopidy/internal/validation.py", line 126, in check_uri
    raise exceptions.ValidationError(msg.format(arg=arg))
mopidy.exceptions.ValidationError: Expected a list of URIs, not [Track(album=Album(artists=[Artist(name=.........

Option to search for artists

Hi!
I'm using Mopidy-Subidy (don't have local tracks to check for it)
Currently search is being performed for tracks only. It would be great to have an option to search for artists as well. Mopidy-Subidy supports search for artists:

Searching explicitly for one of: artists, albums, tracks

I'll happily share access to my Subsonic server if needed.

Snap clients don't get their configured names

I've changed names of snapclients and they appears displayed correctly in Android Snapclient, but in Muse they keep being displayed with their ServerID. See attached file. The issue is the name of an Android Client which doesn't support its ServerID being set gets all available width of the popup. So I'm unable to adjust volume level.
19-05-2020-10:09:54-scrot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.