Announcement

Collapse
No announcement yet.

Announce: Melodeon

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Announce: Melodeon

    This is a very early release of a Qt5/6 web-engine wrapper for MaterialSkin. This is very much like the Material APK, but for Linux. At the moment it is simply a wrapper around QWebEngine (Qt's web engine based upon Chromium), but adds:
    1. Server auto-discovery
    2. MPRIS support - so that song information, etc, appears in Plasma's media player widget, and in GNOME's notification center
    3. Configurable zoom level


    I might add extra features such as control of Squeezelite - but I'm not 100% of the usefulness of that. As its a Qt app porting to Windows or macOS would be trivial. If there is any desire for a macOS version I'm sure I could create a github action to build this. Don't see much point to a Windows version as there is already Squeezelite-X, which does much more.

    Some screenshots:

    Settings page:
    Click image for larger version

Name:	melodeon-settings.png
Views:	1
Size:	84.3 KB
ID:	1579123


    Plasma's media player widget, this is updated via the inbuilt MPRIS interface:
    Click image for larger version

Name:	melodeon-mpris.jpg
Views:	1
Size:	46.3 KB
ID:	1579124

    As stated, this is a very early release - I only made the first commit last Sunday (but it is based upon another project I've been using for a while).

    Source code and DEB package can be downloaded from:

    [Edit] NOTE: This requires the latest (3.0.0+) release of MaterialSkin, as that has code used by this wrapper.
    Last edited by cpd73; 2022-11-18, 18:10.
    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.

    #2
    I thought I'd give the .deb a go ... but could not install here on RPi.
    I assume it is Intel/AMD only for now.

    Do you think that buildig it from source on RPi (Raspberry Pi OS) will work?
    Paul Webster
    Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, ABC Australia and CBC/Radio-Canada
    and, via the extra "Radio Now Playing" plugin lots more - see https://forums.slimdevices.com/showt...Playing-plugin

    Comment


      #3
      Originally posted by Paul Webster View Post
      I thought I'd give the .deb a go ... but could not install here on RPi.
      I assume it is Intel/AMD only for now.
      Never thought about building for the Pi. I can create a github action for this, but yeah DEB is AMD64

      Originally posted by Paul Webster View Post
      Do you think that buildig it from source on RPi (Raspberry Pi OS) will work?
      Can't see why there would be a problem, code is pretty simple.
      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


        #4
        Thank you very much! Version 0.0.1 is already working smoothly on ubuntu 22.10.
        Transporter, Squeezelite-esp32 (SSD1322+IR+Cirrus CS43198), DAC32, 2x SB Radio, 2x SB3, Touch, PiCorePlayer8 (Audiophonics RASPTOUCH i-Sabre+IR)

        Comment


          #5
          Originally posted by df77 View Post
          Thank you very much! Version 0.0.1 is already working smoothly on ubuntu 22.10.
          Thanks for the feedback, and glad its working for you. I have yet to try this under GNOME - after using Unity and the GNOME for ~10years I have returned to KDE/Plasma. One thing I want to get working is auto-changing the titlebar to dark/light depending on Material's colour scheme. I have this working for KWin, but no code yet for GNOME.
          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


            #6
            Many thanks for your work!
            Just installed it on Linux Mint 21 and all seem OK!
            Do you think that in a future update it will be possible to implement the computer to work as LMS end point through the app?
            Main system: Synology DS115j/RPi4B4GB(LMS)/RPi3B+[LnrPS](S.lite)/RME ADI-2 DAC fs/Densen DM20&30/Spendor SP2/3E
            Head-Fi: Sennheiser HD600 & HD25Alum/Audeze Sine.
            Aditional HW: Allo DigiOne, iFi iDefender, iPurifier, iPower

            Comment


              #7
              Originally posted by DomieMic65 View Post
              Do you think that in a future update it will be possible to implement the computer to work as LMS end point through the app?
              You mean start/stop SqueezeLite? I have thought about this, but not 100% sure of its usefulness - as (at least on my KUbuntu) SqueezeLite is controlled by systemd
              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


                #8
                Originally posted by cpd73 View Post
                You mean start/stop SqueezeLite? I have thought about this, but not 100% sure of its usefulness - as (at least on my KUbuntu) SqueezeLite is controlled by systemd
                I guess... I am very basic Linux user so I do not know technical details!
                In that case Squeezelite must be installed separately I suppose?
                Main system: Synology DS115j/RPi4B4GB(LMS)/RPi3B+[LnrPS](S.lite)/RME ADI-2 DAC fs/Densen DM20&30/Spendor SP2/3E
                Head-Fi: Sennheiser HD600 & HD25Alum/Audeze Sine.
                Aditional HW: Allo DigiOne, iFi iDefender, iPurifier, iPower

                Comment


                  #9
                  Would this work on a Joggler? Anybody tried it out?
                  ------------------------------------------------------------------------------------

                  Comment


                    #10
                    not tried it but if the joggler is running linux would think so
                    PiCorePlayer 8.2 on Allo Digi One Signature (Lounge)
                    PiCorePlayer 8.2 with Hifiberry Digi+ Material running on PI for control (Office)
                    PiCorePlayer 8.2 with pi official touchscreen and Hifiberry DAC+(Kitchen)
                    Radio (Bedroom)
                    PiCorePlayer 8.2 with Allo BOSS DAC (Bedroom)
                    PiCorePlayer 8.2 with Hifiberry AMP+. Squeezelite=x for control (Garage)
                    PiCorePlayer 8.2 with Hifiberry AMP+(Patio 2)
                    PiCorePlayer 8.2 with Hifiberry AMP+(Patio 2)

                    LMS 8.3 on unRaid 6.11.5 Server (Seneca HDS)

                    Comment


                      #11
                      Originally posted by castalla View Post
                      Would this work on a Joggler? Anybody tried it out?
                      Your Joggler must run on Linux and support Qt5/6.

                      Comment


                        #12
                        0.1.0 Release

                        Changes:
                        1. Increment zoom in 5% steps, min 25% max 500%
                        2. Update settings instance when change zoom via keyboard.
                        3. When change zoom via keyboard show message (via skin).
                        4. "Ctrl+Shift+," (control-shift-comma) opens settings page - consistent with other KDE apps.
                        5. Esc closes settings page - consistent with MaterialSkin.
                        6. Allow sending commands to an instance by starting a second with play, pause, playPause, prev, or next - e.g. "melodeon play"
                        7. Add option to inhibit suspend whilst playing.


                        Source code and DEB package can be downloaded from:
                        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


                          #13
                          Interesting! I tried Melodeon this evening on my home server running Pop!_OS 22.04, Gnome desktop. It works, as long as I have LMS password protection disabled. With password protection enabled in the LMS server / security settings, Melodeon loses connection. The application settings display does not give me the option to set username/password, and I get the error msg: "This site can't be reached." Is this something that can be fixed, or a limitation in QWebView?
                          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

                          Comment


                            #14
                            Originally posted by Ron F. View Post
                            Interesting! I tried Melodeon this evening on my home server running Pop!_OS 22.04, Gnome desktop. It works, as long as I have LMS password protection disabled. With password protection enabled in the LMS server / security settings, Melodeon loses connection. The application settings display does not give me the option to set username/password, and I get the error msg: "This site can't be reached." Is this something that can be fixed, or a limitation in QWebView?
                            Ah, no I just have not got round to implementing that! Never seen the point to the password protection, as its sent over an insecure connection. I've raised an issue on the github page for 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


                              #15
                              Good point. However, I am using the full-mesh VPN Tailscale which is using WireGuard encryption; this is my solution when traveling. The advantage of using the LMS password feature is that it allows me to access my LMS server settings, otherwise I would be locked out while using my VPN. Truth is of course, I rarely need to access my LMS server settings.
                              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

                              Comment

                              Working...
                              X