Announcement

Collapse
No announcement yet.

Announce: Material Skin

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Originally posted by hsmeets
    1) on iPad the Qobuz search field does no longer trigger the appearance of the onscreen keyboard, hence one cannot search anymore
    There have been no changes between this and the last release that could have possibly affected this. Perhaps you need to clear your browser cache.

    Originally posted by hsmeets
    2) on MacOS/Safari the search can be done, albums are found and shown but the tracklist of these albums are empty.
    Sorry, don't use Qobuz. There has been a change to fix the "browseonlioneartist" command (well more to work-around a possible LMS issue). This adds parameters from the previous list command to the next - but only if it does not already have a parameter. e.g. if "artist_id:123" was used to show the current list, then "artist_id:123" would be added when clicking on an item, but only if it did not have any other "artist_id" parameter. Its possible this has broken something here but I'd need other users to confirm.

    Are any errors logged in the console tab of your browser's developer tools? Does LMS log an errors?
    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


    • Announce: Material Skin

      > Fyi, I opened an issue on LMS for this '(#817)'
      > (https://github.com/Logitech/slimserver/issues/817) and Michael has
      > coded a fix for it.


      I took this as an opportunity to bring some of that more than a decade
      old code up to date. What I previously considered "legacy" code suddenly
      has gained a lot of interest, due/thanks to the Material skin
      integration. Yet: updating some of the libraries to their latest
      versions meant updating to more than 10 years old code...

      Please pay close attention to the behaviour of the settings pages in
      Material. I hope I didn't break more than I fixed :-).
      Michael

      "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
      (LMS: Settings/Information)

      Comment


      • Originally posted by cpd73
        Bug fix release, changes:
        • Increase artwork sizes for high DPI screens.
        Thank you for this quick fix/addition!

        It work great! Except for one place which I often use... The "Compilations" menu item(?) Selecting that menu, it still seems artwork is low/std resolution?

        Comment


        • Originally posted by masimus
          Thank you for this quick fix/addition!

          It work great! Except for one place which I often use... The "Compilations" menu item(?) Selecting that menu, it still seems artwork is low/std resolution?
          My guess this is a caching-issue - clearing your browser cache and doing a full reload should resolve 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


          • Originally posted by slimhase
            Just to be sure:
            You are aware that when you are in Safari and tell Safari to add the site to your homescreen and you call it then from that new icon on your homescreen - it opens in full screen mode. That gives you more screen real estate
            I have a tiny iPhone SE 2016 (and also aging eyes...) and materials large font setting is almost too large for me in that setting..
            Thank you for this. Chrome is my default browser. This just improved my UX by n


            Sent from my iPhone using Tapatalk

            Comment


            • Announce: Material Skin

              > Squeezer or iPeng. If Michael would expand the SlimBrowse API to have
              > year (and track durations?) as separate fields (so not "Album (Year) BY
              > Artist") that would be great - but it does require a change in Spotty
              > and/or LMS.


              ....and Qobuz, and TIDAL, and Deezer, and... Not sure I want to get
              started...
              Michael

              "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
              (LMS: Settings/Information)

              Comment


              • Originally posted by cpd73
                Sorry, don't use Qobuz. There has been a change to fix the "browseonlioneartist" command (well more to work-around a possible LMS issue). This adds parameters from the previous list command to the next - but only if it does not already have a parameter. e.g. if "artist_id:123" was used to show the current list, then "artist_id:123" would be added when clicking on an item, but only if it did not have any other "artist_id" parameter. Its possible this has broken something here but I'd need other users to confirm.

                Are any errors logged in the console tab of your browser's developer tools? Does LMS log an errors?
                Hi,

                Back with some delay (life happens while making plans...)

                I looked around and compared as far as possible with the Classis skin.

                In both skins the navigation is identical Qobuz-->Search for 'Bach'-->Albums-->Tracklist.

                When I select an Album in the Classic skin the tracklist is shown and it generated following URL:

                Code:
                 http://192.168.0.5:9000/plugins/qobuz/index.html?index=0_Bach.0.0&player=00%3A04%3A20%3A1e%3A97%3A18&sess=
                When I select the same Album in the Material skins the tracksist is empty and the following JSON

                Code:
                [Log] [09:57:00] JSON REQ: ["74:da:38:1a:af:62",["qobuz","items",0,25000,"menu:qobuz","isContextMenu:1","item_id:0_Bach_Bach.0.0","search:Bach","cachesearch:1"]] (material.min.js, line 239)
                As you see (and probably the change you mentioned) there is a difference

                Classic --> 0_Bach.0.0
                Material --> 0_Bach_Bach.0.0

                Hope this helps, otherwise let me know.

                Thanks,
                Huib

                Ps.
                That issue with the onscreen keyboard disappeared by itself when I picked up the iPad this morning
                does the all-black SB sound better than the white SB?

                Comment


                • Originally posted by hsmeets
                  Code:
                  [Log] [09:57:00] JSON REQ: ["74:da:38:1a:af:62",["qobuz","items",0,25000,"menu:qobuz","isContextMenu:1","item_id:0_Bach_Bach.0.0","search:Bach","cachesearch:1"]] (material.min.js, line 239)
                  Hmmm... I'm thinking it's the "search:Bach","cachesearch:1" which probably come from the previous request (parameters are not modified, so "item_id:" is what it is). Can you try the following:

                  1. Navigate into Material to just before you would click on the item which fails
                  2. Open your browser's developer tools
                  3. Go to console tab in developer tools
                  4. Type:
                  Code:
                  allow pasting;
                  5. Now paste the following:
                  Code:
                  lmsList("74:da:38:1a:af:62", ["qobuz", "items"], ["isContextMenu:1", "item_id:0_Bach_Bach.0.0"]).then(({data}) => {
                      console.log(JSON.stringify(data));
                  });
                  ...this should do your above command but without "search:Bach","cachesearch:1" Does that produce some text that has items you would expect?
                  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


                  • Originally posted by cpd73
                    Hmmm...
                    5. Now paste the following:
                    Code:
                    lmsList("74:da:38:1a:af:62", ["qobuz", "items"], ["isContextMenu:1", "item_id:0_Bach_Bach.0.0"]).then(({data}) => {
                        console.log(JSON.stringify(data));
                    });
                    ...this should do your above command but without "search:Bach","cachesearch:1" Does that produce some text that has items you would expect?
                    This gives:

                    Code:
                    [Log] {"result":{"count":0},"params":["74:da:38:1a:af:62",["qobuz","items","0",25000,"isContextMenu:1","item_id:0_Bach_Bach.0.0"]],"method":"slim.request","id":0}
                    Thus basically as before.

                    when I change "0_Bach_Bach.0.0" to "0_Bach.0.0" I get the expected result of the tracklist (of the first album in the album list) and the other list entries Qobuz sends along as the CD booklet.
                    does the all-black SB sound better than the white SB?

                    Comment


                    • Originally posted by hsmeets
                      when I change "0_Bach_Bach.0.0" to "0_Bach.0.0" I get the expected result of the tracklist (of the first album in the album list) and the other list entries Qobuz sends along as the CD booklet.
                      Odd. Can you use Material's debugging (see my sig) and post the RESP message that is uswed to create the list where clicking on an item fails. (i.e. the non-blank list)
                      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


                      • Originally posted by cpd73
                        Odd. Can you use Material's debugging (see my sig) and post the RESP message that is uswed to create the list where clicking on an item fails. (i.e. the non-blank list)
                        Code:
                        [Log] [14:30:17] JSON REQ: ["00:04:20:1e:97:18",["qobuz","items",0,25000,"item_id:0_Bach.0","menu:qobuz","search:Bach","cachesearch:1"]] (material.min.js, line 239)
                        and this is the response (a list of albums matching the search), I only copy&paste the first lines, otherwise the max characters of 10K was exceeded for posting in the forum.


                        Code:
                        [Log] [14:30:17] JSON RESP: {"result":{"window":{"windowStyle":"icon_list"},"title":"Albums","base":{"actions":{"go":{"params":{"menu":"qobuz"},"itemsParams":"params","cmd":["qobuz","items"]},"add-hold":{"params":{"menu":"qobuz"},"player":0,"itemsParams":"params","cmd":["qobuz","playlist","insert"]},"add":{"player":0,"params":{"menu":"qobuz"},"cmd":["qobuz","playlist","add"],"itemsParams":"params"},"more":{"cmd":["qobuz","items"],"itemsParams":"params","window":{"isContextMenu":1},"player":0,"params":{"menu":"qobuz"}},"playControl":{"player":0,"params":{"_index":"0","item_id":"0_Bach.0","_quantity":"25000","search":"Bach","cachesearch":"1","menu":"qobuz"},"cmd":["qobuz","items"],"window":{"isContextMenu":1},"itemsParams":"playControlParams"},"play":{"cmd":["qobuz","playlist","play"],"nextWindow":"nowPlaying","itemsParams":"params","player":0,"params":{"menu":"qobuz"}}}},"item_loop":[{"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F71%2F54%2F0886445085471_600.jpg/image.jpg","type":"playlist","text":"Bach: The Goldberg Variations (1981) - Gould Remastered (Hi-Res)\nGlenn Gould","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.0"}},{"params":{"item_id":"0_Bach_Bach.0.1","isContextMenu":1},"text":"Johann Sebastian Bach (Hi-Res)\nVíkingur Ólafsson","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fua%2Fhn%2Fji4k38oq9hnua_600.jpg/image.jpg","type":"playlist"},{"params":{"item_id":"0_Bach_Bach.0.2","isContextMenu":1},"text":"Bach & Handel (Hi-Res)\nSabine Devieilhe","type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Flc%2Fdb%2Fm1fxms40udblc_600.jpg/image.jpg"},{"params":{"item_id":"0_Bach_Bach.0.3","isContextMenu":1},"text":"J. S. Bach: Matthäus-Passion, BWV 244 (Hi-Res)\nRaphaël Pichon","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fxa%2Fii%2Fl0cpm6qibiixa_600.jpg/image.jpg","type":"playlist"},{"params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.4"},"text":"Rachmaninov : Piano Concertos 2, 4 - Bach-Rachmaninov : Partita BWV 1006 (Hi-Res)\nDaniil Trifonov","type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fha%2F0v%2Flxt7zeu2j0vha_600.jpg/image.jpg"},{"text":"Bach, JS: Goldberg Variations (Hi-Res)\nDavid Fray","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.5"},"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fja%2Fyh%2Fx8cgf5i92yhja_600.jpg/image.jpg"},{"text":"J.S. Bach: Harpsichord Concertos, Vol. 3 (Hi-Res)\nFrancesco Corti","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.6"},"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fjb%2Fca%2Frfshymbr3cajb_600.jpg/image.jpg"},{"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F3a%2Fac%2Fe2y1v37crac3a_600.jpg/image.jpg","text":"Bach: St. John Passion, BWV 245 (Hi-Res)\nJohn Eliot Gardiner","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.7"}},{"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Frc%2F6n%2Fdnowvd60v6nrc_600.jpg/image.jpg","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.8"},"text":"The Imaginary Music Book of J.S. Bach (Hi-Res)\nCafé Zimmermann"},{"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Flb%2Fel%2Fha5y5btyaellb_600.jpg/image.jpg","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.9"},"text":"Six Evolutions - Bach: Cello Suites (Hi-Res)\nYo-Yo Ma"},{"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Ftc%2F71%2Fdvozelt9m71tc_600.jpg/image.jpg","text":"Bach: Goldberg Variations (Hi-Res)\nJean Rondeau","params":{"item_id":"0_Bach_Bach.0.10","isContextMenu":1}},{"text":"J.S. Bach: Harpsichord Concertos (Hi-Res)\nFrancesco Corti","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.11"},"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fva%2Fi1%2Ffpd40odrxi1va_600.jpg/image.jpg"},{"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fra%2F00%2Fb1h1p1v1a00ra_600.jpg/image.jpg","type":"playlist","params":{"item_id":"0_Bach_Bach.0.12","isContextMenu":1},"text":"Vivaldi 12 Concertos Op.3 'Estro Armonico', Bach Keyboards Arrangements (Hi-Res)\nRinaldo Alessandrini"},{"text":"My Personal Favorites: The Jacques Loussier Trio Plays Bach (Hi-Res)\nJacques Loussier","params":{"item_id":"0_Bach_Bach.0.13","isContextMenu":1},"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F5a%2F1q%2Fhfge9v6u71q5a_600.jpg/image.jpg","type":"playlist"},{"params":{"item_id":"0_Bach_Bach.0.14","isContextMenu":1},"text":"Johannes Brahms: Piano Sonata N°3 - Chaconne (Bach) - Four Ballades (Hi-Res)\nAlexandre Kantorow","type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Frb%2F91%2Fembyddt4891rb_600.jpg/image.jpg"},{"text":"Bach: Matthäus-Passion, BWV 244 (Remastered) (Hi-Res)\nNikolaus Harnoncourt","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.15"},"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Foa%2F00%2Fa8zmo8ing00oa_600.jpg/image.jpg","type":"playlist"},{"text":"Bach, Liszt, Widor: Organ Works at la Madeleine (Hi-Res)\nJae-Hyuck Cho","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.16"},"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Ftc%2Fxe%2Fnkdfezhaixetc_600.jpg/image.jpg","type":"playlist"},{"text":"Bach: Mass in B Minor, BWV 232 (Hi-Res)\nRené Jacobs","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.17"},"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F6b%2F7f%2Fbkaumdbad7f6b_600.jpg/image.jpg","type":"playlist"},{"params":{"item_id":"0_Bach_Bach.0.18","isContextMenu":1},"text":"Bach: Complete Lute Works (Hi-Res)\nEvangelina Mascardi","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fbb%2Fnz%2Ftbxlvsrqpnzbb_600.jpg/image.jpg","type":"playlist"},{"icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F20%2F99%2F0761195129920_600.jpg/image.jpg","type":"playlist","text":"Bach : Violin Sonatas & Partitas (Hi-Res)\nChristian Tetzlaff","params":{"item_id":"0_Bach_Bach.0.19","isContextMenu":1}},{"params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.20"},"text":"Bach & Telemann: Effervescence concertante (Hi-Res)\nEnsemble Amarillis","type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F20%2F93%2F3149028109320_600.jpg/image.jpg"},{"text":"Johann Sebastian Bach : The French Suites (Hi-Res)\nMurray Perahia","params":{"item_id":"0_Bach_Bach.0.21","isContextMenu":1},"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F70%2F65%2F0002894796570_600.jpg/image.jpg"},{"params":{"item_id":"0_Bach_Bach.0.22","isContextMenu":1},"text":"J.S. Bach: Sonatas & Partitas, Vol. 1 (Hi-Res)\nFrank Peter Zimmermann","type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2Fwb%2Fea%2Flrthzelgoeawb_600.jpg/image.jpg"},{"text":"Bach to the future (Hi-Res)\nOlivier Latry","params":{"isContextMenu":1,"item_id":"0_Bach_Bach.0.23"},"type":"playlist","icon":"/imageproxy/https%3A%2F%2Fstatic.qobuz.com%2Fimages%2Fcovers%2F3a%2Fm8%2Fd0hil124ym83a_600.jpg/image.jpg"},
                        does the all-black SB sound better than the white SB?

                        Comment


                        • Originally posted by hsmeets;1061900
                          [CODE
                          ...{"params":{"item_id":"0_Bach_Bach.0.1","isConte xtMenu":1}...[/CODE]
                          ...and here you can see the "0_Bach_Bach.0.1". Still, I wonder if the "search:Bach","cachesearch:1" in the REQ is the real issue. I'll update Material to only add "xxx_id" parameters (if not already set). This will still work for "browseonlineartist", but might resolve the issue here. As Im thinking the second "search:Bach" is creating the "Bach_Bach"
                          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


                          • Originally posted by cpd73
                            ...and here you can see the "0_Bach_Bach.0.1". Still, I wonder if the "search:Bach","cachesearch:1" in the REQ is the real issue. I'll update Material to only add "xxx_id" parameters (if not already set). This will still work for "browseonlineartist", but might resolve the issue here. As Im thinking the second "search:Bach" is creating the "Bach_Bach"

                            Understandable that it can be awkward, a puzzle...been there done that as Cobol programmer many...many years ago, looking at an issue and not understanding it....

                            It worked flawless before the latest Material update. In the classic skin, iPeng, etc it still works as before.

                            If you want, contact me through a PM and I'll share userid and (a temporary) password of my Qobuz account for debug/testing purpose.
                            does the all-black SB sound better than the white SB?

                            Comment


                            • Originally posted by hsmeets
                              If you want, contact me through a PM and I'll share userid and (a temporary) password of my Qobuz account for debug/testing purpose.
                              I have a better idea, please try the attached version: lms-material-test.zip

                              Unzip the contents over your existing MaterialSkin install, restart LMS, clear browser cache, and reload Material page. (LMS will tell you there's an update for Material, but that will jsut downgrade to 2.10.4)
                              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


                              • Originally posted by cpd73
                                I have a better idea, please try the attached version: [ATTACH]38782[/ATTACH]

                                Unzip the contents over your existing MaterialSkin install, restart LMS, clear browser cache, and reload Material page. (LMS will tell you there's an update for Material, but that will jsut downgrade to 2.10.4)
                                Hi Craig,

                                this version of Material is fine. Search-->Album-->Tracklist works like it used to do.

                                Anything else needed?

                                Regards,

                                Huib
                                does the all-black SB sound better than the white SB?

                                Comment

                                Working...
                                X
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