Announcement

Collapse
No announcement yet.

Announce: Material Skin

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • #31
    0.0.4

    Originally posted by d6jg
    3410 Artists, 2531 Albums, 30,000+ Tracks
    Wow! That's a lot! That will definitely need some splitting up for the UI to still be responsive! I'll implement the letter grouping in a later release.


    Released 0.0.4 - only minor changes:
    1. Fix retrieval of language files.
    2. Add en-gb translation.
    3. Add "id" tag to install.xml file.
    4. Fix restoring dark/light status.
    5. If asked to scroll to current track, and its not in currently fetched list of items - then fetch to current index + 50
    6. For app entries that have isuadio=1 and hasitems=1 and there are actually child items, then use playall/addall. Fixes playing BandCampout weeklies "Listen to songs (without comments)" entries.
    7. Fix scrolling to more search results.
    8. Dim speaker/group icon of powered off players.
    9. Use currently visible page size to calculate when to fetch more items.
    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


    • #32
      Announce: Material Skin

      >> 3410 Artists, 2531 Albums, 30,000+ Tracks
      >
      > Wow! That's a lot! That will *definitely* need some splitting up for the
      > UI to still be responsive! I'll implement the letter grouping in a later
      > release.


      Isn't there an option to "lazily" render items in a long list? Eg. it
      could only render the currently shown items, plus a buffer before and
      after them. Anything else would dynamically be added/removed.

      --

      Michael
      Michael

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

      Comment


      • #33
        Announce: Material Skin

        >> 3. I have a largish library. Scrolling from A to Z takes a long time.
        >> Suggest you add A/B/C/D type navigation to Artists & Albums if you can

        >
        > What I could do is group A-Z listings in blocks of (e.g.) 100 items. So


        Using SlimBrowse IIRC there should be "textkey" information. Information
        which can be used to create an index to jump by first letter quickly.

        --

        Michael
        Michael

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

        Comment


        • #34
          Originally posted by mherger
          >> 3410 Artists, 2531 Albums, 30,000+ Tracks
          >
          > Wow! That's a lot! That will *definitely* need some splitting up for the
          > UI to still be responsive! I'll implement the letter grouping in a later
          > release.


          Isn't there an option to "lazily" render items in a long list? Eg. it
          could only render the currently shown items, plus a buffer before and
          after them. Anything else would dynamically be added/removed.
          The items are already 'lazy' rendered. I fetch them in batches of 100, when you scroll nearer the bottom, the next set is fetched, etc. The issue is that then all currently fetched items are part of the HTML DOM, which (I think) would start to slow things down. I have experimented (and previous releases used) a 'view recycler' library - where only a portion of the current list was part of the DOM. This had issues where navigating down into the bowse page, and then back up, some items would not be shown. Hence I disabled this for now, and will re-add later. I have many things to do, so optimisations should probably come later. I was using an older version of the library, as I could not get newer versions to work - so this might be fixed in the lib itself.


          Originally posted by mherger
          >> 3. I have a largish library. Scrolling from A to Z takes a long time.[color=blue]
          > What I could do is group A-Z listings in blocks of (e.g.) 100 items. So


          Using SlimBrowse IIRC there should be "textkey" information. Information
          which can be used to create an index to jump by first letter quickly.
          Yes, I've seen this - and this is what I was going to use (its also in the non-SlimBrowse calls). What I intend to do is give an option to divide Artist and Album lists into letter groupings. Then I'll fetch this 'textKey' block and create that number of sub items, and list entries under that. e.g. Artists > A > Abba, AC/DC, etc.

          Using it as a 'jump list' into the browse list is possible if I create all view entries on initial fetch, and only populate the currently visible data. This is possible, but I still worry that 3000 items is a lot for the DOM. Hence thinking that splitting them up makes more sense.



          As an aside, seeing as the current browse method works, I intend to leave it like this until most of the other features are implemented, and then I will go back and replace app listing, etc, with SlimBrowse.
          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


          • #35
            Announce: Material Skin

            > which (I think) would start to slow things down. I have experimented
            > (and previous releases used) a 'view recycler' library - where only a
            > portion of the current list was part of the DOM. This had issues where


            Ok, then you're on top of it already. Cool.

            --

            Michael
            Michael

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

            Comment


            • #36
              Wow! Already my favorite "Remote-App". Maybe 2 Bugs and suggestion?

              This became instantly my favourite Remote-App for iOS!
              Modern looking, fast and slim. Thank you!

              (So far, I use iPeng for iOS, which is good, but a little over-engineered for my needs / taste and OrangeSqueeze on Android)

              One thing does not work for me properly, though:
              When using the Logitech Podcasts App (to be clear - I am talking about the Logitech Podcast App - not the Podcast menue-item within the Radio menue) and using a Podcast with multiple entries - i.e.

              you get only the icons of the podcast-list - but the text / description of the respective podcasts are missing (bug#1)
              Furthermore, if you select one of the items, the next page displayed is missing your std "home" / back entry at the top of the screen and there is no (easy) way back from that menue entry (bug#2)

              Lastly a suggestion / wish when selecting a Podcast in the Podcast-App:
              Std. behaviour (i think) would be to show the entries "Play", "Play Next", "Add to Playlist". It would be great if you could add what the respective podcast lists under "description"
              To my knowledge, only AngryGoats "OrangeSqueeze" (Android App) does this and it is really helpful.

              This is meant as constructive feedback, not complaining in any way!

              Great work - great Skin!
              Thank you again!
              LMS 8.x on RasPi4 (running along with OMV and AdGuard)
              Player: 5 x Squeezebox Classic, Slimp3, SqueezeAmp
              2nd System: PiCorePlayer (and LMS) on Pi Zero

              Comment


              • #37
                Originally posted by cpd73
                Wow! That's a lot! That will definitely need some splitting up for the UI to still be responsive! I'll implement the letter grouping in a later release.


                Released 0.0.4 - only minor changes:
                1. Fix retrieval of language files.
                2. Add en-gb translation.
                3. Add "id" tag to install.xml file.
                4. Fix restoring dark/light status.
                5. If asked to scroll to current track, and its not in currently fetched list of items - then fetch to current index + 50
                6. For app entries that have isuadio=1 and hasitems=1 and there are actually child items, then use playall/addall. Fixes playing BandCampout weeklies "Listen to songs (without comments)" entries.
                7. Fix scrolling to more search results.
                8. Dim speaker/group icon of powered off players.
                9. Use currently visible page size to calculate when to fetch more items.
                Great work.
                My library is by no means large compared to some of the other longstanding users.
                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 Cubes

                Comment


                • #38
                  0.0.5 Release

                  Release v0.0.5, mainly to fix podcast issue. Changes:
                  1. When listing browse items, check for title if name is not set. Fixes podcast listing.
                  2. If browse listing only has 1 item with description, then show description under item. Mainly for podcasts.
                  3. Improve how favorites are added.
                  4. When adding a favorite, check if it already exists.


                  I'm now going to port the code to use the SlimBrowse method, which should make things much easier (wish I had started this way), but might take a while. Hence, this quick release to fix the podcast issue. Any other browse releated issues might be fixed with SlimBrowse.
                  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


                  • #39
                    Originally posted by cpd73
                    Release v0.0.5, mainly to fix podcast issue. Changes:
                    1. When listing browse items, check for title if name is not set. Fixes podcast listing.
                    2. If browse listing only has 1 item with description, then show description under item. Mainly for podcasts.
                    3. Improve how favorites are added.
                    4. When adding a favorite, check if it already exists.


                    I'm now going to port the code to use the SlimBrowse method, which should make things much easier (wish I had started this way), but might take a while. Hence, this quick release to fix the podcast issue. Any other browse releated issues might be fixed with SlimBrowse.
                    Thank you! The described podcast issues are all resolved - and you added the podcast description!
                    This will replace all my other "Remote-Apps", so I have a unified LMS access regardless of iOS, Android or MS W10 (Tablet).
                    2 thumbs up!!
                    Last edited by slimhase; 2018-10-27, 11:18.
                    LMS 8.x on RasPi4 (running along with OMV and AdGuard)
                    Player: 5 x Squeezebox Classic, Slimp3, SqueezeAmp
                    2nd System: PiCorePlayer (and LMS) on Pi Zero

                    Comment


                    • #40
                      Two cosmetic "issues" I've found:

                      - saved a link to the home screen on my iDevice. Icon doesn't look good (I guess its round with transparency?). And I'd prefer the name to default to the server's name rather than "SlimServer"

                      Click image for larger version

Name:	2018-10-27 13.30.24.png
Views:	1
Size:	110.8 KB
ID:	1565169

                      - running in full screen mode (launched from the home screen item) I switched to landscape mode while on the Now Playing screen, and back. Left me with a tiny cover art :-)

                      Click image for larger version

Name:	2018-10-27 13.30.01.png
Views:	1
Size:	111.3 KB
ID:	1565170

                      But great job so far! I'm looking forward to seeing the next big update ;-)
                      Michael

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

                      Comment


                      • #41
                        This is by far the most accomplished effort at "reskinning" LMS I've tried, congrats!
                        I do have found some issues however:
                        • On a non-touch interface it seems impossible to start music from sources outside of my local LMS (tried Spotty & Tidal)
                        • It doesn't take into account the setting for "Additonal Browse Modes" as defined in LMS for a particular player, instead showing the defaults, See screenshots.

                        Click image for larger version

Name:	20181027_SPOTTY_01.png
Views:	1
Size:	40.4 KB
ID:	1565173Click image for larger version

Name:	20181027_SPOTTY_02.png
Views:	1
Size:	56.1 KB
ID:	1565172Click image for larger version

Name:	20181027_SPOTTY_03.png
Views:	1
Size:	51.3 KB
ID:	1565171
                        Main System: Marantz SR-5015 + Adam Audio T8V + Teufel Ultima 20 Mk 3 + BK Monolith+ FF + Lenovo T560 + Kodi + LG OLED65B26LA + UP-Board running Daphile
                        Kitchen: Touch + Ikea ENEBY 30
                        Home-Office: SqueezeLite-X + Topping DX3 Pro + NAD 312 + TMA Premium 905

                        Comment


                        • #42
                          Originally posted by bakker_be
                          This is by far the most accomplished effort at "reskinning" LMS I've tried, congrats!
                          I do have found some issues however:
                          • On a non-touch interface it seems impossible to start music from sources outside of my local LMS (tried Spotty & Tidal)
                          • It doesn't take into account the setting for "Additonal Browse Modes" as defined in LMS for a particular player, instead showing the defaults, See screenshots.
                          Don't use any streaming services, so have no way of checking. However, I am porting the browse side to SlimBrowse - which I believe should help with this. However, there should be no differences between touch and non-touch. I test on Firefox under Linux.

                          As to the "additional browse modes", it does add the extra modes - it just ignores the checkbox settings. At the moment this is hard-coded as such, and I'm not sure I really want to change it. However, it should probably not be too hard - just more pressing matters at the moment.
                          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


                          • #43
                            Originally posted by cpd73
                            Don't use any streaming services, so have no way of checking. However, I am porting the browse side to SlimBrowse - which I believe should help with this. However, there should be no differences between touch and non-touch. I test on Firefox under Linux.

                            As to the "additional browse modes", it does add the extra modes - it just ignores the checkbox settings. At the moment this is hard-coded as such, and I'm not sure I really want to change it. However, it should probably not be too hard - just more pressing matters at the moment.
                            Just rebooted my LMS because of an update to "Material skin" and the streaming service issue is resolved in 0.0.5.
                            I do seem to have a different issue though: my LMS keeps telling me that a new version of "Material Skin" is available and I need to restart LMS to install it. I've verified the downloaded zip, it contains 0.0.5 according to install.xml. I've already tried to manually delete the zip from the DownloadedPlugins folder, but upon reboot of LMS it just gets downloaded from Github again, with the same result.
                            Main System: Marantz SR-5015 + Adam Audio T8V + Teufel Ultima 20 Mk 3 + BK Monolith+ FF + Lenovo T560 + Kodi + LG OLED65B26LA + UP-Board running Daphile
                            Kitchen: Touch + Ikea ENEBY 30
                            Home-Office: SqueezeLite-X + Topping DX3 Pro + NAD 312 + TMA Premium 905

                            Comment


                            • #44
                              Originally posted by bakker_be
                              Just rebooted my LMS because of an update to "Material skin" and the streaming service issue is resolved in 0.0.5.
                              I do seem to have a different issue though: my LMS keeps telling me that a new version of "Material Skin" is available and I need to restart LMS to install it. I've verified the downloaded zip, it contains 0.0.5 according to install.xml. I've already tried to manually delete the zip from the DownloadedPlugins folder, but upon reboot of LMS it just gets downloaded from Github again, with the same result.
                              I think this is the case for all of us.
                              Surely a fix for this should be a priority?
                              Server - LMS 8.4.0 RPi4B 4GB/NanoSound ONE case/pCP 8.1.0 - 75K library, playlists & LMS cache on Sata SSD (ntfs)

                              Lounge - DAC32 - AudioEngine B2
                              Office - RPi 3B+/HiFiBerry DAC HAT/RPi screen - Edifier D12
                              Bedroom - Echo Show 8

                              Spares - 1xSB Touch, 1xSB3, 4xRPi, AVI DM5 speakers

                              Comment


                              • #45
                                Originally posted by mherger
                                Two cosmetic "issues" I've found:

                                - saved a link to the home screen on my iDevice. Icon doesn't look good (I guess its round with transparency?). And I'd prefer the name to default to the server's name rather than "SlimServer"

                                [ATTACH]25843[/ATTACH]
                                Looks okay on android.

                                Click image for larger version

Name:	controllers.jpg
Views:	1
Size:	42.4 KB
ID:	1565175
                                Server - LMS 8.4.0 RPi4B 4GB/NanoSound ONE case/pCP 8.1.0 - 75K library, playlists & LMS cache on Sata SSD (ntfs)

                                Lounge - DAC32 - AudioEngine B2
                                Office - RPi 3B+/HiFiBerry DAC HAT/RPi screen - Edifier D12
                                Bedroom - Echo Show 8

                                Spares - 1xSB Touch, 1xSB3, 4xRPi, AVI DM5 speakers

                                Comment

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