Now Playing für mAirList 4??

Hallo, ich bin mAirList Umsteiger und habe hier im Forum versucht eine Funktion zu finden um den aktuell gespielten Titel anzuzeigen, sowie die letzten 10 mit Uhrzeit. Da ich leider mit der Scriptsprache von mAirList überhaupt noch nicht vertraut bin habe ich dann Scripte hier geladen, die aber augenscheinlich für ältere Versionen von mAirList gedacht sind.

Also: Wer kann helfen? Ich brauche einen Script, mit dem ich den aktuellen Titel als html an meine Webseite übertragen kann. Der nowplaying script hier aus dem Forum funzt nicht. Bekomme einen Type Mismatch Fehler. :frowning:

Wie kann ich die letzten 10 Titel auflisten lassen, möglichst auch als html… Geht das mit mAL überhaupt???

Wäre für Hilfe echt dankbar. Mir fehlt hier auch noch eine Scriptreferenz, da könnt ich dann selbst etwas basteln… Gibt es sowas?

Gruss an alle

Andre

Das mit dem “HTML per FTP übertragen” ist eigentlich eine Steinzeit-Methode. Ich empfehle stattdessen das hier:

Voraussetzung: Auf dem Webserver steht PHP und ein SQL-Server (z.B. MySQL) zur Verfügung.

Du legst nun auf dem Server, unter einer geheimen Adresse, ein PHP-Script ab, das von mAirList die Informationen über den gerade gestarteten Titel per HTTP-GET-Logging an das PHP-Script überträgt - ähnlich wie bei TuneIn :wink:

Das PHP-Script trägt den Titel jetzt mit Datum und Uhrzeit in die MySQL-Tabelle ein. Die Webseite selbst kann dann die letzten x Titel aus der Tabelle holen und anzeigen. Gleichzeitig erhält man ein schönes Playlist-Archiv, für das man dann eine Suchfunktion etc. programmieren und anbieten kann.

Kriegst du das selber hin? Oder fühlt sich hier ein PHP-Programmierer berufen, eine kleine Anleitung zu schreiben? Das ist echt 08/15-Kram für einen erfahrenen Web-Entwickler :wink:

Hehehe. Das wäre natürlich die optimale Lösung. Auf dem Server steht PHP5 und MySQL zur Verfügung nur… Ich habe gerade erst mit PHP angefangen… ::slight_smile: Somit wäre es super wenn mir jemand zur Hand gehen könnte… Und wirklich: GERADE ERST ANGEFANGEN! Also ne echo ausgabe und so das bekomme ich schon hin LOL…

Bisher in html bzw. shtml mit Javascript gelöst… Lese derzeit auf der HP aus einer .js Datei die ich erzeuge beim Abspielen mit der alten Software die entsprechenden Werte aus und habe damit ein realtime Update. Die von Dir vorgeschlagene Lösung wäre Ideal, aber für mich im moment noch nicht machbar… :frowning:

Hmmm. Gibt esd denn vielleicht eine Scriptreferenz oder sowas? Dann versuche ich mir selbst was zu schreiben. Wie lese ich zum Beispiel die Titel aus dem aktuellen Player aus? Würde mAirList ja zu gerne einsetzen… Aber dafür ist eben noch etwas Anpassung nötig…
Setze mAirList 4.3.8 ein derzeit…

Auf mAirList-Seite wird kein Script oder dergleichen benötigt! Nur ein HTTP-GET-Logging einrichten, und da weißt du ja schon wie das geht :wink:

Insofern wird das Ganze jetzt eher zu einer PHP- bzw. MySQL-Frage. Ich kann dir hier jetzt nicht die Grundlagen von PHP und MySQL beibringen, dazu gibt es genug Anleitungen im Netz. Ich versuche aber immerhin mal die mAirList-Playlist-Log-Lösung zu skizzieren, so dass zumindest ein PHP/MySQL-erfahrener Mensch (der dir ggf. hilft) weiß was zu tun ist:

Schritt 1: In MySQL eine Datenbank “mairlist”, einen passenden User sowie und eine Tabelle “playlistlog” sowie Index (Erklärung unten) anlegen:

CREATE DATABASE mairlist;

USE mairlist;

GRANT ALL ON mairlist.* TO mairlist IDENTIFIED BY 'geheim';
FLUSH PRIVILEGES;

CREATE TABLE playlistlog (
  starttime DATETIME NOT NULL,
  artist VARCHAR(255),
  title VARCHAR(255)
);

CREATE INDEX playlistlog_starttime_idx ON playlistlog(starttime);

Der Index sorgt dafür, dass später sehr schnell nach der Spalte starttime gesucht/sortiert werden kann, um direkt die letzten x Titel zu finden. Das wird von Belang, wenn die Tabelle mit der Zeit anwächst.

Schritt 2: Das “geheime” Script, das die Log-Einträge von mAirList entgegennimmt und in die SQL-Datenbank einträgt. Nennen wir es “playlistlog.php”:

<?php
  $db = mysqli_connect('localhost', 'mairlist', 'geheim', 'mairlist');

  $artist = mysqli_escape_string($db, $_GET['artist']);
  $title = mysqli_escape_string($db, $_GET['title']);

  mysqli_query($db, "INSERT INTO playlistlog (starttime, artist, title) VALUES (NOW(), '$artist', '$title')");

Schritt 3: Der PHP-Code, der die letzten 10 Einträge ausliest und anzeigt. Diesen kannst du nun irgendwo in deine Homepage einbauen.

<?php

  $db = mysqli_connect('localhost', 'mairlist', 'geheim', 'mairlist');

  $res = mysqli_query($db, 'SELECT starttime, artist, title FROM playlistlog ORDER BY starttime DESC LIMIT 10');

  print "<table>\n";
  while (list ($starttime, $artist, $title) = mysqli_fetch_row($res)) {
    print "<tr><td>$starttime</td><td>$artist</td><td>$title</td></tr>\n";
  }
  mysqli_free_result($res);
  print "</table>\n";

In mAirList selbst musst du nun nur noch ein HTTP-GET-Logging-Interface einrichten, das http://deinserver/playlistlog.php aufruft und dabei die beiden Parameter artist (%a) und title (%b) übergibt.

Danke Torben. dann bastel ich mal heute Abend… Bin ja die Woche noch zuhause… LOL

Also Torben, vielen Dank. Durch Deine Hilfe habe ich nun auf der Webseite den aktuellen und die letzten drei und baue jetzt eine Seite zur Abfrage der gespielten Titel der letzten Stunden. Klappt super. habe die Scripte umgebaut und bekomme alles Prima hin, in einem Punkt habe ich im Moment noch ein brett vor dem kopf:

Wenn ich einen Titel auslese, der z.B. ein Hochkomma hat zeigt der mir auf der Seite ’ an… Ich komme nicht drauf, wie krieg ich das nochmal weg?

:o :o :o

Gruss

Brett ist weg… einfach mit stripslashes und schon sind se wech… Thx nochmal finds genial