PDA

Bekijk Volledige Versie : Trotst op nieuw scriptje, even showen dus ;)



XBL
08/05/05, 17:16
Ok, het boeit waarschijnlijk niemand, maar ik had zo snel niet iemand voor me om even blij te doen over een heel leuk nieuw php scriptje (die allerlei technieken combineerd), dus plaats ik het hier.

Even voor de duidelijkheid: het is nu een heel ruw script, met hoogst waarschijnlijk wat security issues (hoewel de user input minimaal is) en veel errors die niet gecheckt worden, ik ga nog een verbeterde versie schrijven. Ook zit de MySQL support er nog niet in, het is uiteindelijk de bedoeling dat alle verzamelde informatie in de database komt en er weinig dingen gedaan hoeven worden dan de info uit de database te halen.

Wat doet het dan, vraag je je waarschijnlijk af. Het script ontvangt via een plugin voor Winamp (url (http://www.cc.jyu.fi/~ltnevala/nowplaying/)) post variabelen. Artiest, Titel, Album, of Winamp wel of niet speelt (als je 'stop' klikt stuurt hij nogmaals de info, dit maal met Playing op '0' ipv '1').

Dit is opzich natuurlijk niet zo intressant, maar het intressante is wel dat ik er vervolgens de volgende banner mee genereer (en m'n sig is op fora waar je een dergelijk plaatje in je sig mag hebben):
http://vanleeuwen.at/np.png (de img tag wordt bij mij weer eens een url... Mogen plaatjes niet?).

Zoals je ziet staat hier ook op het plaatje 'album art' van het album waar de huidige track van is. Dit plaatje heb ik niet geupload ofzo. Sterker nog, enkel het recenste plaatje wordt opgeslagen en dat ook enkel omdat dat plaatje geresized moet worden (als je het plaatje niet resized, hoeft dat zelfs niet). Het plaatje wordt namelijk van Amazon gegapt.

Via hun webservices (http://amazon.com/webservices) vraag ik informatie op, wat ik vervolgens in een XML document terug krijg. Met SimpleXML (PHP5 only) gap ik vervolgens het nummer van het eerste item eruit resize dit en plaats dit vervolgens op het uiteindelijke plaatje (het is dus niet foolproof, het kan voorkomen dat er een totaal verkeerd plaatje komt omdat het eerste item niet het album is van het huidige liedje).

Daarnaast schrijf ik ook of de muziek aan is en welke artiest+liedje op dit moment spelen naar het plaatje. Dit plaatje sla ik uiteindelijk op, met bovenstaand plaatje als resultaat.

Gebruikte technieken:
- PHP (duh)
- SimpleXML (PHP5 specifiek)
- GD Library (Freetype nodig)
- Amazon AWS API
- Straks: MySQL (met album art als blob)

Tips, ideeën, bedanktjes (;)), etc, altijd welkom :).

Jochem

wdv
08/05/05, 17:26
Proficiat :)

WH-Tim
08/05/05, 18:27
Grappig, dit soort systemen bouw ik dus ook constant, het grootste probleem is eigenlijk je dit niet aan klanten kunt laten zien of uitleggen omdat het simpelweg te moeilijk is en ze liever een website oid zien ;)

Maar is inderdaad leuk bedacht :)

PeterT
08/05/05, 19:02
Ziet er leuk uit :)

Triloxigen
08/05/05, 19:42
Zoiets heb ik ook ooit tijden geleden gebouwd.

http://mymusic.triloxigen.nl
http://mymusic.triloxigen.nl/playing.php
http://mymusic.triloxigen.nl/stats.php

XBL
08/05/05, 20:02
Origineel geplaatst door Triloxigen
Zoiets heb ik ook ooit tijden geleden gebouwd.

http://mymusic.triloxigen.nl
http://mymusic.triloxigen.nl/playing.php
http://mymusic.triloxigen.nl/stats.php Iets dergelijks wil ik er ook achter bouwen (vooral die stats), ik was dan ook het trotst op het album art. Vooral omdat ik nooit SimpleXML had toegepast (altijd langdradige code met DOM XML). Ik dacht dat ik bij m'n eerste post het scriptje online had gezet, maar blijkbaar niet. Bij deze dan :).

Oja, Triloxigen, je kan eventueel het stukje eruit slopen en dan heb je wel album art ;) (als je dat wilt natuurlijk), de link die je dan moet hebben (grote versie) is
http://images.amazon.com/images/P/".$amazon['ASIN'].".01._PE21_SCMZZZZZZZ_.jpg

Jochem

Triloxigen
08/05/05, 20:11
Ik heb zelf een eigen album art erin zitten, maar moet dan handmatig uploaden via een form.
En daar ben ik net toch weer te lui voor, net zo lui om die asin van iedere track op te zoeken ;)

Ik krijg trouwens ook nog wat nutteloze info via mijn minibrowser:
http://upload.webzilla.nl/image.php/9719703a9d7bd0e8a5e7bed6c0cf38e5

Dat "make topic" wat je daar ziet spamt automatisch een topic op een forum als ik daar op klik :D:D

XBL
08/05/05, 20:18
Origineel geplaatst door Triloxigen
Ik heb zelf een eigen album art erin zitten, maar moet dan handmatig uploaden via een form.
En daar ben ik net toch weer te lui voor, net zo lui om die asin van iedere track op te zoeken ;)Enige wat jij hoeft te doen is even snel wat te jatten uit mijn scriptje. De rest gaat automagisch via dat script (die ASIN zoeken, het plaatje erbij pakken).

Ik krijg trouwens ook nog wat nutteloze info via mijn minibrowser:
http://upload.webzilla.nl/image.php/9719703a9d7bd0e8a5e7bed6c0cf38e5

Dat "make topic" wat je daar ziet spamt automatisch een topic op een forum als ik daar op klik :D:D Alsof je voor elk nummer een beoordeling gaat geven ;). Maar wat voor wazige muziek luistere jij? Burzum - Dunkelheit :D?

Jochem

Remigius
08/05/05, 20:19
Netjes hoor... proficiat! Ik ken het gevoel als je iets leuks gemaakt heb en niemand interesseert het iets ;)

//edit: Meestal is het rond 04.00 uur als het klaar is en dan is er niemand online ;)

Triloxigen
08/05/05, 20:30
Origineel geplaatst door XBL
Enige wat jij hoeft te doen is even snel wat te jatten uit mijn scriptje. De rest gaat automagisch via dat script (die ASIN zoeken, het plaatje erbij pakken).
Alsof je voor elk nummer een beoordeling gaat geven ;). Maar wat voor wazige muziek luistere jij? Burzum - Dunkelheit :D?

Jochem

Achzo.. :p
Nou ja, moet het script toch eens opnieuw bouwen want helemaal perfect is het niet ;)
(Ten eerste omdat ik id3tags haat en ik dus niet heb :p)

En mijn muzieksmaak, ja ach.. Als je door de lijst bladert dan kun je geen muzieksmaak opmaken omdat het vanalles en nog wat is.
(En ik luister niet alles, bijv Avril of Britney.. :p)

Triloxigen
08/05/05, 20:32
Origineel geplaatst door Remigius
//edit: Meestal is het rond 04.00 uur als het klaar is en dan is er niemand online ;)

So true :X