MP3Charts Manager v1.0 TCL

Entwickler

Entwickelt wurde des ganze von mir, poci/PPX ;-)
Ich möchte mich jedoch bei ein paar Leuten aus PPX bedanken, die mir bei meinen Überlegungen mit Rat und Tat zur Seite standen.

Was ist das?

Zur Zeit ist der MP3Charts Manager ein TCL-Script um die, wöchentlich erscheinenden, TOP100 Single, TOP40 ODC und TOP20 BC Charts, die von der Gruppe "MiNiSTRY" released werden, zu verwalten. Verwalten heißt in diesem Sinne jedoch einfach, die Dateien zu analysieren, Doppelte aufzufinden und diese dementsprechend zu löschen und mit der Original Datei zu verknüpfen.

Wer braucht sowas?

Nun ja, generell gilt, dass es jeder braucht, der gerne Charts hört und diese auch über längere Zeit behalten möchte. Jetzt fragen sich sicherlich viele, wofür man dann einen Manager braucht - bislang hat das "sammeln" dieser Charts auch so gut funktioniert. Wenn man sich die Charts allerdings mal ein paar Sekunden lang genauer anschaut, fällt auf, dass von Woche zu Woche nur sehr wenige Tracks neu einsteigen. Das ist der Punkte wo der MP3Charts Manager einspringt ;-) Mit ihm lassen sich schnell und einfach ein paar Gigabyte an Platz sparen, ohne dabei an Komfort zu verlieren.

Um dies zu hinterlegen werde ich nun mal eine simple Milchmädchen-Rechnung aufstelle:

Man stelle sich vor, man habe alle TOP100 Single Charts eines Jahres gesammelt. Das wären in etwa 52 * 100, also 5200 MP3 Dateien. In Zeiten von guter Qualität und VBR verbraucht eine MP3 Datei, grob gesagt, 5MB auf eurer Festplatte. Bei 5200 MP3 Dateien sind es dann also 26GB für ein Jahr mäßig guter Mainstream-Musik. Würde man jedoch nur einmal die TOP100 speichern und dann nurnoch die Veränderung bzw. Neueinsteiger, dann wären wir in etwa bei 100 + 51*10, also 610 MP3 Dateien. Diese würden nur etwa 3GB verbrauchen. Das sind gerade mal 12% von 26GB und passt auch locker später auf eine DVD! Und genau das macht der MP3Charts Manager.

Was kann er noch?

Neben dem löschen von redundanten Liedern, führt er ein neues Dateiformat bei MP3Charts ein. Die "chartsinfo.xml", eine auf dem XML-Format basierende Datei, die alle nötigen Informationen für den MP3Charts Manager beinhaltet um neue Charts lokal soweit vorzubereiten wie es geht. Bei den TOP100 Charts sind das i.d.R. rund 90 MP3 Dateien, die er aus seiner bestehenden Datenbank schon ins Verzeichnis der neuen Charts kopieren kann. Nun braucht man mit FlashFXP (Strg+D) oder einem anderen FTP-Client nur die fehlenden Dateien herunterzuladen.

Was braucht er?

Einschränkung und Zukunft

Zum jetztigen Zeitpunkt fallen mir spontan zwei Einschränkungen ein. So ist diese TCL Version vor allem für Sites interessant, da viele Benutzer sicherlich nicht die nötigen Programme und Pakete haben oder unter auf ihrem System installieren können. Deshalb ist noch eine Art Windows-Client geplant, der ohne großartige Abhängikeiten auskommt. Diese TCL Version ist deshalb vorallem für Sites, die nun eventuell auch Charts archivieren können/wollen. Die zweite Einschränkung, liegt eher an MiNiSTRY. Man kann es ihnen allerdings nicht übel nehmen, dass sie vollständige ID3Tag Informationen in ihren MP3 Dateien speichern. So ist das Feld "Year" immer aktuell für dieses Jahr eingespeichert und verändert dementsprechend die CRC32-Checksumme, auch wenn die Datei ansonsten komplett dem "Duplikat" ähnelt. Eine Lösung wäre, das "Year"-Feld bei allen Dateien zu löschen. Vielleicht wird dieses optional in eine spätere Version eingebaut um noch mehr Platz zu sparen.

Technische Details und Ablauf

Der MP3Charts Manager geht alle Verzeichnisse im Chart-Archiv durch und prüft ob diese dem regulären Ausdruck "\w+TOP(\d+)_\w+_(\d\d)_(\d\d)_(\d{4})\w*-MiNiSTRY$" entsprechen. Ist dies der Fall, so wird in einer relationalen SQLite3-Datenbank nachgeschaut, ob diese Charts schon archiviert wurden. Ist dies nicht der Fall so werden alle Dateien mit Größe, CRC32-Checksumme und Rank gespeichert. Neue Dateien werden zusätzlich noch einmal mit Größe, CRC32-Checksumme, Dateinamen und ChartID gespeichert. Gleichzeitig wird eine XML-Datei mit dem Dateinamen "chartsinfo.xml" erstellt, die alle, für den MP3Charts Manager wichtigen, Informationen nocheinmal gespeichert werden. Diese Datei wird in dem jeweiligen Charts-Verzeichnis gespeichert und sollte auch für jeden zugänglich sein. Die Datenbank liegt an einem zentralen Ort und sollte nicht für andere zugänglich sein. Mit dem Unterkommando "cleanup" räumt der MP3Charts Manager dann alle Charts auf und hard-link't die gelöschten Duplikate. Das Unterkommando "rebuild" macht dieses Rückgängig. Dies dauert je nach Größe des Archives und Geschwindigkeit des Systems einige Minuten bis Stunde(n).