Album-Covers mit MPD-Client via Webserver umsetzen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Album-Covers mit MPD-Client via Webserver umsetzen

      github.com/eisnerd/mupeace/wiki/Album-Art-on-your-LAN erklärt wie man Album-Covers am Webserver (also auf der HD im Duo2) anzeigen kann. Man müsste die "Aktionen" bei github.com/eisnerd/mupeace/wiki/Album-Art-on-your-LAN irgendwie integrieren. Theoretisch nicht so viel, wenn man sich auskennt. Was läuft da für ein Webserver? Telnet ist nicht sehr gesprächig.
    • Weißt du das oder vermutest du das, so aufwendig scheint das ja nicht zu sein:

      Quellcode

      1. For a new nginx install, copy the below into a new file at /etc/nginx/sites-available/mpd-cover-art.conf:
      2. server {
      3. listen 80;
      4. server_name 192.168.1.102;
      5. location /cover-art/ {
      6. root /home/mafrosis/MP3/;
      7. rewrite /cover-art/(.*) /$1 break;
      8. try_files $uri $uri;
      9. allow 192.168.1.0/24;
      10. deny all;
      11. }
      12. }
      Alles anzeigen


      bzw.

      Quellcode

      1. For a new lighttpd install, copy the below into a new file at /etc/lighttpd/lighttpd.conf:
      2. server.port = 80
      3. server.username = "http"
      4. server.groupname = "http"
      5. server.document-root = "/home/mafrosis/MP3/"
      6. server.errorlog = "/var/log/lighttpd/error.log"
      7. mimetype.assign = ( ".jpg" => "image/jpeg" )
    • Script in /usr/bin/lcdcover.sh anlegen
      mit chmod +x lcdcover.sh ausführbar machen
      mpc muss verfügbar sein

      In lcd4linux Bild-Setup die Bilddatei /tmp/cover/cover.jpg
      einfügen.


      /usr/bin/enigma2.sh editieren auf der 2. Zeile.

      /usr/bin/lcdcover.sh & >/dev/null

      Dann Datei /usr/bin/lcdcover.sh mit dem Inhalt anlegen


      #!/bin/bash

      shopt -s extglob
      while true
      do
      if [[ -z $(mpc current) ]]
      then
      # echo "No song playing, skipping"
      sleep 100
      \cp -fs /usr/share/enigma2/cover.jpg /tmp/cover/cover.jpg
      else
      #rm /tmp/cover/!(cover.jpg)
      /usr/bin/get-cover --output=/tmp/cover "$(mpc current -f %artist%)" "$(mpc current -f %album%)"
      mv -f /tmp/cover/*.jpg /tmp/cover/cover.jpg
      sleep 30
      rm /tmp/cover/*
      # rm /tmp/cover/!(cover.jpg)

      fi

      done


      ---



      2. Script /usr/bin/get-cover


      #!/usr/bin/env python2.7
      # Author: DirectorX

      import sys, os, re, urllib2, json
      import urlparse, urllib, argparse

      api_key = 'f3a26c7c8b4c4306bc382557d5c04ad5'

      def main(arguments):
      try:
      request_url = 'http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key='+api_key+'&format=json&{query}'
      url = request_url.replace('{query}', urllib.urlencode({'artist':arguments.artist,'album':arguments.album}))
      artwork = json.loads(urllib2.urlopen(url).read())['album']['image'][3]['#text']
      if arguments.output:
      with open(arguments.output+'/'+arguments.artist+'-'+arguments.album+'.jpg', 'wb') as aw: aw.write(urllib2.urlopen(artwork).read())
      elif artwork:
      print artwork
      else:
      print 'No artwork fetched.'
      sys.exit(1)
      except:
      print 'Fetch error.'
      sys.exit(1)

      if __name__ == '__main__':
      parser = argparse.ArgumentParser()
      parser.add_argument('artist', help='Artist name', type=str)
      parser.add_argument('album', help='Album name', type=str)
      parser.add_argument('-o', '--output', help='Artwork save path', type=str)
      main(parser.parse_args())
      sys.exit(0)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fnords () aus folgendem Grund: ad hominem error