Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Questions on multi-player / multi-user setup #70

#1

I am in the process of setting up my music player.
Current system consists of an NFS fileserver holding the music files, a beets server (VM) storing the music on the file server with additional data, a mopidy/snapcast/RompR server (VM) for selecting and playing music, and finally thin clients with USB-DAC and web browsers as players.
Mopidy runs in multiple instances with each instance its own ports and snapcast fifo. RompR runs on a per-user base using Apache’s UserDir. Thus, each user has its own mopidy/snapcast-fifo/RompR, but still on the same server.
For fine tuning I have some questions on RompR.

  1. It’s difficult to control mopidyctl on a per-user base from within RompR. Looking at the code I think that mopidyctl is only used by use_mopidy_scan to build a collection from local files on the mopidy server. Is this correct? If I don’t include a [local] section in the mopidy conf, mopidyctl won’t be used at all?
  2. Multiple mopidy instances can be configured in the RompR preferences, BUT the http port of the instance configured in the setup page is used for all instances. Would this lead to unexpected results?
  3. I’m using beets database to store additional data (albumart, lyrics etc.), but not in file tags (to keep music files uncompromised). Is RompR using these data? I can see lots of musicbrainz data in RompR’s files. Data that probably already existed in beets.
  4. Or do you have to fill in the beets server in RompR’s preferences? (I didn’t since it’s in mopidy)
  5. Playlist is only shown when Automatically Download Covers is selected in preferences, otherwise a continuously rotating circle is displayed and Clear playlist is not available.
  6. Can we integrate snapweb in RompR? Then you only have to open one website to listen to music on a PC or laptop.
  7. Note: you cannot have two users in the same browser. Preferences are mixed.
  • replies 4
  • views 1.1K
  • likes 0
#2

An interesting setup. Multi-user is not something I designed Rompr to support. I'm going to answer your questions in a different order to what they were asked:

  1. Note: you cannot have two users in the same browser. Preferences are mixed.

This is quite fundamental and might cause you some issues. Rompr uses Cookies and browser local storage for preferences. This includes the IP and port of the player it is connecting to. Because I cannot know in advance what the path to rompr will be in anybody's setup, all preferences are stored as cookies or storage items relative to the root of your webserver and therefore apply to every location you visit on that server. So yes, the behaviour you describe is exactly what I would expect. I cannot stop you trying to control two players from the same browser simultaneously, but this will not work and might result in corrupted preferences, or in you controlling the wrong player. Do not do it. For this reason I cannot say for certain that your setup will work reliably.

  1. Multiple mopidy instances can be configured in the RompR preferences, BUT the http port of the instance configured in the setup page is used for all instances. Would this lead to unexpected results?

Definitely yes. In your setup you cannot use Mopidy's HTTP interface since all browsers will connect to the same instance of Mopidy. If you're going to use Mopidy then you will have to leave the HTTP port preference blank. It will still work but it won't be as responsive.

  1. It’s difficult to control mopidyctl on a per-user base from within RompR. Looking at the code I think that mopidyctl is only used by use_mopidy_scan to build a collection from local files on the mopidy server. Is this correct? If I don’t include a [local] section in the mopidy conf, mopidyctl won’t be used at all?

mopdiyctl will only be used if you enable the option in the ?setup page (Allow Rompr to run mopidy local scan). If you're not using the local backend then you do not need it and you must not enable that option.

  1. Or do you have to fill in the beets server in RompR’s preferences? (I didn’t since it’s in mopidy)

You don't have to but you should. Though note I haven't tested any of that code in a long time. Rompr uses musicbrainz for the info panel and for album art. This is unrelated to whether you are using beets.

  1. Can we integrate snapweb in RompR? Then you only have to open one website to listen to music on a PC or laptop.

RompR already has full support for controlling Snapcast. https://fatg3erman.github.io/RompR/snapcast

  1. Playlist is only shown when Automatically Download Covers is selected in preferences, otherwise a continuously rotating circle is displayed and Clear playlist is not available.

I can't reproduce this. It's possible this might be a problem caused by your setup trying to control multiple players from the same browser.

Ossewaarde · Author
#3

Thanks for your response. I will look into various possibilities and solutions. I will report on further testing.

Ossewaarde · Author
#4

Ad 7: Yes, that's what I thought. Two different computers work fine, and Edge and Firefox on the same computer work also.
Ad 2: Using a setup with different ports also had some problems with one user interfering with another users players (by accident). I changed this setup to using separate ip addresses for each user with the default ports. Then the HTTP port is also correct. I configured a snapserver instance on each ip address. This setup feels more fool proof. Snapweb connects to the ip address in the URL and Linux snapclients have the option --host .
Ad 1: Local scan is not enabled and not included in the mopidy.conf. I hope future updates of RompR still uses mopidyctl only for local scans.
Ad 4: Haven't tested this yet. Question: does RompR uses tags in music files? My files have no tags.
Ad 6: Haven't found it. What I mean is producing sound from the browser by snapweb. Not controlling the clients.
Ad 5: Is reproducible, but only if you use a cd that has not been used before. Then the rotating circle appears. If you use a cd that has been used before, albumart is available in RompR and a playlist is produced regardless of the setting.

Thanks and best regards

  1. I only use mopidyctl because mopidy doesn't provide a command for updating local files (MPD does)
  2. RompR relies on the information provided to it by whatever Mopidy backends you are using, so it doesn't read the files directly. It can read tags to get lyrics and album art, but this is not required. If you enter the details for your Beets server it can query that for information used in the information panel and for album art, but it is not required for building a collection.
  3. Ah I wasn't aware of snapweb then. It doesn't feel like something I'm interested in doing, I never intended RompR to actually play music from the browser.
  4. Odd. I'll have to try to replicate that.