Forum

Forum feed

» zum Forum | » aktuelle Diskussionen

Zikula Nachrichten

RSS Feed

Ich hör grad...

Ich bin in einem Blogg gestern abend über eine Funktion gestolpert, die ich auch gerne auf meiner privaten Homepage haben wollte: Die Seite zeigte an, welches Lied der Blogg-Besitzer zuletzt in Winamp abgespielt hat.

Mir war sofort klar, dass das System aus einem Winamp-Plugin und einem Skript bestehen müsste, und dass man soetwas sicher auch einfach in Postnuke integrieren könnte. Also machte ich mich auf die Suche.


1. Station: www.winamp.com - dort habe ich das Plugin Info Sender gefunden. Dabei handelt es sich um eine .dll, die man sich ins Plugin-Verzeichnis von Winamp (v5.03) kopiert. Einrichten kann man das Plugin unter Options/Preferences/Plugins/General - es heisst dort "Luke's Info Sender (gen_sender.dll)". Man muss es einschalten und den Pfad zum Empfängerskript angeben. Da ich das jetzt noch nicht hatte, musste ich mir erstmal eines suchen.

2. Auf der Homepage des Plugin-Autors gibt es den Hinweis auf ein mögliches Skript. Das legt man sich in ein Unterverzeichnis auf dem Server (ich habe es winamp.php genannt) und legt noch eine zusätzliche, leere Datei an, die genau so heisst, wie es im SourceCode angegeben ist:

Code

$filename = 'winamp.txt';
Diese muss 777-Rechte haben, damit das Skript hier immer den aktuellen Titel eintragen kann.

3. Nun, da man weiss, wo das Skript liegt, kann man das Plugin entsprechend konfigurieren: http://www.meineDomain.de/Unterverzeichnis/winamp.php?song=

4. Wenn man es nun enabled, sollte Winamp beim Abspielen eines Liedes die MP3-Tags für Künstler und Titel als einfachen String an das Skript schicken. Dieses schreibt den Inhalt in die Datei.

