MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

MMM-Spotify


  • Project Sponsor

    Regrettably, DNS requests are still too many. I see 1000 in 10 minutes (purple is a fresh install of MagicMirror with just the clock and the Spotify module):

    40ae5d0e-c676-43c6-b947-ef74e2640cad-image.png


  • Module Developer

    I think the best solution is Don’t use it
    (like my other modules)


  • Module Developer

    Sorry for bothering you guys with my kinky ex-module.

    The problem is; There is no server-pushed way to get current playback in RPI with spotify api.
    So to get current playing data, frequent api callings are needed.

    Possible solution under current condition is; removing some features - like progress bar, displaying playtime… So then too many requests are not needed.

    In other platforms like desktop PC, Google Chrome has widevine/DRM so we can use “web playback api”, it can make direct playing spotify on browser level, and get playback data directly. But not possible in rpi natively.

    Some hacks for widevine exist for RPI chromium, but our MM’s electron still miss that feature.

    But! I’ve heard newest Electron(9.0) has a new Chromium(80? 83?) and it might have widevine supported (I haven’t tested yet, or never…)
    I’m not sure it would be supported in rpi or not but if who has interest, worthy to try. If supported, you can build a new module which can play spotify directly without raspotify instead this poor module.


  • Project Sponsor

    @Sean Thank you for chiming in and for providing a more elaborate response. I thought that the constant polling might be the reason. If I may comment, for other users it may be helpful to put it in the documentation that using the module leads to increased network traffic.

    I for one would be happy with a display of the static per-title information and the controls, I will observe what happens when I crank the refresh rate up to 30000 milliseconds.


  • Project Sponsor

    @Sean I hacked together a simple bash script (dnssaver.sh) that fetches IPs and stores them in the hosts file. If I call it with ‘api.spotify.com’ as argument and put it in my crontab it should take a load of the dns server. I’ll keep an eye on it.



  • @Bugsounet either I am doing something wrong or there’s a bug.

    I added onStart: null, in the module config, but the big Spotify logo keeps displaying all the time.


  • Module Developer

    if Soptify logo not hidden after start, it’s means :
    token missing or token error

    you should have in console something like that :

    [SPOTIFY:ERROR] USERNAME: [your username]
    [SPOTIFY:ERROR] Token Error ! ./[token name].json
    

    if you have set a token … verify the exact name
    and report it to your account username specified in spotify.config.json -> “TOKEN” field


  • Module Developer

    when ok It display :

    • default style
      253eaa12-c844-4296-8b73-1d107fdb504a-image.png

    • mini style
      108abf52-5ca1-41c3-983c-7c3bc2abe3e7-image.png

    • when bottom_bar position is set
      56ab36ca-b72b-463d-8a90-37fae6d6bbc4-image.png


  • Module Developer

    @mmmmh :

    ec2c8523-54a4-4a39-a78a-db4e95a007de-image.png

    now idleInterval is set to 30000 (scan is Spotify is playing every 30 sec)
    if playing : updateInterval is set by default to 1000 (1sec)

    Attention it’s means that with idleInterval : when Spotify is playing to take 30 sec to display it in mirror !by default !


  • Project Sponsor

    @Bugsounet Thanks. Do I understand this correctly. As long as the module is idle it will only check for updates every 30 seconds and when it is active (music is being played) it updates every second?


Log in to reply