Announcement
Collapse
No announcement yet.
Announce: Material Skin
Collapse
X
-
Hi,
I have edited the NL strings and have attached it in the zip file.
thanks!Attached FilesLiving: EtherRegen -> Ultrarendu -> Benchmark DAC2 HGC -> Benchmark AHB2 -> ATC SCM19 v2 & Sennheiser HD650
Kitchen: SB Touch -> Audio Pro Addon T10 gen2
Kids rooms: SB Booms
Bedroom: SB Boom & SB Radio
Controls: Material Skin & LMS via internet, iPeng
Server: Windows 10 Pro with LMS 8.3
Spare: 2 SB Touch, 1 SB3, 2 SB RadioComment
-
Main changes:
- Fix Qobuz search field
- On modern browsers, clamp title/artist/album test to two lines each in landscape now-playing
- For MAI lyrics and biographies, just pass IDs if know - text items otherwise
- In mobile layout, colour the active tab icon and label
- Fix showing images
I have a question regarding the Search function results page generated for Qobuz. After doing a search in Qobuz, we get a page called "Search" with four items: Albums, Artists, Songs, Playlists, but there is no memory of what we just searched for. Would it be possible to put in parens, after the title Search, what we had just used as a search string?
Example:
Search (Melody)
4 Items
Additionally, after we have selected one of these items and descended further, would it be possible to keep the search term appended to the Search line in the pulldown menu that is available, that serves as breadcrumbs to go back?
Example:
Home
Qobuz
Search (Melody)
Artist
Melody Gardot
I hope I made sense here.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
-
Announce: Material Skin
> I have a question regarding the Search function results page generated
> for Qobuz. After doing a search in Qobuz, we get a page called "Search"
> with four items: *Albums, Artists, Songs, Playlists,* but there is no
> memory of what we just searched for. Would it be possible to put in
> parens, after the title *Search*, what we had just used as a search
> string?
That's not a Material question, but a Qobuz question. (and yes, it could
be done, but no, I haven't implemented it this way)
--
Michael
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)Comment
-
> I have a question regarding the Search function results page generated
> for Qobuz. After doing a search in Qobuz, we get a page called "Search"
> with four items: *Albums, Artists, Songs, Playlists,* but there is no
> memory of what we just searched for. Would it be possible to put in
> parens, after the title *Search*, what we had just used as a search
> string?
That's not a Material question, but a Qobuz question. (and yes, it could
be done, but no, I haven't implemented it this way)
--
Michael
Home > Qobuz > Search (melody) > Artists > Melody Gardot > Songs
-RonLiving 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
-
Announce: Material Skin
> Then my mistake. I was thinking it might be a Material question, because
> the Qobuz plugin, or LMS, displays the expected series of breadcrumbs
> when using the default skin, example:
> Home > Qobuz > Search (melody) > Artists > Melody Gardot > Songs
Oh... I take that back. My bad: I didn't carefully read your posting and
thought it was another request for search history. The breadcrumb
definitely is a skin question.
--
Michael
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)Comment
-
Sent from my SM-G900F using TapatalkLiving Room: Touch or Squeezelite (Pi3B) > Topping E30 > Audiolab 8000A > Monitor Audio S5 + BK200-XLS DF
Bedroom: Radio
Bathroom: RadioComment
-
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
-
Release 0.9.2 looks good - I can use Search in Qobuz!
I have a question regarding the Search function results page generated for Qobuz. After doing a search in Qobuz, we get a page called "Search" with four items: Albums, Artists, Songs, Playlists, but there is no memory of what we just searched for. Would it be possible to put in parens, after the title Search, what we had just used as a search string?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
-
Yeah, the title is always taken from the clicked item. In this case I guess Spotty uses the phrase "New Search". I'll update the code to append the searched term. So, this would then appear as (e.g.) "New Search - ABBA"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
-
Last edited by d6jg; 2019-07-24, 11:37.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
-
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 a local track, or from a streaming service? Is this for all tracks? If you start Material with debug (http://SERVER:9000/material/desktop?debug=json) do you see ["musicartistinfo", "lyrics", "html:1", "track_id:XXX"] (with XXX replaced by track's ID) logged in your bowser's devloper tools console?
Code:[12:11:24] JSON REQ: ["",["musicartistinfo","lyrics","html:1","track_id:-160755520"]] utils.min.js?r=0.9.2:26 [12:11:24] JSON REQ: ["",["musicartistinfo","biography","html:1","artist:U2"]] utils.min.js?r=0.9.2:26 [12:11:24] JSON REQ: ["",["musicartistinfo","albumreview","html:1","album:War (Deluxe Edition Remastered)","artist:U2"]] rovimusic.rovicorp.com/image.jpg?c=-VnjUlwZXDRxzif9AqzL7R_TZlp6n_cq-Emr2zx15tU=&f=5:1 GET https://rovimusic.rovicorp.com/image.jpg?c=-VnjUlwZXDRxzif9AqzL7R_TZlp6n_cq-Emr2zx15tU=&f=5 net::ERR_SSL_VERSION_INTERFERENCE Image (async) ri @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 e._update @ vue.min.js?r=2.6.10:6 r @ vue.min.js?r=2.6.10:6 fn.get @ vue.min.js?r=2.6.10:6 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:30 Promise.then (async) fetchReview @ nowplaying-page.min.js?r=0.9.2:29 showInfo @ nowplaying-page.min.js?r=0.9.2:31 info.show @ nowplaying-page.min.js?r=0.9.2:35 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:14 He @ vue.min.js?r=2.6.10:6 e.$emit @ vue.min.js?r=2.6.10:6 click @ VM59:3 He @ vue.min.js?r=2.6.10:6 n @ vue.min.js?r=2.6.10:6 Yr.o._wrapper @ vue.min.js?r=2.6.10:6 rovimusic.rovicorp.com/image.jpg?c=atPlXq2HwbJRI3VlLDz2ON_M69_UI9rrJSVvWL2-yAg=&f=3:1 GET https://rovimusic.rovicorp.com/image.jpg?c=atPlXq2HwbJRI3VlLDz2ON_M69_UI9rrJSVvWL2-yAg=&f=3 net::ERR_SSL_VERSION_INTERFERENCE Image (async) ri @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 e._update @ vue.min.js?r=2.6.10:6 r @ vue.min.js?r=2.6.10:6 fn.get @ vue.min.js?r=2.6.10:6 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:27 Promise.then (async) fetchBio @ nowplaying-page.min.js?r=0.9.2:26 showInfo @ nowplaying-page.min.js?r=0.9.2:31 info.show @ nowplaying-page.min.js?r=0.9.2:35 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:14 He @ vue.min.js?r=2.6.10:6 e.$emit @ vue.min.js?r=2.6.10:6 click @ VM59:3 He @ vue.min.js?r=2.6.10:6 n @ vue.min.js?r=2.6.10:6 Yr.o._wrapper @ vue.min.js?r=2.6.10:6 rovimusic.rovicorp.com/image.jpg?c=oYl0i99Qj87KpplL__G-eIAf7E_1E-2MlBBPmPAXRBU=&f=3:1 GET https://rovimusic.rovicorp.com/image.jpg?c=oYl0i99Qj87KpplL__G-eIAf7E_1E-2MlBBPmPAXRBU=&f=3 net::ERR_SSL_VERSION_INTERFERENCE Image (async) ri @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 x @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 e._update @ vue.min.js?r=2.6.10:6 r @ vue.min.js?r=2.6.10:6 fn.get @ vue.min.js?r=2.6.10:6 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:27 Promise.then (async) fetchBio @ nowplaying-page.min.js?r=0.9.2:26 showInfo @ nowplaying-page.min.js?r=0.9.2:31 info.show @ nowplaying-page.min.js?r=0.9.2:35 fn.run @ vue.min.js?r=2.6.10:6 un @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 qe @ vue.min.js?r=2.6.10:6 Promise.then (async) ze @ vue.min.js?r=2.6.10:6 Ye @ vue.min.js?r=2.6.10:6 (anonymous) @ vue.min.js?r=2.6.10:6 fn.update @ vue.min.js?r=2.6.10:6 ce.notify @ vue.min.js?r=2.6.10:6 set @ vue.min.js?r=2.6.10:6 (anonymous) @ nowplaying-page.min.js?r=0.9.2:14 He @ vue.min.js?r=2.6.10:6 e.$emit @ vue.min.js?r=2.6.10:6 click @ VM59:3 He @ vue.min.js?r=2.6.10:6 n @ vue.min.js?r=2.6.10:6 Yr.o._wrapper @ vue.min.js?r=2.6.10:6
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
-
Is this a local track, or from a streaming service? Is this for all tracks? If you start Material with debug (http://SERVER:9000/material/desktop?debug=json) do you see ["musicartistinfo", "lyrics", "html:1", "track_id:XXX"] (with XXX replaced by track's ID) logged in your bowser's devloper tools console?
Code:[12:13:13] JSON RESP: {"method":"slim.request","id":1,"result":{"item_loop":[{}],"offset":0,"title":"Lyrics","window":{"textarea":"Oh, the city's alight\nWith lovers and lies\nAnd bright blue eyes\n\nOh, the city is bright\nIt's brighter than day tonight\n\n(Surrender, surrender)\n(Surrender, surrender)\n\nSadie said she couldn't work out what it was all about\nAnd so she let go\nNow Sadie's on the street and the people she meets you know\n\nShe tried to be a good girl and a good wife\nRaise a good family\nLead a good life\nIt's not good enough\nShe got herself up on the 48th floor\nGotta find out\nFind out what she's living for\n\n(Surrender, surrender)\n(Surrender, surrender)\n\nOh, the city's a fire\nA passionate flame that knows me by name\nOh, the city's desire to take me for more and more\nIt's in the street gettin' under my feet\nIt's in the air, it's everywhere I look for you\nIt's in the things that I do and say\nAnd it I wanna live I gotta die to myself someday\n\nOh, oh, oh, oh...\n\nPapa sing my sing my song\nPapa sing my sing my song\nPapa sing my sing my song","windowStyle":"text_list"},"base":{"actions":{"add":{"player":0,"cmd":["trackinfo","playlist","add"],"itemsParams":"params","params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","menu":"trackinfo","track_id":"-160755520"}},"more":{"cmd":["trackinfo","items"],"itemsParams":"params","player":0,"params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","menu":"trackinfo","track_id":"-160755520"},"window":{"isContextMenu":1}},"go":{"params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","track_id":"-160755520","menu":"trackinfo","_index":"0","item_id":"15","_quantity":"25000"},"window":{"isContextMenu":1},"itemsParams":"playControlParams","cmd":["trackinfo","items"],"player":0},"add-hold":{"params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","menu":"trackinfo","track_id":"-160755520"},"itemsParams":"params","cmd":["trackinfo","playlist","insert"],"player":0},"playControl":{"params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","track_id":"-160755520","menu":"trackinfo","_index":"0","item_id":"15","_quantity":"25000"},"window":{"isContextMenu":1},"itemsParams":"playControlParams","cmd":["trackinfo","items"],"player":0},"play":{"cmd":["trackinfo","playlist","play"],"itemsParams":"params","nextWindow":"nowPlaying","player":0,"params":{"url":"spotify:track:5O58wd9NOpNe3Y0MKB0r6j","menu":"trackinfo","track_id":"-160755520"}}}},"count":0},"params":["b8:27:eb:40:09:8c",["trackinfo","items","0",25000,"url:spotify:track:5O58wd9NOpNe3Y0MKB0r6j","item_id:15","menu:trackinfo","track_id:-160755520"]]}
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
-
Announce: Material Skin
> [12:11:24] JSON REQ: ["",["musicartistinfo","lyrics","html:1","track_id:-160755520"]]
A negative track_id would be a remote track. But you mentioned the More
menu item - which is only available for local tracks. What is it really?
--
Michael
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)Comment
Comment