5. Wenn man das Skript nun ohne Parameter aufruft (http://www.meineDomain.de/Unterverzeichnis/winamp.php) bekommt man den Inhalt der Datei angezeigt.

6. Wenn man das Ganz nun noch in einem Block in Postnuke haben möchte, legt man sich einfach einen PHP-Block an und schreibt dort hinein:

Code

include("http://www.meineDomain.de/Unterverzeichnis/winamp.php");

Ich habe mir das Skript noch ein wenig angepasst, so dass zum Beispiel noch das Datum und die Uhrzeit der letzten Dateiänderung angezeigt wird. Leider scheint aber clearstatcache() bei mir irgendwie nicht zu wirken. Deswegen bleibt die Datumsanzeige zur Zeit einfach auf heute Nacht stehen. Vielleicht kann mir da ja einer von Euch PHP-Füchsen nen Tipp geben.

Ach ja - zu sehen gibt's das Werk hier. Jetzt könnt Ihr immer sehen, welche CD sich gerade in meinem Laufwerk dreht. (Dank CDDB) icon_wink


 

Kommentare

jn
jn
  • Geschrieben am
  • 07. Jul 2004 - 09:17

<neid>Ist das Dein CD-Regal?<neid></neid></neid>

  • Geschrieben am
  • 07. Jul 2004 - 09:28

Nett, pack das doch mal alles zusammen zu loaden icon_smile

  • Geschrieben am
  • 07. Jul 2004 - 17:28

nette funktion, kannte ich noch nicht

clearstatcache hat nur eine wirkung, wenn du eine datei im selben script veränderst und nach der veränderung die aktuellen daten bekommen willst. da du aber winamp.php immer neu aufrufst sollte clearstatcache nix nützen.

fwrite sollte eigentlich die filetime() ändern, aber du kannst ja nach if!(fwrite...){...} noch

Code

touch($filename);
machen...wäre zwar doppelt, aber was solls. kannst auch mal checken was für datum und zeit dein ftp proggi für winamp.txt anzeigt.

  • Geschrieben am
  • 08. Jul 2004 - 08:35

@jn. Ja icon_biggrin Ich sammel aber auch schon seit 15 Jahren icon_wink

@ na-oma: Da lustige ist: stat() gibt mit tatsächlich immer eine andere mtime. Sobald ich das aber durch date() schick, verändert sich das nur noch beim ersten Aufruf. Das hat auch nix mit dem Block zu tun. Auch wenn ich das Skript alleine aufruf, passiert das. Ich kann auch mtime und das durch date geschickte mtime gleichzeitig ausgeben lassen - während sich mtime verändert bleibt date gleich... Jetzt übergeb ich das schon gar nicht nicht mehr an eine Variable, sonder lass das direkt ausgeben - trotzdem... Ich hab keine Ahnung, was da läuft... icon_frown

  • Geschrieben am
  • 08. Jul 2004 - 16:38

gib ma link zu dem code oder poste relevante abschnite, wobei link sicher besser ist, falls der fehler woanders liegt, dann schau ich mir das mal an, kann ja wohl nich wahr sein icon_eek

und cds sind das wirklich viele...ich hab grad mal 3 oder so, aber ich hör auch meist radio o.ä.

  • Geschrieben am
  • 08. Jul 2004 - 23:32

Hallo,

das hättest du auch einfacher haben können. Dazu gibt es das DoSomething-Plugin eine genauer Beschreibung dazu befindet sich bei Suzan.

Übrigens: Nette Grafik auf Deiner Seite - habe ich schonmal irgendwo gesehen icon_smile

  • Geschrieben am
  • 09. Jul 2004 - 09:58

Gott bin ich blöd ... Ich hatte das Datumformat in date() falsch angegeben!! icon_rolleyes

löppt jetzt

  • Geschrieben am
  • 10. Jul 2004 - 21:52

Hi AmO, ich fand die Idee mit dem Plugin ganz witzig. Da ich gerade 'n paar versuche mit gdlib starte, dachte ich mir ich mal mal ein PNG-Output draus. http://www.pc-mind.de/cddb/winamp.php icon_biggrin Hier wären die Infos dazu.

  • Geschrieben am
  • 11. Jul 2004 - 11:13

@Tutti: Sehr geil. Das schau ich mir mal an.

  • Geschrieben am
  • 11. Jul 2004 - 11:23

Danke icon_wink Hab deine Idee mit dem Datum auch mal übernommen. Update liegt hier. Die Texte sind jetzt alle editierbar.

  • Geschrieben am
  • 11. Jul 2004 - 11:44

Du hast noch Probleme mit den Umlauten: Udo Jürgens - Tom und Jerry icon_biggrin

  • Geschrieben am
  • 11. Jul 2004 - 12:06

Jep Udo war die testperson icon_lol

habs mit

Code

// replace german special character
$songname = ereg_replace(&quot;&Auml;&quot;,&quot;Ä&quot;,$songname);
$songname = ereg_replace(&quot;&auml;&quot;,&quot;ä&quot;,$songname);
$songname = ereg_replace(&quot;&Ouml;&quot;,&quot;Ö&quot;,$songname);
$songname = ereg_replace(&quot;&ouml;&quot;,&quot;ö&quot;,$songname);
$songname = ereg_replace(&quot;&Uuml;&quot;,&quot;Ü&quot;,$songname);
$songname = ereg_replace(&quot;&uuml;&quot;,&quot;ü&quot;,$songname);
$songname = ereg_replace(&quot;&szlig;&quot;,&quot;ß&quot;,$songname);
verbessert icon_biggrin

  • Geschrieben am
  • 11. Jul 2004 - 22:39

Code

// replace german special character $songname = str_replace(array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß'), array('&Auml;', '&auml;', '&Ouml;', '&ouml;', '&Uuml;', '&uuml;', '&szlig;') ,$songname);
ist deutlich kürzer, schneller und effizienter, da es kein ereg, sondern str_replace nutzt. müsste so in etwa gehen, ungetestet.

das mit dem image ist ne coole idee! ich seh schon alle mit solchen foren-signaturen rumrennen icon_rolleyes

  • Geschrieben am
  • 12. Jul 2004 - 05:42

Die Idee an sich gibt es allerdings schon etwas länger:

http://www.hiphoplager.de/portal/index.php?name=LagerForum&amp;file=weckasig

  • Geschrieben am
  • 12. Jul 2004 - 09:24

Ja, aber im Gegensatz zu Dir, können wir Ideen nicht für uns behalten icon_wink

  • Geschrieben am
  • 12. Jul 2004 - 09:34

Ich bin davon ausgegangen, daß die Erstellung dynamischer Bilder mit PHP hinlänglich bekannt sei icon_biggrin

  • Geschrieben am
  • 12. Jul 2004 - 10:01

Naja, der Grund für meinen Artikel war ja auch mehr das Winamp-Plugin, das die Sache erst möglich macht.

  • Geschrieben am
  • 12. Jul 2004 - 11:01

Ich frage mich, ob ich dieses Plugin nicht dazu nutzen könnte um den Usern direkt den Text zu dem Lied, welches sie gerade hören, aus der Datenbank herauszusuchen. Leider muß dann jeder User dieses Plugin installieren...

  • Geschrieben am
  • 15. Jul 2004 - 20:37

@na-oma danke für den Tip icon_wink , Arrays muss ich mir unbedingt mal einprägen.

Nur angemeldete Benutzer dürfen kommentieren. Registrierung oder Anmeldung.