Announcement
Collapse
No announcement yet.
Announce: Material Skin
Collapse
X
-
I am not sure where the correct place to ask this question is, so please let me know if I should ask this elsewhere.
I would like to use the IR Blaster plugin with my SB Touch. After installing it , I was greeted with a blank plugin page. Only after I changed from Material Skin to Default Skin was the plugin page visible. Is this something on the Material skin side or on the plugin side, and can that be resolved ?
Anyhow, looking at your screenshots this would appear to not be a Material issue. The page that you are showing from Material is actually from LMS's "Classic" (not "Default") skin. Material uses the "Classic" skin for server settings, extra platyer settings, and "Extras". Your "IRBlaster" is from a page within "Player Settings", so this is all from LMS. All Material does is add some CSS (and a little Javascript) to the "Classic" skin to make it appear slightly more Material-like. You should be able to see the same issue if you use the "Classic" skin - eg. "h t t p://SERVER:90090/Classic"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
-
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
-
Does this mean that the issue is on the plugin side ?Comment
-
Trying the .../classic url , I end up with an interesting Frankenstein, but changing over in Interface Settings to Classic I do see the same behavior - ie no plugin page. What would the Default page be building from ?
Yeah, It would only work for Touch, SB 2/3 and Transporter (I think)
Does this mean that the issue is on the plugin side ?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
-
Is this Material or LMS?
Two instances of LMS both using the same library of music
Both the most recent version of LMS but running on different architecture with different versions of Perl and Audio::Scan
Instance 1
Instance 2
New Music side by side - the indicated tracks are multi tagged with Album Artist as "Graham Parker" and "Graham Parker & The Rumour"
Can anyone explain why the difference?
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
-
Two instances of LMS both using the same library of music
Both the most recent version of LMS but running on different architecture with different versions of Perl and Audio::Scan
...
New Music side by side - the indicated tracks are multi tagged with Album Artist as "Graham Parker" and "Graham Parker & The Rumour"
Can anyone explain why the difference?Last edited by cpd73; 2022-07-07, 10:23.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
-
Hey, Craig. Now that the "Denon/Marantz AVR Settings" plugin menu is supported (thanks for your help with that), I am really enjoying using and learning about the MS app. One thing I would really like is to somehow be able to access the plugin menu either directly from the Playing screen or, alternatively, pin it to the Home screen. I don't think either of those possibilities currently exist but is there any way to accomplish it via a customization? It would make the menu much more convenient to use during listening sessions. Thanks!SamComment
-
Hey, Craig. Now that the "Denon/Marantz AVR Settings" plugin menu is supported (thanks for your help with that), I am really enjoying using and learning about the MS app. One thing I would really like is to somehow be able to access the plugin menu either directly from the Playing screen or, alternatively, pin it to the Home screen. I don't think either of those possibilities currently exist but is there any way to accomplish it via a customization? It would make the menu much more convenient to use during listening sessions. Thanks!
Code:{ "system":[ { "title":"Denon", "script":"bus.$emit('dlg.open', 'playersettingsplugin', '$ID', '$NAME', {title:'Denon', actions:{go:{cmd:['avpTop']}}}, false);" } ] }
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
-
Code:{ "players":[ { "players":["01:02:03:04:05:06", "aa:bb:cc:dd:ee:ff"], "title":"Denon", "script":"bus.$emit('dlg.open', 'playersettingsplugin', '$ID', '$NAME', {title:'Denon', actions:{go:{cmd:['avpTop']}}}, false);" } ] }
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
-
The problem is this plugin is player specific, whereas the homescreen, etc. is not. If you want you can add an entry to the main menu by creating an actions.json with:
Code:{ "system":[ { "title":"Denon", "script":"bus.$emit('dlg.open', 'playersettingsplugin', '$ID', '$NAME', {title:'Denon', actions:{go:{cmd:['avpTop']}}}, false);" } ] }
Code:ERROR: List processing failed TypeError: Cannot read properties of undefined (reading 'startsWith')
P.S. I saw your subsequent posts. Maybe I should just wait and test with the new player list menu customization support.SamComment
-
The weird thing is that I did a full clear and rescan on both instances before running the debug but examination of library.db in both doesn't show any difference in the contributors_albums table for the album ID in question.
I then fired up a third LMS instance also upgraded to latest LMS. It is also a Pi and therefore identical in all respects - perl, Audio:Scan and db server etc to the one reporting multiple album artists but this one does not show multiple album artists although both are in the contributors table and assigned to the album ID in question in contributors_album
@michael - when you do a clear and rescan does it actually drop all tables from the db and create from scratch or is there anything that persists?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
-
After running debug I found that the call is identical but the 2 servers respond slightly differently - so not a Material problem.
The weird thing is that I did a full clear and rescan on both instances before running the debug but examination of library.db in both doesn't show any difference in the contributors_albums table for the album ID in question.
I then fired up a third LMS instance also upgraded to latest LMS. It is also a Pi and therefore identical in all respects - perl, Audio:Scan and db server etc to the one reporting multiple album artists but this one does not show multiple album artists although both are in the contributors table and assigned to the album ID in question in contributors_album
@michael - when you do a clear and rescan does it actually drop all tables from the db and create from scratch or is there anything that persists?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
-
Replying to myself in case you do not see edits, but next release of Material will allow you to add these actions to the player list menu, and (optiojnally) only for certain player IDs. e.g.
Code:{ "players":[ { "players":["01:02:03:04:05:06", "aa:bb:cc:dd:ee:ff"], "title":"Denon", "script":"bus.$emit('dlg.open', 'playersettingsplugin', '$ID', '$NAME', {title:'Denon', actions:{go:{cmd:['avpTop']}}}, false);" } ] }
Code:ERROR: List processing failed TypeError: Cannot read properties of undefined (reading 'startsWith')
Successful (Invoked from Player settings menu):
Code:[1:58:19 PM] JSON REQ: ["b8:26:eb:c1:71:f0",["avpDynEq",0,300,"menu:avpDynEq"]] utils.js?r=DEV-2022-07-08-13-32-13:123 [1:58:19 PM] JSON RESP: {"method":"slim.request","params":["b8:26:eb:c1:71:f0",["avpDynEq","0",300,"menu:avpDynEq"]],"id":0,"result":{"count":2,"item_loop":[{"radio":1,"text":"Dynamic EQ and Volume Off","actions":{"do":{"player":0,"cmd":["avpSetDynEq",0,"0"]}}},{"radio":0,"text":"Dynamic EQ On","actions":{"do":{"cmd":["avpSetDynEq",1,"0"],"player":0}}}],"offset":0}}
Code:[1:59:30 PM] JSON REQ: ["b8:26:eb:c1:71:f0",["avpDynEq",0,300,"menu:avpDynEq"]] utils.js?r=DEV-2022-07-08-13-32-13:123 [1:59:30 PM] JSON RESP: {"result":{"item_loop":[{"radio":1,"text":"Dynamic EQ and Volume Off","actions":{"do":{"player":0,"cmd":["avpSetDynEq",0,"0"]}}},{"text":"Dynamic EQ On","radio":0,"actions":{"do":{"player":0,"cmd":["avpSetDynEq",1,"0"]}}}],"offset":0,"count":2},"id":0,"params":["b8:26:eb:c1:71:f0",["avpDynEq","0",300,"menu:avpDynEq"]],"method":"slim.request"}
Code:utils.js?r=DEV-2022-07-08-13-32-13:155 [Fri, 08 Jul 2022 17:59:30 GMT] ERROR:TypeError: Cannot read properties of undefined (reading 'startsWith') []length: 0[[Prototype]]: Array(0)at: ƒ at()concat: ƒ concat()constructor: ƒ Array()copyWithin: ƒ copyWithin()entries: ƒ entries()every: ƒ every()fill: ƒ fill()filter: ƒ filter()find: ƒ find()findIndex: ƒ findIndex()findLast: ƒ findLast()findLastIndex: ƒ findLastIndex()flat: ƒ flat()flatMap: ƒ flatMap()forEach: ƒ forEach()includes: ƒ includes()indexOf: ƒ indexOf()join: ƒ join()keys: ƒ keys()lastIndexOf: ƒ lastIndexOf()length: 0map: ƒ map()pop: ƒ pop()push: ƒ push()reduce: ƒ reduce()reduceRight: ƒ reduceRight()reverse: ƒ reverse()shift: ƒ shift()slice: ƒ slice()some: ƒ some()sort: ƒ sort()splice: ƒ splice()toLocaleString: ƒ toLocaleString()toString: ƒ toString()unshift: ƒ unshift()values: ƒ values()Symbol(Symbol.iterator): ƒ values()Symbol(Symbol.unscopables): {copyWithin: true, entries: true, fill: true, find: true, findIndex: true, …}[[Prototype]]: Object logError @ utils.js?r=DEV-2022-07-08-13-32-13:155 parseBrowseResp @ browse-resp.js?r=DEV-2022-07-08-13-32-13:1186 (anonymous) @ player-settings-plugin.js?r=DEV-2022-07-08-13-32-13:144 Promise.then (async) fetch @ player-settings-plugin.js?r=DEV-2022-07-08-13-32-13:142 click @ VM1850:3 He @ vue.min.js?r=2.6.11:6 n @ vue.min.js?r=2.6.11:6 He @ vue.min.js?r=2.6.11:6 e.$emit @ vue.min.js?r=2.6.11:6 click @ vuetify.min.js?r=1.5.24trim:6 He @ vue.min.js?r=2.6.11:6 n @ vue.min.js?r=2.6.11:6 Yr.o._wrapper @ vue.min.js?r=2.6.11:6
SamComment
-
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
Comment