Navigation


Suche



Nichts gefunden?
Suche mit erweiterten Optionen.

Anzeigen



Werbung

Kfz Ersatzteile
CMS Software Preise
Datenrettung
SEO Beratung
Baufinanzierung

Ich hör grad...

Mittwoch, 07. Juli 2004, 19 Kommentare

geschrieben von
CMS Allgemein : 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: http://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
Mister Wong iconTechnorati iconDigg icondel.icio.us iconma.gnolia iconFurl iconNewsvine iconReddit iconYahoo MyWeb iconBlinkbits iconGoogle iconSimpy iconBlogmarks icon

Kommentare

Nur angemeldete Benutzer dürfen Kommentare verfassen.

Zur Registrierung/Anmeldung

<neid>Ist das Dein CD-Regal?<neid></neid></neid>
jn am 07.07.2004 um 09:17 Uhr

Nett, pack das doch mal alles zusammen zu loaden icon_smile

Kiowa am 07.07.2004 um 09:28 Uhr

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.

na-oma am 07.07.2004 um 17:28 Uhr

@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

kaffeeringe.de am 08.07.2004 um 08:35 Uhr

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.ä.

na-oma am 08.07.2004 um 16:38 Uhr
 

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

marcok am 08.07.2004 um 23:32 Uhr

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

löppt jetzt

kaffeeringe.de am 09.07.2004 um 09:58 Uhr

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.

Tutti am 10.07.2004 um 21:52 Uhr

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

kaffeeringe.de am 11.07.2004 um 11:13 Uhr

Danke icon_wink

Hab deine Idee mit dem Datum auch mal übernommen.

Update liegt hier.

Die Texte sind jetzt alle editierbar.

Tutti am 11.07.2004 um 11:23 Uhr

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

kaffeeringe.de am 11.07.2004 um 11:44 Uhr

Jep Udo war die testperson icon_lol

habs mit

Code

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

verbessert icon_biggrin

Tutti am 11.07.2004 um 12:06 Uhr

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

na-oma am 11.07.2004 um 22:39 Uhr

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

http://www.hiph...ile=weckasig

Guite am 12.07.2004 um 05:42 Uhr

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

kaffeeringe.de am 12.07.2004 um 09:24 Uhr

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

Guite am 12.07.2004 um 09:34 Uhr

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

kaffeeringe.de am 12.07.2004 um 10:01 Uhr

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...

Guite am 12.07.2004 um 11:01 Uhr

@na-oma

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

Tutti am 15.07.2004 um 20:37 Uhr