All pastes #577982 Raw Edit

Download and search music by Chr

public text v1 · immutable
·published 2007-06-20 03:33 UTC
rendered paste body
alias -l urlencode { 
  if (!$1) return 
  var %a = $regsubex($$1,/([^\w\s])/Sg,$+(%,$base($asc(\t),10,16,2))) 
  return $replace(%a,$chr(32),$chr(43)) 
} 

alias -l v_title { 
  if (!$1) return 
  var %y 1, %t $regsubex($1,/(\A *$| mp3)/g,$null) 
  while ($didreg(music_main,7,/^ $+ %t $+ $iif(%y > 1,$chr(32) $+ $base(%y,10,10,2)) $+ {1}$/i)) { 
    inc %y 
  } 
  return $titlecase(%t) $+ $iif(%y > 1,$chr(32) $+ $base(%y,10,10,2)) 
} 

on *:dialog:music_main:close:0:{ 
  .timerinf off 
  sockclose get_* 
  sockclose get2_* 
  sockclose dload‡* 
} 

on *:dialog:music_main:sclick:36:{ 
  sockclose dload‡* 
  did -r music_main 17 
  if ($hget(inf_music)) hfree inf_music 
  .timerinf off 
  did -b music_main 1,9-10,12-21,32-33,36-39 
  did -r music_main  1,18-21,32 
  did -ar music_main 14 0MB / 0MB Received 
} 

