musik per zufallsauswahl auf den mp3 player / speicherstick

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...Loading...

[edit]
wir empfehlen ein neues java tool. den bericht dazu gibt es <hier>

kennt ihr das auch?
ihr habt einen mp3 player oder ein autoradio das man mit speicherkarten oder usb sticks füttern kann. aber man ist zu faul sich abends die mühe zu mache, neue musik auf den stick zu kopieren. jetzt ärgert man sich jedesmal wenn man unterwegs ist das immer der gleiche kram läuft. bestenfalls wird ein neues album auf den player geschubst und auch das verliert schnell seinen reiz.

aus der rubrik “endlich nimmt mir eine maschine die entscheidungsgewalt ab” hat mir ein kollege aus dem gEb ein script “zusammen gehackt” das mir diese lästige aufgabe nun endlich abnimmt.
voraussetzung dafür ist lediglich ein ordner auf dem computer in dem meine musik liegt. es werden sogar alle unterverzeichnisse in dem ordner durchsucht. beispielsweise wenn man in seinem “mp3″ verzeichniss auch ganze alben abgelegt hat.

was macht das script?
es durchsucht ein quellverzeichniss und kopiert immer eine mp3 datei auf ein ziel (usb stick).
dieser vorgang wird so lange wiederholt bis das ziel voll ist.

was braucht man dafür?
man braucht einzig und allein die kostenlose open source software AutoHotkey.
diese einfache “scriptsprache” arbeitet unser kleins programm dann ab:

quellcode:

dir = c:mp3
dest = f:mp3
type = *.mp3
hardlimit = 1000

total = 0
CoordMode, ToolTip, Screen
Loop, %dir%%type% ,,1
{
total += 1
}

Loop
{

Random, select, 1, %total%

Loop, %dir%%type% ,,1
{
IfEqual, A_Index, %select%, Setenv, file, %A_LoopFileFullPath%
}

DriveSpaceFree, FreeSpace, %dest%
FileGetSize, size, %file%, M
FreeSpace–
; msgBox, %FreeSpace% and %size%

if size < %FreeSpace%
{
ToolTip, kopiere %file%, 20,1
FileCopy, %file%, %dest%, 0
}
else
{
ToolTip
msgbox, Ziellaufwerk ist voll
ExitApp
}

if a_index > %hardlimit%
{
msgbox, Hardlimit erreicht – evt. zu wenig mp3s um Ziellaufwerk zu füllen
ExitApp
}
}

nachdem ihr autohotkey installiert habt, kopiert ihr den quellcode in eine neue textdatei und benennt sie um: mp3copy.ahk

die ersten vier zeilen beschreiben die variablen:
dir = c:\mp3
das ist unser quellverzeichniss. bitte darauf achten das es immer ohne einen slash endet “\”
dest = f:\mp3
hierhin werden die musikstücke kopiert (f: ist also mein usb stick)
type = *.mp3
bedeutet das nur mp3 musikdateien kopiert werden
hardlimit = 1000
legt fest das nach 1000 kopiervorgängen spätestens schlu߸ ist (damit keine endlosschleife entsteht)
diese werte ändert man natürlich auf seien bedürfnisse ab

bei der installation von autohotkey kann man angeben das beim doppelclick auf diese dateitypen das script ausgeführt werden soll. also brauchen wir unser script jetzt nur noch doppelclicken und der kopiervorgang startet.
die performance ist bei dieser lösung bei sehr gro߸en sammlungen recht langsam. so braucht das script bei einer 40gig sammlung knapp 1 stunde um einen 512mb gro߸en usb stick voll zu bekommen. da es im hintergrund und ohne nennenswerte cpu last läuft lasse ich es aber getrost allein laufen. ist der speicherstick voll erscheint eine meldung auf dem bildschirm.

2 Responses to “musik per zufallsauswahl auf den mp3 player / speicherstick”

  1. don Says:

    man sollte aber in zeile 1 aus
    dir = c:mp3
    bei einer sammlung besser direkt
    dir = c:mp3\
    machen

    und in zeile 25 tritt ein error auf. (FreeSpace—)
    ich habe die zeile einfach gelöscht… jetzt rennt das script gerade vor sich hin.

  2. Arvid Says:

    Geht auch optisch hübsch, dank Java OS-unabhängig, mit beliebig vielen Quellverzeichnissen, Speichern verschiedener Konfigurationen und detaillierter Auswertung per Logfile ;)

    Klick: http://www.mix2stix.de.ms

    Arvid :)