mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Sep 2010
Posts: 12
Pikka bird
OP Offline
Pikka bird
Joined: Sep 2010
Posts: 12
Hello guys,
You may notice some mistakes in my English, it's just because its my second language.
By the way, the other day I found my old iPod (3rd gen) with a lot of songs in it and I was looking for a way to transfer them to my PC.
Searching on the internet I found some softwares, but most of them are not free and/or don't work properly.
So I made a mIRC script to do that and I decided to share it with you, maybe someone might find it useful.
I used the MDX.dll too.

FAQ
Q. Why I did it with mSL?
A. Because I can.

Q. Does it work with all iPods?
A. I don't know. I tested it with mIRC v7.51 and a 3rd generation iPod, I don't know if it will work with other iPods.

NOTE: it's pretty simple and it has only basic functions, I use it only to transfer songs from my iPod to my PC.
It takes a while to transfer things, I took about 5-6mins for ~1100 songs, so I recommend you to use it while you are NOT connected to any irc networks (or you can go offline), because mIRC will be unusable. It takes some time even to load the long list, so it's far away from perfect, but it works laugh
Be sure that the Paths are correct.



Files inside the .zip:
  • MDX.DLL
  • VIEWS.MDX
  • iPod.mrc


Download: iPodTransferV1

Joined: Sep 2010
Posts: 12
Pikka bird
OP Offline
Pikka bird
Joined: Sep 2010
Posts: 12
Sorry, I can't edit my previus post anymore, I forgot to add the code if someone is interested but doesn't want to download the file.
Here you go.

Code:
;iPod Transfer by Matt5150
;version 1.2

alias ipod dialog -m ipod ipod
dialog ipod {
  title "iPod Transfer v1.2"
  size -1 -1 500 385
  box "iPod Path", 1, 5 5 370 42
  edit "F:\iPod_Control\Music\", 2, 10 20 300 20, autohs
  button "Load", 3, 320 20 50 20
  list 4, 5 50 490 300
  edit "Songs: n\a", 5, 380 20 100 20, read disable
  box "Transfer to", 6, 5 340 370 42
  edit "C:\Users\Matteo\Music", 7, 10 355 300 20, autohs
  button "Copy", 8, 320 355 50 20
  button "Close", 9, 425 355 70 20
}
on *:dialog:ipod:*:*:{
  if ($devent == init) {
    dmdx SetMircVersion $version 
    dmdx MarkDialog $dname
    dmdx SetControlMDX $dname 4 ListView grid sortascending report rowselect labeltip checkboxes > $dmdx(.).views
    did -i $dname 4 1 headerdims 100:1 150:2 150:3 60:4
    did -i $dname 4 1 headertext + 0 Artist $chr(9) Title $chr(9) Album $chr(9) File
    ;carica.ipod.dir
  }
  if ($devent = sclick) {
    if ($did = 3) { carica.ipod.dir }
    if ($did = 8) { copia.file.list }
  }
}
alias dmdx { 
  if ($prop) && ($prop = views) { return $shortfn($scriptdir $+ views.mdx) }
  else { dll $shortfn($scriptdir $+ mdx.dll) $1- }
}
alias carica.ipod.dir {
  var %.path.dir = $did(ipod,2)
  did -r ipod 4
  if (!$disk($left(%.path.dir,2))) { noop $input($left(%.path.dir,2) - Disk not found,o,Error) | halt }
  if (!$isdir(%.path.dir)) { noop $input(%.path.dir - Dir doesnt exist,o,Error) | halt }
  noop $findfile(%.path.dir,*.mp3,0,carica.file.dialog $1-)
}
alias carica.file.dialog {
  var %.filename = $1- 
  did -a ipod 4 $sound(%.filename).artist $chr(9) $sound(%.filename).title $chr(9) $sound(%.filename).album $chr(9) %.filename
  did -ar ipod 5 Songs: $calc($did(ipod,4).lines -1)
}
alias copia.file.list {
  var %.file = $did(ipod,4).lines
  while (%.file) {
    if ($gettok($did(ipod,4,%.file),5,32) = 2) { copia.file $did(ipod,4,%.file) }
    dec %.file
  }
}
alias copia.file {
  if (!$isdir($qt($did(ipod,7)))) { noop $input($did(ipod,7) - Dir doesnt exist,o,Error) | halt  }
  var %.copy = $1-, %.directory = $did(ipod,7)
  var %.artist = $mkfn($gettok($gettok(%.copy,1,9),6-,32)), %.title = $mkfn($gettok($gettok(%.copy,2,9),5-,32)), %.album = $mkfn($gettok($gettok(%.copy,3,9),5-,32))
  if (!%.title) { var %.title = unknown }
  if (!%.artist) { var %.artist = unknown }
  if (!%.album) { var %.album = unknown }
  if (!$finddir(%.directory,%.artist $+ \ $+ %.album $+ \,1)) { mkdir $qt(%.directory $+ \ $+ %.artist $+ \ $+ %.album $+ \) }
  copy -o $qt($gettok($gettok(%.copy,4,9),5-,32)) $qt(%.directory $+ \ $+ %.artist $+ \ $+ %.album $+ \ $+ %.artist - %.title $+ .mp3)
}

Joined: Apr 2018
Posts: 3
J
Self-satisified door
Offline
Self-satisified door
J
Joined: Apr 2018
Posts: 3
I thought it wasn't possible, let me try it on my end to see if it will work.


Link Copied to Clipboard