on *:dialog:music_main:sclick:38:{ 
  if ($exists($qt($did(18)))) run $qt($did(18)) 
  else { 
    .timer 1 1 noop $!input(File does not exist.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
  } 
} 

on *:dialog:music_main:sclick:39:{ 
  if ($exists($qt($nofile($did(18))))) run $qt($nofile($did(18))) 
  else { 
    .timer 1 1 noop $!input(Directory does not exist.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
  } 
} 

on *:dialog:music_main:sclick:37:{ 
  var %y $hget(inf_music,DL_ $+ $replace($did(music_main,17).seltext,$chr(32),†)) 
  sockclose $+(dload,‡,$gettok($hget(inf_music,%y),1,135)) 
  .timerinf off 
  hdel inf_music %y 
  .remove $qt($gettok(%y,3,135)) 
} 

on *:dialog:music_main:sclick:17:{ 
  var %m music_main, %y DL_ $+ $replace($did(music_main,17).seltext,$chr(32),†) 
  if ($numtok($hget(inf_music,%y),135) > 4) { 
    tokenize 135 $hget(inf_music,%y) 
    did -ar %m 18 $3 
    did -ar %m 19 $bytes($2,3).suf 
    did -ar %m 20 $5 
    did -ar %m 21 0secs 
    did -ar %m 32 $6 
    did -ar %m 14 $bytes($2,3).suf / $bytes($2,3).suf Received 
    did -ar %m 1 $str(|,19) Completed $str(|,19) 
    did -b %m 37 
  } 
  else { 
    did -e %m 37 
    d_info 
    .timerinf -mo 0 500 d_info 
  } 
} 

alias -l d_info { 
  var %y DL_ $+ $replace($did(music_main,17).seltext,$chr(32),†) 
  tokenize 135 $hget(inf_music,%y) 
  var %m music_main, %s $+(dload,‡,$1) 
  if (!$sock(%s)) { 
    .timerinf off 
    if ($len($did(%m,1)) == 50) { 
      did -ar %m 21 0secs 
      did -ar %m 14 $bytes($2,3).suf / $bytes($2,3).suf Received 
      did -ar %m 1 $str(|,19) Completed $str(|,19) 
      did -b %m 37 
      hadd inf_music %y $+($hget(inf_music,%y),‡,$did(%m,20),‡,$did(%m,32)) 
    } 
    halt 
  } 
  did -ar %m 18 $3 
  did -ar %m 19 $bytes($2).suf 
  did -ar %m 32 $duration($sock(%s).to) 
  did -ar %m 14 $bytes($sock(%s).rcvd,3).suf / $bytes($2,3).suf Received 
  did -ar %m 1 $str(|,$ceil($calc($sock(%s).rcvd / $2 * 50))) 
  did -ar %m 20 $round($calc(($sock(%s).rcvd - $4)  * 2 / 1024),2) kb/s 
  did -ar %m 21 $duration($round($calc($2 / $sock(%s).rcvd / ($sock(%s).to) * 1024),2)) 
  hadd inf_music DL_ $+ $replace($did(%m,17).seltext,$chr(32),†) $puttok($hget(inf_music,DL_ $+ $replace($did(%m,17).seltext,$chr(32),†)),$sock(%s).rcvd,4,135) 
} 

alias -l titlecase { 
  var %x = $regsubex($lower($1-),/(\b)([a-z])/g,$upper(\1\2)) 
  return $upper($left(%x,1)) $+ $right(%x,-1) 
} 

menu status,query,nicklist,channel,menubar { 
  Music Search:{ 
    if ($dialog(music_main)) dialog -x music_main 
    dialog -mad music_main music_main 
  } 
} 

dialog music_main { 
  title "Music Searcher" 
  size -1 -1 221 307 
  option dbu 
  edit "", 2, 32 13 123 10, autohs 
  text "Artist:", 3, 13 14 18 8 
  button "Search", 4, 167 10 37 15 
  box "Search", 5, 7 4 209 35 
  box "Results", 6, 7 42 208 164, disable 
  list 7, 15 54 192 106, disable sort size vsbar 
  button "Download", 8, 171 169 37 12, disable 
  button "Play", 11, 171 185 37 12, disable 
  text "Time Remaining:", 15, 75 265 41 8, disable 
  text "Transfer Rate:", 13, 75 255 37 8, disable 
  text "File Size:", 12, 75 245 23 8, disable 
  text "0MB / 0MB Received", 14, 102 235 106 8, disable center 
  edit "", 1, 102 224 106 10, disable read 
  text "Progress:", 9, 75 225 25 8, disable 
  text "Filename:", 16, 75 215 23 8, disable 
  box "Current Downloads", 10, 7 208 208 92, disable 
  list 17, 11 216 56 69, disable size 
  text "", 18, 100 215 109 7, disable right 
  text "", 19, 100 245 107 8, disable right 
  text "", 20, 113 255 94 8, disable right 
  text "", 21, 117 265 90 8, disable right 
  edit "", 23, 32 25 123 10, autohs 
  text "Song:", 24, 13 26 18 8 
  text "Song Details:", 25, 16 161 33 8, disable 
  text "Name:", 26, 12 173 16 8, disable 
  edit "", 27, 29 172 137 10, disable read autohs 
  text "Provider:", 28, 12 185 23 8, disable 
  edit "", 29, 36 184 82 10, disable read autohs 
  text "Size:", 30, 121 185 13 8, disable 
  edit "", 31, 134 184 32 10, disable read 
  text "", 32, 117 275 90 8, disable right 
  text "Connection Time:", 33, 75 275 42 8, disable 
  text "Total results:         ", 34, 158 47 47 7, disable right 
  button "Stop All", 36, 24 286 31 11, disable 
  button "Stop download", 37, 165 286 40 10, disable 
  button "Open file", 38, 75 286 40 10, disable 
  button "Open directory", 39, 118 286 44 10, disable 
  button "Stop Search", 22, 167 27 37 9 
} 

on *:dialog:music_main:sclick:22:sockclose get_* 

on *:dialog:music_main:sclick:4:{ 
  if ($did(2) || $did(23)) { 
    did -ar $dname 34 Total results:          
    did -er $dname 7 
    did -e $dname 6,25-31,34 
    if ($hget(sto_music)) hfree sto_music 
    hmake sto_music 100 
    .sockclose get_* 
    sockopen get_fmd free-music-downloads.ws 80 
    sockmark get_fmd 0 
    sockopen get_seeka www.seekasong.com 80 
    sockmark get_seeka 1 
    sockopen get_airmp3 www.airmp3.net 80 
    sockopen get_sideload www.sideload.com 80 
    sockmark get_sideload 1 0 
    sockopen get_xakep www.xakep.ru 80 
    sockopen get_mp3int www.mp3int.com 80 
    sockmark get_mp3int 0 
  } 
} 

on *:dialog:music_main:sclick:7:{ 
  did -ar $dname 27 $did($did).seltext 
  did -ar $dname 29 $gettok($hget(sto_music,$replace($did(27),$chr(32),$chr(134))),4,135) 
  did -ar $dname 31 $gettok($hget(sto_music,$replace($did(27),$chr(32),$chr(134))),3,135) 
  did -e $dname 8,11 
} 

on *:dialog:music_main:sclick:8,11:{ 
  var %y $hget(sto_music,$replace($did(7).seltext,$chr(32),$chr(134))) 
  tokenize 47 $remove($gettok(%y,2,135),http://,ftp://) 
  var %h $1, %p / $+ $replace($2-,$chr(32),/) 
  sockclose $+(get2_,$gettok(%y,1,135)) 
  sockopen $+(get2_,$gettok(%y,1,135)) %h 80 
  sockmark $+(get2_,$gettok(%y,1,135)) $+(%h,‡,%p,‡,$did($did),‡,$did(7).seltext) 
} 

alias -l download { 
  var %1 = $1, %3 = $replace($3,$chr(134),$chr(32)), %t = $ticks 
  set %f.f.2 $replace($2,$chr(134),$chr(32)) 
  set %f.f.x $true 
  tokenize 47 $remove($1,http://,ftp://) 
  set %f.f.type $iif($istok(.mp3 .ogg .wav .aif .mpa .wma,$mid(%1,$pos(%1,.,$count(%1,.))),32),$mid(%1,$pos(%1,.,$count(%1,.))),.mp3) 
  set %f.f.host $1 
  set %f.f.path / $+ $replace($2-,$chr(32),/) 
  if (!%3) { 
    .timer 1 1 set %f.f.dir $!sdir($mircdir,Save music file in) 
    .timer $+ $ltimer -e 
    .timer 1 1 set %f.f.name $!input(What would you like to call this file?,qeo,File name,$(%f.f.2)) 
    .timer $+ $ltimer $iif(%f.f.dir,-e,off) 
    if ($exists($qt(%f.f.dir $+ %f.f.name $+ %f.f.type)) && %f.f.dir && %f.f.name) { 
      timer 1 1 set %f.f.x $!input(Are you sure you want to overwrite the existing $(%f.f.name $+ %f.f.type,0) $+ ?,yw,File Exists) 
      timer $+ $ltimer -e 
    } 
  } 
  if ((!%3 && %f.f.dir && %f.f.name && %f.f.x) || (%3)) { 
    sockopen $+(dload‡,%t) %f.f.host 80 
    sockmark $+(dload‡,%t) $+(0,‡,%f.f.host,‡,%f.f.path,‡,$qt($iif(%3,%3,%f.f.dir $+ %f.f.name $+ %f.f.type)),‡,%f.f.2,‡,0) 
  } 
  unset %f.f.* 
} 

on *:sockopen:dload‡*:{ 
  sockwrite -n $sockname GET $gettok($sock($sockname).mark,3,135) HTTP/1.0 
  sockwrite -n $sockname Host: $gettok($sock($sockname).mark,2,135) 
  sockwrite -n $sockname Content-Type: application/octet-stream 
  sockwrite -n $sockname Accept: */* 
  sockwrite -n $sockname Accept-Language: * 
  sockwrite -n $sockname Accept-Charset: * 
  sockwrite -n $sockname Accept-Encoding: * 
  sockwrite -n $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 
  sockwrite -n $sockname Connection: close 
  sockwrite -n $sockname $crlf 
} 

on *:sockread:dload‡*:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(Socket Error. Try again.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
  } 
  else { 
    if ($gettok($sock($sockname).mark,1,135) == 0) { 
      var %ht 
      sockread %ht 
      hinc -m inf_music $sockname $len(%ht) 
      if ($regex(%ht,/HTTP\/1\.[01] (\d+) (.*)/)) { 
        if ($regml(1) == 302) { 
          while (!$regex(%ht,/Location: (.*)/) && %ht) { sockread %ht } 
          if ($regml(1) && $istok(.mp3‡.ogg‡.wav,$mid($regml(1),$pos($regml(1),.,$count($regml(1),.))),135)) { 
            var %y $sock($sockname).mark 
            sockclose $sockname 
            download $regml(1) $replace($gettok(%y,5,135),$chr(32),$chr(134)) $replace($gettok(%y,4,135),$chr(32),$chr(134)) 
          } 
          else { 
            sockclose $sockname 
            .timer 1 1 noop $!input(This file has moved to:.,oewua,Music Searcher: Error,$regml(1)) 
            .timer $+ $ltimer -e 
          } 
          halt 
        } 
        elseif ($regml(1) != 200) { 
          .timer 1 1 noop $!input(Server Error - Code: $regml(1) Desc: $regml(2) $+ .,owua,Music Searcher: Error) 
          .timer $+ $ltimer -e 
          sockclose $sockname 
          halt 
        } 
      } 
      if ($regex(%ht,/Content-Length: (\d+)$/)) { 
        hadd inf_music CL_ $+ $sockname $regml(1) 
        if ($exists($qt($gettok($sock($sockname).mark,4,135)))) .remove $qt($gettok($sock($sockname).mark,4,135)) 
      } 
      if (!%ht && !$sockbr && $sock($sockname).rq) { 
        sockmark $sockname $puttok($sock($sockname).mark,1,1,135) 
        var %m music_main, %p $calc($hget(inf_music,CL_ $+ $sockname) - $hget(inf_music,$sockname)) 
        hdel -w inf_music * $+ $gettok($sockname,2,135) 
        did -e %m 1,9-10,12-21,32-33,36-39 
        did -ar %m 22 %p 
        did -ac %m 17 $gettok($sock($sockname).mark,5,135) 
        did -a %m 18 $noqt($gettok($sock($sockname).mark,4,135)) 
        hadd -m inf_music DL_ $+ $replace($gettok($sock($sockname).mark,5,135),$chr(32),$chr(134)) $+($gettok($sockname,2,135),‡,%p,‡,$noqt($gettok($sock($sockname).mark,4,135)),‡,0) 
        timerinf -mo 0 500 d_info 
      } 
    } 
    while ($sock($sockname).rq && $gettok($sock($sockname).mark,1,135) == 1) { 
      sockread &source 
      bwrite $gettok($sock($sockname).mark,4,135) -1 -1 &source 
    } 
  } 
} 

on *:sockopen:get2_*:{ 
  sockwrite -n $sockname GET $gettok($sock($sockname).mark,2,135) HTTP/1.0 
  sockwrite -n $sockname Host: $gettok($sock($sockname).mark,1,135) 
  sockwrite -n $sockname $crlf 
} 

on *:sockopen:get_seeka:{ 
  sockwrite -n $sockname GET $+(/search.php?artist=,$urlencode($did(music_main,2)),&title=,$urlencode($did(music_main,23)),&page=,$sock($sockname).mark) HTTP/1.0 
  sockwrite -n $sockname Host: www.seekasong.com 
  sockwrite -n $sockname $crlf 
} 

on *:sockread:get_seeka:{ 
  if ($sockerr) halt 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/^<a href="(download\.php\?id=.*)">(.*)<\/a><br>/)) { 
    var %z www.seekasong.com/ $+ $regml(1), %t $v_title($regml(2)) 
    sockread %sr 
    noop $regex(%sr,/<a href="click\.php\?link=provider" target="_blank">(.*?)</a>/) 
    var %w $regml(1) 
    sockread %sr 
    noop $regex(%sr,/<td width="10%" .* nowrap valign="middle">(.*?)<br>/) 
    hadd sto_music $replace(%t,$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,%z,‡,$regml(1),‡,%w) 
    did -a music_main 7 %t 
    did -ar music_main 34 Total results: $did(music_main,7).lines 
  } 
  if (*<a href="search.php?title=*&artist=*&page= $+ $calc($sock($sockname).mark + 1) $+ "> $+ $calc($sock($sockname).mark + 1) $+ </a>* iswm %sr) { 
    var %y $sockname, %z $calc($sock($sockname).mark + 1) 
    sockclose $sockname 
    sockopen %y www.seekasong.com 80 
    sockmark %y %z 
  } 
  if (*Sorry, no results were found in this search.* iswm %sr || </body> iswm %sr) { 
    sockclose $sockname 
  } 
} 

on *:sockread:get2_seeka:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  while ($sock($sockname).rq) { 
    sockread &sr 
    bwrite seekatemp -1 -1 &sr 
  } 
  bunset &sr 
  bread seekatemp 0 $file(seekatemp).size &sr 
  if ($bfind(&sr,0,</html>)) { 
    .remove seekatemp 
    if ($bfind(&sr,0,Report broken link</a></div></td></tr></table></td>)) { 
      var %x $calc($bfind(&sr,0,<a class=help href=) + 20), %url = $bvar(&sr,%x,$calc($bfind(&sr,0,>Download This File) - 2 - %x)).text 
      if ($regex(%url,/.*\.(?:mp3|ogg|wav|wma|aif|mpa)$/)) { 
        if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
        elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
      } 
      else { 
        var %q $sockname 
        .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
        .timer $+ $ltimer -e 
        sockclose %q 
      } 
    } 
    else { 
      var %q $sockname 
      .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
      .timer $+ $ltimer -e 
      sockclose %q 
    } 
  } 
} 


on *:sockopen:get_xakep:{ 
  sockwrite -n $sockname GET $+(/local/search/result.asp?scope=+%22%2Fxpost%22%2C+%22%2Fmagazine%2Fxa%22%2C+%22%2Fmagazine%2Fxs%22%2C+% $+ 22%2Fmagazine%2Fxh%22+&orderby=rank&tosearch=,$urlencode($iif($did(music_main,2),$iif($did(music_main,23),$did(music_main,2) $v1,$did(music_main,2)),$did(music_main,23))),&x=0&y=0) HTTP/1.0 
  sockwrite -n $sockname Host: www.xakep.ru 
  sockwrite -n $sockname $crlf 
} 

on *:sockread:get_xakep:{ 
  if ($sockerr) halt 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/&nbsp;<a href="\Q../../local/redirect.asp?\Eurl=(.*?)"><b>/)) { 
    var %u www.xakep.ru/ $+ $regml(1) 
    sockread %sr 
    if ($len(%sr) < 3) sockread %sr 
    if ($regex(%sr,/(?:&nbsp;){9}((?:\w|\s)+?)\. Íàçâàíèå: \1 Ãðóïïà:\. ((?:\w|\s)+?)\. Àëüáîì:\. .*?\. Ðàçìåð:\. (\d+)\./)) { 
      var %y 1, %s $bytes($calc($regml(3)*1024),3).suf, %t $v_title($regml(2) - $regml(1)) 
      hadd sto_music $replace(%t,$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,%u,‡,%s,‡,Xakep Online) 
      did -a music_main 7 %t 
      did -ar music_main 34 Total results: $did(music_main,7).lines 
    } 
  } 
  if ($regex(%sr,/^ *\(íåò äàííûõ\)/)) sockclose $sockname 
} 

on *:sockread:get2_xakep:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/<!-- fnamepostbegin -->(.*?\.(?:mp3|wma|ogg))<!-- fnamepostend --> /)) { 
    var %url $+($gettok($sock($sockname).mark,1,135),$remove($gettok($sock($sockname).mark,2,135),default.asp),$regml(1)) 
    if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
    elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
  } 
  if ($len(%sr) < 400 && *<table width = "100%" class="textBody">* iswm %sr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
    sockclose $sockname 
  } 
} 

on *:sockopen:get_fmd: { 
  sockwrite -nt $sockname GET $+(/en/search/,$iif($did(music_main,2),$urlencode($v1),_),/,$iif($did(music_main,23),$urlencode($v1),_),/mp3/,$sock($sockname).mark,/) HTTP/1.0 
  sockwrite -nt $sockname Host: free-music-downloads.ws 
  sockwrite -nt $sockname $crlf 
} 

on *:sockread:get_fmd:{ 
  if ($sockerr) halt 
  else { 
    var %sr 
    sockread %sr 
    if ($regex(%sr,/ {20}<a href="\/en\/search\/(.*?)(?:">)+(.*?)<\/a>/)) { 
      var %y 1, %u http://free-music-downloads.ws/en/search/ $+ $regml(1), %t $v_title($regml(2)) 
      sockread %sr | sockread %sr 
      if ($regex(%sr,/<td><b>Size<\/b>: *(.*?)<\/td>/)) { 
        var %s $upper($remove($regml(1),$chr(32))) 
        if ($regml(1) == N/A) var %t na 
      } 
      if (%t != na) { 
        hadd sto_music $replace(%t,$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,%u,‡,$iif(%s,%s,Unknown),‡,Free Music Downloads) 
        did -a music_main 7 %t 
        did -ar music_main 34 Total results: $did(music_main,7).lines 
      } 
    } 
    if (*<li><a href="/en/search/*/ $+ $calc($sock($sockname).mark + 1) $+ /"><b>* mp3* page $calc($sock($sockname).mark + 2) results</b></a></li> iswm %sr) { 
      var %y $sockname, %z $calc($gettok($sock(%y).mark,1,32) + 1) 
      sockclose $sockname 
      sockopen %y free-music-downloads.ws 80 
      sockmark %y %z 
    } 
    if (*<td>No results found. Try another search. iswm %sr || </body> iswm %sr) { 
      sockclose $sockname 
    } 
  } 
} 

on *:sockread:get2_fmd:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/<b><a href="(.*?)">.*?<\/a><\/b><br \/><br \/>/)) { 
    var %url http://free-music-downloads.ws/ $+ $regml(1)) 
    if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
    elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
  } 
  if (Sorry. Page not found. iswm %sr || *To download the song, simply right click on it then select* iswm %sr) { 
    var %q $sockname 
    .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
    sockclose %q 
  } 
} 

