Is this only with the 3.2 branch? Is master ok?
Announcement
Collapse
No announcement yet.
Announce: Material Skin
Collapse
X
-
Last edited by Ron F.; 2023-02-06, 22:22.Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
Laptop: System76 Galago + Ubuntu 18.04 + Squeezelite + Epiphany/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
Phone: Pixel 6a + Termux/Squeezelite + Material APK > Senn IE80 earbuds
Server: System76 Meerkat + Pop!_OS 22.04 + LMS 8.4 -
3.2 branch should be fixed now.Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.Comment
-
Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
Laptop: System76 Galago + Ubuntu 18.04 + Squeezelite + Epiphany/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
Phone: Pixel 6a + Termux/Squeezelite + Material APK > Senn IE80 earbuds
Server: System76 Meerkat + Pop!_OS 22.04 + LMS 8.4Comment
-
"lms-material::album-grid"
"lms-material::artists-grid"
"lms-material::local-grid"
"lms-material:: other-grid"
"lms-material::music-grid"
"lms-material::favorites-grid"
"lms-material::browse-library-grid"
"lms-material::qobuz-grid"
Now of course I'm wondering where does the browser get the info from (album, artists, local, other, music, favorites, browse library and qobuz)?
If you compare the default skin with the material skin, you will see that this functionality does not yet exist in the default skin. There it is really a global switch whose current value is stored in a cookie. Local storage is not used at all.
From this I conclude that you also disliked the ugly behavior of a global grid/list switch and that you have therefore built in this distinction according to certain view types (album, artists, other, etc.).
As you yourself have already written, this does not work for plugins, or there is only one global switch per plugin, which is of course unsatisfactory for plugins such as Qobuz, Spotify or Tidal etc.
The question that now arises is whether it would be possible in some way to recognize which view type (album, artists, playlist, other) the currently displayed page is for each plugin.
If this is not evident for Material-Skin from the data it gets from the server, one might think about what the plugin developer can do to change that. For example, one could provide a translation list per plugin from which the material skin can be seen what type of view it is. Or you derive the view type from the icon name of the menu item.
But other methods would also be possible, in the end you choose the one that requires the least effort.
I'd be very interested in allowing what works for the default views in material skin for plugins as well. The operation of the overall system would then also be more consistent.
I'm also happy to help as much as I can.
I know, I used that as an example of an item that is placed there - and when/how this happens.
I read through the item "07 Customization - Custom menu entries and actions" on the GitHub page of Material-Skin in the wiki and tried to conjure up some additional menu according to this guide and the file "material-skin/actions.json", but I'm probably doing something wrong, because nothing changes with or without this file.
Does this feature work at all?Comment
-
I read through the item "07 Customization - Custom menu entries and actions" on the GitHub page of Material-Skin in the wiki and tried to conjure up some additional menu according to this guide and the file "material-skin/actions.json", but I'm probably doing something wrong, because nothing changes with or without this file.
Does this feature work at all?Last edited by cpd73; 2023-02-07, 17:49.Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.Comment
-
New Local Player Support
Looking at LMS-MATERIAL-APP:LocalPlayer.java, I see where the command line args are set for calling Termux/Squeezelite:
Code:String[]{ "-M", "SqueezeLiteAndroid", "-C", "5", "-s", current.ip, "-m", getTermuxMac(), "-n", Settings.Global.getString(context.getContentResolv er(), "device_name") }
Note: I have not seen this yet using Material's support for squeezelite, but I have seen a race condition occur occasionally when starting squeezelite myself, where it immediately crashed because the connection to Android audio was not quite ready yet. I solved this by starting pulseaudio myself before then starting squeezelite. I had written a Termux sh script to take care of this.Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
Laptop: System76 Galago + Ubuntu 18.04 + Squeezelite + Epiphany/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
Phone: Pixel 6a + Termux/Squeezelite + Material APK > Senn IE80 earbuds
Server: System76 Meerkat + Pop!_OS 22.04 + LMS 8.4Comment
-
Out of curiosity,why is this required? I have no high-sample rate files, so never something I've used.
Note: I have not seen this yet using Material's support for squeezelite, but I have seen a race condition occur occasionally when starting squeezelite myself, where it immediately crashed because the connection to Android audio was not quite ready yet. I solved this by starting pulseaudio myself before then starting squeezelite. I had written a Termux sh script to take care of this.
Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.Comment
-
Regarding the sample rate: I play material at 96000 on my main system, but streaming this to my Android device is a waste, where the native sampling rate is limited to 48000. It also results in dropouts when streaming over my VPN when traveling.
Edit: also, I think it is better to do the resampling to 48000 on my home server, than doing it on my phone!Last edited by Ron F.; 2023-02-08, 09:22.Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
Laptop: System76 Galago + Ubuntu 18.04 + Squeezelite + Epiphany/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
Phone: Pixel 6a + Termux/Squeezelite + Material APK > Senn IE80 earbuds
Server: System76 Meerkat + Pop!_OS 22.04 + LMS 8.4Comment
-
Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.Comment
-
OK. Perhaps I'll just add a text box for other options. I've raised an issue on github https://github.com/CDrummond/lms-material-app/issues/7Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
Laptop: System76 Galago + Ubuntu 18.04 + Squeezelite + Epiphany/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
Phone: Pixel 6a + Termux/Squeezelite + Material APK > Senn IE80 earbuds
Server: System76 Meerkat + Pop!_OS 22.04 + LMS 8.4Comment
-
I see the requests, but it feels like there are hundreds per page.
You say it is the first parameter of the JSONRPC request. You mean the response of the JSONRPC request or do I misunderstand something there.
The parameter of a JSONRPC request ultimately has to come from somewhere, so I'm assuming it came from a response to a previously executed request.
Unfortunately, I have to approach it a bit, as I only have rudimentary knowledge of this technology.
Well if the response could indicate that the current view is a list of albums, artists, tracks, etc. then Material could use this to store the grid/list state.
Yes the feature works, I've just checked. However, this is meant for user or system integrators - not really for plugins.
But I am happy, it works now, the problem was sitting in front of keyboard.
A great feature, thanks, this is exactly what I wanted and more.Comment
-
Material remembers the command used to build the currently displayed list. If then uses the first parameter of this as the list/grid toggle. Anyhow, that's all implementation specific and should be of no concern to you.
Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.Comment
-
3.1.4 release, changes:
1. Fix Years browsing on non-touch devices.Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.👍 3Comment
-
cpd73 mherger I am tagging you both on this I have just discovered a scenario that Material doesn't deal with very well but is fine in Default but which needs addressing as it could cause significant problems to unwary users going forward.
Apologies for the detail here but I need to explain properly.
I am trialling a WiiM Mini with philippe_44 's UPnP Bridge. It works with a recent version 2.1.11.
This morning Material told me that I had plugin updates available - Qobuz 2.8 and UPnP/DLNA Bridge 2.1.13.
I wanted Qobuz but didn't want to apply UPnP/DLNA Bridge 2.1.13 until I had tested it but there is no way to do this inside Material - its all or nothing as far as plugin updates are concerned.
Obviously I know to jump into Default to do what I needed to do but as we move towards Material as the de-facto default skin new users aren't going to be sufficiently savvy.
What I am saying is that I think that within Material there needs to be a way of selecting which Plugins you want to install rather than an all or nothing.
Nothing to do with Material but it would be really helpful if there was a mechanism to roll back to previous plugin version (rathe rthan manual install) when you find that a new version doesn't work which is the case with UPnP/DLNA Bridge 2.1.13!
Jim
VB2.4 storage QNAP TS419p (NFS)
Living Room Joggler & Pi4/Khadas -> Onkyo TXNR686 -> Celestion F20s
Office Joggler & Pi3 -> Denon RCD N8 -> Celestion F10s
Dining Room SB Radio
Bedroom (Bedside) Pi Zero+DAC ->ToppingTP21 ->AKG Headphones
Bedroom (TV) & Bathroom SB Touch ->Denon AVR ->Mordaunt Short M10s + Kef ceiling speakers
Guest Room Joggler > Topping Amp -> Wharfedale Modus CubesComment
-
cpd73 mherger I am tagging you both on this I have just discovered a scenario that Material doesn't deal with very well but is fine in Default but which needs addressing as it could cause significant problems to unwary users going forward.
Apologies for the detail here but I need to explain properly.
I am trialling a WiiM Mini with philippe_44 's UPnP Bridge. It works with a recent version 2.1.11.
This morning Material told me that I had plugin updates available - Qobuz 2.8 and UPnP/DLNA Bridge 2.1.13.
I wanted Qobuz but didn't want to apply UPnP/DLNA Bridge 2.1.13 until I had tested it but there is no way to do this inside Material - its all or nothing as far as plugin updates are concerned.
Obviously I know to jump into Default to do what I needed to do but as we move towards Material as the de-facto default skin new users aren't going to be sufficiently savvy.
What I am saying is that I think that within Material there needs to be a way of selecting which Plugins you want to install rather than an all or nothing.
Nothing to do with Material but it would be really helpful if there was a mechanism to roll back to previous plugin version (rathe rthan manual install) when you find that a new version doesn't work which is the case with UPnP/DLNA Bridge 2.1.13!
Settings/Server/Plugins Just uncheck the relevant box.
Living Room: Touch or Squeezelite (Pi3B) > Topping E30 > Audiolab 8000A > Monitor Audio S5 + BK200-XLS DF
Bedroom: Radio
Bathroom: RadioComment
Comment