on *:sockopen:get_mp3int:{ 
  sockwrite -n $sockname GET $+(/mp3_search.php?k=,$iif($did(music_main,2),$urlencode($v1),$urlencode($did(music_main,23))),&p=,$sock($sockname).mark) HTTP/1.0 
  sockwrite -n $sockname Host: www.mp3int.com 
  sockwrite -n $sockname $crlf 
} 

on *:sockread:get_mp3int:{ 
  if ($sockerr) halt 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/<td width="80%"><span class="g0"><a href="(.*?)" title=".*?"><b>(.*?)<\/b>.*<\/a><\/span><\/td>/)) { 
    var %d $regml(1) 
    var %t $v_title($regml(2)) 
    sockmark $sockname $+($gettok($sock($sockname).mark,1,135),‡,1,‡,www.mp3int.com $+ %d,‡,%t) 
  } 
  if ($regex(%sr,/<td width="80%"><font class="f8">(?:.*?)\.(\w+)<\/font><\/td>/) && !$regex($regml(1),/(mp3|wma|ogg)/i)) { sockmark $sockname $+($puttok($sock($sockname).mark,0,2,135),‡,$regml(1)) } 
  if ($gettok($sock($sockname).mark,2,135) == 1 && $regex(%sr,/<td class="f2" width="16%" nowrap>(.*?)<\/td>/)) { sockmark $sockname $+($sock($sockname).mark,‡,$remove($regml(1),$chr(32))) } 
  if ($gettok($sock($sockname).mark,2,135) == 1 && $regex(%sr,/ *<td class="f2" nowrap>Last rep\.<\/td>/)) { 
    sockread %sr | sockread %sr 
    if (Not a full song isin %sr) sockmark $sockname $puttok($sock($sockname).mark,0,2,135) 
  } 
  if ($gettok($sock($sockname).mark,2,135) == 1 && Most rep. isin %sr) { 
    sockread %sr | sockread %sr 
    if (Not a full song !isin %sr) { 
      hadd sto_music $replace($gettok($sock($sockname).mark,4,135),$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,$gettok($sock($sockname).mark,3,135),‡,$gettok($sock($sockname).mark,5,135),‡,mp3INT) 
      did -a music_main 7 $gettok($sock($sockname).mark,4,135) 
    } 
  } 
  if (<td><div align=right class=f4><a href="/mp3_search.php?k=*&p= $+ $calc($gettok($sock($sockname).mark,1,135) + 1) $+ ">Next* iswm %sr) { 
    var %y $sockname, %z $calc($gettok($sock(%y).mark,1,135) + 1) 
    sockclose $sockname 
    sockopen %y www.mp3int.com 80 
    sockmark %y %z 
  } 
  if (*<span class="f4"><font color="#000000">Top Referrers</font></span></td> isin %sr) sockclose $sockname 
} 

on *:sockread:get2_mp3int:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  var %sr 
  sockread %sr 
  if (*<td class="f2" width="10%"><b>File URL:</b></td> iswm %sr) { 
    sockread %sr 
    noop $regex(%sr,/<td class="f2" width="90%">(.*\.(?:mp3|ogg|wav|wma|aif|mpa))<\/td>/) 
    var %url $regml(1) 
    if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
    elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
  } 
  if (*<b>Latest Check Report:</b>* iswm %sr) { 
    var %q $sockname 
    .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
    sockclose %q 
  } 
} 

on *:sockopen:get_sideload:{ 
  sockwrite -n $sockname GET $+(/cb/search/?keywords=,$urlencode($iif($did(music_main,2),$iif($did(music_main,23),$did(music_main,2) $v1,$did(music_main,2)),$did(music_main,23))),&pg=,$gettok($sock($sockname).mark,1,32)) HTTP/1.0 
  sockwrite -n $sockname Host: www.sideload.com 
  sockwrite -n $sockname $crlf 
} 

on *:sockread:get_sideload:{ 
  if ($sockerr) halt 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/^<td valign="top" style="padding:1px;"><a href="(\Qhttp://www.sideload.com/cb/track/?id=\E\d+)">(.*?)<\/a><\/td>$/)) { 
    var %u $regml(1), %t $regml(2) 
    sockread %sr | sockread %sr | sockread %sr 
    if ($regex(w,%sr,/<a href=".*?">(.*?)<\/a>/)) { 
      var %y 1, %t $iif($regsubex(%t,/(?:http:\/\/)?(?:www\.).*?\.(?:com|org|co\.uk|net|de)(?:\/[^/]+)*\b/,$null),$v1 - $+ $chr(32))) $+ $regml(w,1), %t $v_title(%t) 
      hadd sto_music $replace(%t,$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,%u,‡,Unknown,‡,Sideload) 
      did -a music_main 7 %t 
      did -ar music_main 34 Total results: $did(music_main,7).lines 
    } 
  } 
  if ((*No sideload tracks found.</h4></td> iswm %sr) || (<div id="footer"> iswm %sr)) { 
    sockclose $sockname 
  } 
  if (*<td><a href="http://www.sideload.com/cb/search/?keywords=*&pg= $+ $calc($gettok($sock($sockname).mark,1,32) + 1) $+ " title="Next Page">* iswm %sr) { 
    if ($gettok($sock($sockname).mark,2,32) != 1) { 
      sockmark $sockname $puttok($sock($sockname).mark,1,2,32) 
    } 
    else { 
      var %y $sockname, %z $calc($gettok($sock(%y).mark,1,32) + 1) 
      sockclose $sockname 
      sockopen %y www.sideload.com 80 
      sockmark %y %z 0 
    } 
  } 
} 

on *:sockread:get2_sideload:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/^<a href="(.*\.(?:mp3|ogg|wav|wma|aif|mpa))" onmouseover=".*?">Download this track<\/a>/)) { 
    var %url $regml(1)) 
    if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
    elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
  } 
  if (</html> iswm %sr) { 
    var %q $sockname 
    .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
    sockclose %q 
  } 
} 

on *:sockopen:get_airmp3: { 
  sockwrite -nt $sockname GET $+(/free_mp3_search.php?artist=,$urlencode($did(music_main,2)),&title=,$urlencode($did(music_main,23)),&do=search&search=search+mp3) HTTP/1.0 
  sockwrite -nt $sockname Host: www.airmp3.net 
  sockwrite -nt $sockname $crlf 
} 

on *:sockread:get_airmp3:{ 
  if ($sockerr) halt 
  else { 
    while ($sock($sockname).rq) { 
      sockread &sr 
      bwrite airtemp -1 -1 &sr 
    } 
    bread airtemp 0 $file(airtemp).size &sp 
    if ($bfind(&sp,$calc($file(airtemp).size - 20),</HTML>)) { 
      if ($bfind(&sp,0,Site is very busy. Please try again in a few minutes)) .sockclose $sockname 
      var %g 1, %r 1, %n 1 
      while (%r <= 3) { 
        var %x = $calc($bfind(&sp,%g,<td bgcolor="#EEEEEE"><blockquote>) + 53), %n = $bfind(&sp,%x,</blockquote></td>), %a 17 
        inc %n 
        bcopy -c &st 1 &sp %x $calc(%n - %x) 
        if ($bvar(&st,0) && !$bfind(&st,1,No results here)) { 
          while (%a) { 
            var %t = $v_title($remove($bvar(&st,%a,$calc($bfind(&st,%a,34) - %a)).text,$chr(32) $+ mp3)), %c = $calc($bfind(&st,%a,href) + 6), %u = http://www.airmp3.net/ $+ $bvar(&st,%c,$calc($bfind(&st,%c,") - %c)).text 
            if (!%t) break 
            if (%r == 3) var %h = $calc($bfind(&st,%a,</a>) + 5), %s = $remove($bvar(&st,%h,$calc($bfind(&st,%a,<br>) - %h)).text,$chr(32)) 
            var %a = $iif($calc($bfind(&st,%c,<br>) + 14) > %c,$v1) 
            hadd sto_music $replace(%t,$chr(32),$chr(134)) $+($gettok($sockname,2,95),‡,%u,‡,$iif(%r == 3,%s,Unknown),‡,$gettok(emp3finder.MP3 Dimension.Mp3INT,%r,46)) 
            did -a music_main 7 %t 
            did -ar music_main 34 Total results: $did(music_main,7).lines 
          } 
        } 
        var %g = %n 
        bunset &st 
        inc %r 
      } 
      .remove airtemp 
    } 
  } 
} 

on *:sockread:get2_airmp3:{ 
  if ($sockerr) { 
    .timer 1 1 noop $!input(There was an error obtaining the file link. Error: $sockerr $+ .,owua, Music Searcher: Error) 
    .timer $+ $ltimer -e 
    halt 
  } 
  var %sr 
  sockread %sr 
  if ($regex(%sr,/^ *(?:<br>){6}<table align=center><tr><td><strong><a href="(.*\.(?:mp3|ogg|wav|wma|aif|mpa))">/)) { 
    var %url $replace($regml(1)),$chr(32),+) 
    if ($gettok($sock($sockname).mark,3,135) == Download) { var %y $sock($sockname).mark | sockclose $sockname | download %url $replace($gettok(%y,4,135),$chr(32),$chr(134)) } 
    elseif ($gettok($sock($sockname).mark,3,135) == Play) { sockclose $sockname | run %url } 
  } 
  if (</body></html> iswm %sr) { 
    var %q $sockname 
    .timer 1 1 noop $!input(There was an error obtaining the file link.,owua,Music Searcher: Error) 
    .timer $+ $ltimer -e 
    sockclose %q 
  } 
}