Basic — File Browser
Basicv09272000 / Basicv09272000 / SYS / sounds.ini
sounds.ini — 18.05 KB — Download this file
[aliases]
n0=_csf {
n1= if ($wildtok($1-,*.wav,1,32)) return $_csp(*.wav,$1-)
n2= if ($wildtok($1-,*.mid,1,32)) return $_csp(*.mid,$1-)
n3= if ($wildtok($1-,*.mp3,1,32)) return $_csp(*.mp3,$1-)
n4= if ($wildtok($1-,*.mp2,1,32)) return $_csp(*.mp2,$1-)
n5=}
n6=_csi {
n7= if ($_isfile($_csf($1-))) return $ifmatch
n8= if ($_isfile($_sounddir($_csf($1-)))) return $ifmatch
n9=}
n10=_csi2 {
n11= if ($_isfile($1-)) return $ifmatch
n12= if ($_isfile($_sounddir($1-))) return $ifmatch
n13=}
n14=_csp return $iif(($chr(32) isin $2-),$gettok($2-,$bind(1-,$findtok($2-,$wildtok($2-,$1,1,32),1,32)),32),$2-)
n15=_scleanup unset %SoundTemp* %SoundText %N %C
n16=_sfecho if (($query($1)) || ($1 ischan) || ($chat($remove($1,=)))) me.echo $1-
n17=_sounddir {
n18= if ($1 == -1) return $iif(*.mid iswm $2-,$mididir,$iif(*.mp? iswm $2-,$mp3dir,$iif(*.wav iswm $2-,$wavedir,$_sounddir²(-1,$2-))))
n19= if (*.mid iswm $1-) return $mididir $+ $1-
n20= if (*.mp? iswm $1-) return $mp3dir $+ $1-
n21= if (*.wav iswm $1-) return $wavedir $+ $1-
n22= return $_sounddir²($1-)
n23=}
n24=_sounddir² {
n25= if (%AdditionalSoundFileTypes == $null) return $_sounddir³($1-)
n26= var %File = $iif($1 == -1,$2-,$1-)
n27= var %Path = %SoundFilePath. $+ $gettok(%File,-1,46)
n28= if (%Path == $null) return $_sounddir³(%File)
n29= if (*\ !iswm %Path) var %Path = %Path $+ \
n30= return $iif($1 == -1,%Path, [ [ %Path ] $+ [ %File ] ] )
n31=}
n32=_sounddir³ {
n33= tokenize 32 $1-
n34= return $iif($1 == -1,$wavedir, [ $wavedir $+ [ $1- ] ] )
n35=}
n36=_soundplayer var %tmp = player $+ . $+ $gettok($1,-1,46) | return $i(sounds,%tmp)
n37=CountSoundFiles {
n38= %.MP3FileCount = $findfile($mp3dir,*.mp3,0)
n39= %.WavFileCount = $findfile($wavedir,*.wav,0)
n40= %.MidFileCount = $findfile($mididir,*.mid,0)
n41=}
n42=isa if (($1 != $null) && ($1 != n/a)) return $1
n43=mp3 {
n44= if ($1) sound $1-
n45= else {
n46= %mp3.path = $iif($exists($mp3dir),$mp3dir,\)
n47= %mp3.temp = $$dir="Select file to play" [ [ %mp3.path ] $+ *.mp? ]
n48= sound %mp3.temp
n49= }
n50=}
n51=mpx {
n52= if ($1 == -q) {
n53= if ($_mp3setfile($2-)) {
n54= var %sound = $ifmatch
n55= if (($inmp3) || ($inwave)) {
n56= if ($istok(%mp3qfiles,%sound,124)) { iecho $+ $c3 $+ $nopath(%sound) is already in the queue. | return }
n57= %mp3qfiles = $addtok(%mp3qfiles,%sound,124)
n58= %mp3qtarg. [ $+ [ $shortfn(%sound) ] ] = $active
n59= iecho Queued $+ $c3 $nopath(%sound) to $+ $c3 %mp3qtarg. [ $+ [ $shortfn(%sound) ] ]
n60= }
n61= else _mpxdo $active %sound
n62= }
n63= }
n64= elseif ($1 == -r) {
n65= if (%mp3qfiles == $null) { iecho No files queued. | halt }
n66= if ($_mp3setfile($2-)) var %sound = $ifmatch | else var %sound = $2- | var %num = $remove($2,$chr(35))
n67= if ((%num isnum) && (%num <= $numtok(%mp3qfiles,124)) && ($gettok(%mp3qfiles,%num,124))) mpx.remq %num
n68= elseif ($istok(%mp3qfiles,%sound,124)) mpx.remq %sound
n69= else iecho No such file in the MPx queue.
n70= }
n71= elseif ($1 == -l) mpx.list
n72= elseif ($_mp3setfile($1-)) _mpxdo $active $ifmatch
n73=}
n74=mpx.remq {
n75= %.mp3rem = $nopath($iif($1 isnum,$gettok(%mp3qfiles,$1,124),$1-))
n76= %mp3qfiles = $remtok(%mp3qfiles,$1-,124)
n77= iecho Removed " $+ %.mp3rem $+ " from MPx queue.
n78=}
n79=mpx.list {
n80= if (%mp3qfiles == $null) { iecho No files queued. | halt }
n81= iecho Listing MPx Queue: | var %counter = 1
n82= while ($gettok(%mp3qfiles,%counter,124)) { echo -a $chr(35) $+ %counter $+ . $ifmatch | inc %counter }
n83= iecho /mpx -r #N to remove
n84=}
n85=_mpxdo {
n86= if ($1-2 == Status Window) var %.mfile = $3-, %.mtarg = $1-2
n87= else var %.mfile = $2-, %.mtarg = $1
n88= var %_mstuff = mpx; $_mp3(%.mfile).title $sinfo(%.mfile)
n89= if ((((%.mtarg ischan) || ($query(%.mtarg))) && ($server)) || (=* iswm %.mtarg)) msg %.mtarg %_mstuff
n90= else iecho %_mstuff
n91= splay " $+ %.mfile $+ "
n92=}
n93=_mp3setfile {
n94= if ($1 == $null) %.mpxfile = $$dir="Select MP3 to play" [ [ $mp3dir ] $+ *.mp3 ]
n95= elseif ($_isfile($1-)) %.mpxfile = $remove($ifmatch,")
n96= elseif ($_isfile($_sounddir($1-))) %.mpxfile = $remove($ifmatch,")
n97= else { %tmp = * $+ $remove($1-,.mp3) $+ *.mp3 | %.mpxfile = $findfile($_sounddir(-1,%tmp),%tmp,1) }
n98= return %.mpxfile
n99=}
n100=nosound {
n101= if ((%.MP3FileCount == 0) && (%.WavFileCount == 0) && (%.MidFileCount == 0)) return 1
n102= if (((*.mp3 iswm $1) || (*.mp2 iswm $1)) && (%.MP3FileCount == 0)) return 1
n103= if ((*.wav iswm $1) && (%.WavFileCount == 0)) return 1
n104= if ((*.mid iswm $1) && (%.MidFileCount == 0)) return 1
n105=}
n106=; random MP3
n107=;/rmp3 [-s] [=|target] [wildmatch]
n108=rmp3 {
n109= if ((%.MP3FileCount == $null) || (%.MP3FileCount == 0)) { iecho No MP3 files found. | halt }
n110= if ($1 == -s) { var %l = $_rmp3²($2-) | splay %l | iecho rmp3; $_mp3(%l).title $sinfo(%l) }
n111= elseif (($me ison $1) || ($1 ison $active) || ($query($1)) || ($comchan($1,0)) || ($chat($remove($1,=)) isnum)) { var %l = $_rmp3²($2-) | rmp3² $1 %l }
n112= elseif (($active ischan) || ($query($active)) || (=* iswm $active)) { var %l = $_rmp3²($1-) | rmp3² $active %l }
n113= else { var %l = $_rmp3²($1-) | splay %l | iecho rmp3; $_mp3(%l).title $sinfo(%l) }
n114=}
n115=rmp3² {
n116= splay " $+ $2- $+ "
n117= if (=* iswm $1) { if ($chat($remove($1,=)).status == active) msg = $+ $1 rmp3; $_mp3($2-).title $sinfo($2-) | else iecho No such chat session ( $+ $remove($1,=) $+ ) }
n118= else { if ($server == $null) halt | msg $1 rmp3; $nopath($2-) $sinfo($2-) }
n119=}
n120=_rmp3 {
n121= var %p = $mp3dir
n122= if ($1 == $null) var %s = $findfile(%p,*.mp3,$r(1,$findfile(%p,*.mp3,0)))
n123= elseif ($_isfile($1-)) var %s = $ifmatch
n124= elseif ($exists( [ %p $+ [ $1- ] ] )) var %s = %p $+ [ $1- ]
n125= elseif ((* isin $1-) || (? isin $1-)) var %s = $findfile(%p,$1-,$r(1,$findfile(%p,$1-,0)))
n126= elseif ($1-) { var %f = * $+ $1- $+ * | var %s = $findfile(%p,%f,$r(1,$findfile(%p,%f,0))) }
n127= %RandomMP3File = %s
n128= return $iif((*.mid iswm %s) || (*.wav iswm %s) || (*.mp3 iswm %s) || (*.mp2 iswm %s),%s)
n129=}
n130=_rmp3² var %r = $_rmp3($1-) | return $iif(%r,%r,$_rmp3)
n131=sinfo {
n132= var %mi = $i(sounds,mp3info)
n133= if (%mi == $null) return
n134= var %f = $remove($1-,"), %len, %size, %kbps, %khz, %mode, %i
n135= if (size isin %mi) %size = $_mp3(%f).size
n136= if (length isin %mi) %len = $_mp3(%f).len
n137= if (KBPS isin %mi) %kbps = $_mp3(%f).kbps
n138= if (KHZ isin %mi) %khz = $_mp3(%f).khz
n139= if (mode isin %mi) %mode = $_mp3(%f).mode
n140= if ($isa(%size) != $null) %i = %i $ifmatch
n141= if ($isa(%len) != $null) %i = %i $ifmatch
n142= if ($isa(%kbps) != $null) %i = %i $ifmatch $+ kbps
n143= if ($isa(%khz) != $null) %i = %i $ifmatch $+ khz
n144= if ($isa(%mode) != $null) %i = %i $ifmatch
n145= if (%i) return ( $+ %i $+ )
n146=}
n147=sound {
n148= _scleanup
n149= if ((($1 == on) || ($1 == off)) && ($2 == $null)) { sound $1 | _set main sreq $1 | return }
n150= unset %SoundText | var %SoundPath = $iif($i(apps,lastdir),$i(apps,lastdir),\) $+ *.wav;*.mp?;*.mid
n151= if ($1 == $null) var %SoundTarg = $active, %SoundFile = $$dir="Select a file to play" %SoundPath
n152= elseif (($1) && ($i(sounds,autocomp))) {
n153= if ($_isfile($2-)) var %SoundTarg = $1, %SoundFile = $ifmatch
n154= elseif ($_isfile($_sounddir($2-))) var %SoundTarg = $1, %SoundFile = $ifmatch
n155= elseif ($_isfile($2)) { var %SoundTarg = $1, %SoundFile = $2 | %SoundText = $3- }
n156= elseif ($_isfile($_sounddir($2))) { var %SoundTarg = $1, %SoundFile = $_sounddir($2) | %SoundText = $3- }
n157= elseif ($_isfile($1-)) var %SoundFile = $1-, %SoundTarg = $active
n158= elseif ($_isfile($_sounddir($1-))) var %SoundFile = $_sounddir($1-), %SoundTarg = $active
n159= elseif ($_isfile($_sounddir($1))) { var %SoundFile = $_sounddir($1), %SoundTarg = $active | %SoundText = $2- }
n160= elseif ($_isfile($1)) { var %SoundFile = $1, %SoundTarg = $active | %SoundText = $2- }
n161= else {
n162= var %SoundTarg = $iif($2 == $null,$active,$1), %SF = $iif($2 != $null,$2,$1)
n163= var %SoundFile = $findfile($_sounddir(-1,%SF),$sfix(%SF),1)
n164= %SoundText = $iif(%SoundTarg == $1,$3-,$2-)
n165= if (%SoundFile == $null) { iecho Sound: No matching file found | halt }
n166= }
n167= }
n168= elseif (($1) && ($2 == $null)) {
n169= if ($_isfile($_sounddir($1-))) var %SoundFile = $_sounddir($1-), %SoundTarg = $active
n170= elseif ($_isfile($_sounddir($1))) var %SoundFile = $_sounddir($1), %SoundTarg = $active
n171= elseif ($_isfile($1)) var %SoundFile = $1, %SoundTarg = $active
n172= else var %SoundTarg = $1, %SoundFile = $$dir="Select a file to play" %SoundPath
n173= }
n174= elseif (($2) && ($3 == $null)) {
n175= if ($_isfile($2)) var %SoundFile = $ifmatch , %SoundTarg = $1
n176= elseif ($_isfile($1)) var %SoundFile = $ifmatch , %SoundTarg = $active, %SoundText = $2
n177= elseif ($_isfile($1-)) var %SoundFile = $ifmatch , %SoundTarg = $active
n178= elseif ($_isfile($_sounddir($1))) var %SoundFile = $ifmatch, %SoundTarg = $active, %SoundText = $2
n179= else var %SoundTarg = $1, %SoundFile = $$dir="Select a file to play" %SoundPath
n180= }
n181= else {
n182= if ($_isfile($2-)) { var %SoundTarg = $1, %SoundFile = $ifmatch | goto next }
n183= if ($_isfile($_sounddir($2-))) { var %SoundTarg = $1, %SoundFile = $ifmatch | goto next }
n184= ; Set temp variables that are possible sound files
n185= %SoundTemp1 = $wildtok($1-,*.wav,1,32)
n186= %SoundTemp2 = $wildtok($1-,*.mid,1,32)
n187= %SoundTemp3 = $wildtok($1-,*.mp3,1,32)
n188= %SoundTemp4 = $wildtok($1-,*.mp2,1,32)
n189= ; Set more temp variables if there are additional sound file types
n190= if ($i(sounds,filetypes)) {
n191= var %ExtraTypes = $ifmatch
n192= %C = 5
n193= %N = 1
n194= while ($gettok(%ExtraTypes,%N,32)) {
n195= %SoundTemp [ $+ [ %C ] ] = $wildtok($1-,$ifmatch,1,32)
n196= inc %C
n197= inc %N
n198= }
n199= }
n200= ; Find the first possible sound file
n201= %N = 0
n202= :find
n203= inc %N
n204= if (%N > %C) goto next
n205= if (%SoundTemp [ $+ [ %N ] ]) {
n206= ; Retrieve possible filename
n207= %SoundTemp1 = $ifmatch
n208= %SoundTemp2 = 1- $+ $findtok($1-,%SoundTemp1,32)
n209= %SoundTemp3 = 2- $+ $findtok($1-,%SoundTemp1,32)
n210= %SoundTemp2 = $gettok($1-,%SoundTemp2,32)
n211= %SoundTemp3 = $gettok($1-,%SoundTemp3,32)
n212= ; Get the possible accompanying message
n213= %SoundText = $calc($findtok($1-,%SoundTemp1,32) + 1) $+ -
n214= %SoundText = $gettok($1-,%SoundText,32)
n215= ; Check the file if it exists
n216= if ($_csi2(%SoundTemp2)) { var %SoundFile = $ifmatch, %SoundTarg = $active | goto next }
n217= elseif ($_csi2(%SoundTemp3)) { var %SoundFile = $ifmatch, %SoundTarg = $1 | goto next }
n218= else { iecho /sound: No file specified or file does not exist | _scleanup | halt }
n219= }
n220= goto find
n221= :next
n222= }
n223=
n224= ; Check if file exists and unset the %SoundText so that it won't get sent as $null
n225= if (%SoundText == $null) unset %SoundText
n226= var %SoundOptn = $i(sounds,play.option)
n227= var %TempFileInfo = $sinfo(%SoundFile)
n228= var %FileInf = - $_mp3($remove(%SoundFile,")).title $iif(%TempFileInfo,%TempFileInfo)
n229=
n230= if (%SoundOptn == 181) %SoundText = %SoundText %FileInf
n231= elseif (%SoundOptn == 182) { if (%SoundText == $null) %SoundText = %FileInf | else unset %SoundText }
n232= elseif (%SoundOptn == 183) { if (%SoundText == $null) unset %SoundText | else %SoundText = %SoundText %FileInf }
n233= else if (%SoundText == $null) unset %SoundText
n234=
n235= if ($_isfile($remove(%SoundFile,")) == $null) iecho /sound: No file specified or file does not exist
n236= else {
n237= var %Nick = $remove(%SoundTarg,=)
n238= if (($inwave) || ($inmidi) || ($inmp3)) splay stop
n239= splay %SoundFile
n240= ; Stop right here if we're not connected to the server
n241= if ($server == $null) { _scleanup | halt }
n242= if (=* iswm %SoundTarg) {
n243= if ($chat(%Nick).status == active) { .msg %SoundTarg SOUND $replace($nopath(%SoundFile),$chr(32),?) $+ | if (%SoundText) .describe %SoundTarg %SoundText }
n244= else { iecho No such chat session ( $+ %Nick $+ ) | _scleanup | halt }
n245= }
n246= else .ctcp %Nick SOUND $replace($nopath($remove(%SoundFile,")),$chr(32),?) %SoundText
n247= if (%SoundText) _sfecho %SoundTarg $ifmatch
n248= }
n249= _scleanup
n250=}
n251=splay {
n252= unset %soundswitches
n253= if ($istok(pause resume seek stop,$1,32)) { !splay $1- | return }
n254= elseif ($1 == $null) {
n255= if ($i(apps,lastdir) == $null) _set apps lastdir $wavedir
n256= set %.soundtmp $i(apps,lastdir) $+ *.wav;*.mid;*.mp?
n257= set %sound $$dir="Select a file to play" [ %.soundtmp ]
n258= goto play
n259= }
n260= elseif (-* iswm $1) {
n261= if ($remove($1,-) !isin qwmp) { iecho /splay: invalid switch | return }
n262= if (($2 == stop) && ($3 == $null)) { !splay $1-2 | return }
n263= if ($istok(pause resume seek skip,$2,32)) { !splay $1- | return }
n264= if ($2-) { set -u %sound $2- | set -u %soundswitches $1 | goto play }
n265= %sound = $$dir="Select a file to play" $wavedir*.wav;*.mid;*.mp3
n266= if ((($inwave) || ($inmidi) || ($inmp3)) && (-*q* !iswm $1)) !splay stop
n267= splay $1 " $+ %sound $+ "
n268= return
n269= }
n270= else {
n271= if ($soundfile($1-)) %sound = $ifmatch
n272= else %sound = $remove($1-,")
n273= goto play
n274= }
n275= return
n276=
n277= :play
n278= if ($_isfile(%sound)) set -u %sfile $ifmatch
n279= elseif ($_isfile($_sounddir(%sound))) set -u %sfile $ifmatch
n280= elseif ($_isfile( [ [ $mididir ] $+ [ %sound ] $+ .mid ] )) set -u %sfile $ifmatch
n281= elseif ($_isfile( [ [ $wavedir ] $+ [ %sound ] $+ .wav ] )) set -u %sfile $ifmatch
n282= elseif ($_isfile( [ $getdir($nopath(%sound)) $+ [ %sound ] ] ) ) set -u %sfile $ifmatch
n283= if ($_isfile($remove(%sfile,"))) {
n284= if (($inwave) || ($inmidi) || ($inmp3)) { !splay stop | splay %soundswitches %sfile | return }
n285= if ($ismedia(%sfile)) splay %soundswitches %sfile
n286= else {
n287= if ($_isfile($_soundplayer(%sfile))) run -n $ifmatch %sfile
n288= else iecho Unable to find sound player for $remove($gettok(%sfile,-1,46),")
n289= }
n290= }
n291= else iecho File does not exist: %sound
n292=
n293= :end
n294= var %tmp = $nofile(%sound)
n295= _set apps lastdir $iif(%tmp,%tmp,$wavedir)
n296=}
n297=ismedia {
n298= var %1 = $remove($1-,")
n299= if ((*.mid iswm %1) || (*.mp3 iswm %1) || (*.wav iswm %1)) return 1
n300=}
n301=soundfile {
n302= var %tmp = * $+ $replace($1-,$chr(32),?) $+ *
n303= if ((*.mp3 iswm $1-) || (*.wav iswm $1-) || (*.mid iswm $1-)) %.file = $findfile($_sounddir(-1,%tmp),%tmp,1)
n304= else {
n305= var %i = 1
n306= while ($gettok(*.mp3 *.wav *.mid,%i,32)) {
n307= %temp = %tmp $+ $ifmatch
n308= %.file = $findfile($_sounddir(-1,%temp),%temp,1)
n309= if (%file) break
n310= inc %i
n311= }
n312= }
n313= return %.file
n314=}
n315=_mp3 {
n316= var %.mp3 = " $+ $remove($1-,") $+ " , %.prop = $prop
n317=
n318= if (*.mp3 !iswm $remove(%.mp3,")) {
n319= if (%.prop == title) return $nopath($remove(%.mp3,"))
n320= if (%.prop == size) return $file(%.mp3).size
n321= return n/a
n322= }
n323=
n324= ; mp3version
n325= ; %.ver = $mp3(%.mp3).version
n326= ; if (%.ver == $null) %.ver = n/a
n327=
n328= ; mp3bitrate
n329= if (%.prop == kbps) {
n330= %.bitrate = $mp3(%.mp3).bitrate
n331= if (%.bitrate == $null) %.bitrate = n/a
n332= return %.bitrate
n333= }
n334=
n335= ; mp3samplerate
n336= if (%.prop == khz) {
n337= %.sample = $mp3(%.mp3).sample
n338= if (%.sample == $null) %.sample = n/a
n339= else %.sample = $calc(%.sample * .001)
n340= return %.sample
n341= }
n342=
n343= ; mp3mode
n344= if (%.prop == mode) {
n345= %.mode = $mp3(%.mp3).mode
n346= if (%.mode == $null) %.mode = n/a
n347= return %.mode
n348= }
n349=
n350= ; mp3length
n351= if (%.prop == len) {
n352= %.len = $mp3(%.mp3).length
n353= if (%.len == $null) {
n354= %.bitrate = $mp3(%.mp3).bitrate
n355= %amp.length.1 = $remove($duration($calc(($file($shortfn(%.mp3)).size * 8) / (%.bitrate * 1000) - 1)),ks,k,ays,ay,ins,in,ecs,ec,rs,r,$chr(32))
n356= %amp.length.mins = $gettok(%amp.length.1,1,32)
n357= %amp.length.sec = $gettok(%amp.length.1,2,32)
n358= %.len = %amp.length.mins $+ %amp.length.sec
n359= }
n360= if (%.len == $null) %.len = n/a
n361= else %.len = $remove($duration($calc(%.len * .001)),ks,k,ays,ay,ins,in,ecs,ec,rs,r,$chr(32))
n362= return %.len
n363= }
n364=
n365= ; mp3size
n366= if (%.prop == size) {
n367= %.size = $file(%.mp3).size
n368= if (%.size <= 1024) %.size = $remove($round(%.size,2),.00) $+ b
n369= elseif ($calc(%.size / 1024) <= 1024) %.size = $remove($round($ifmatch,2),.00) $+ kb
n370= elseif ($calc(%.size / (1024 ^ 2)) <= 1024) %.size = $remove($round($ifmatch,2),.00) $+ mb
n371= elseif ($calc(%.size / (1024 ^ 3)) <= 1024) %.size = $remove($round($ifmatch,2),.00) $+ gb
n372= else %.size = n/a
n373= return %.size
n374= }
n375=
n376= if (%.prop == title) {
n377= %.title = $mp3(%.mp3).title
n378= %.artist = $mp3(%.mp3).artist
n379= if ((%.title) && (%.artist)) return %.artist - %.title
n380= return $replace($remove($nopath(%.mp3),.mp3,$chr(40),$chr(41)),_,$chr(32))
n381=
n382= ;bread $shortfn(%.mp3) $calc($file(%.mp3).size - 128) 128 &title
n383= ;if ($bvar(&title,1-3).text == TAG) return $replace($bvar(&title,34-63).text,$chr(40),$chr(32),$chr(41),$chr(32)) - $replace($bvar(&title,4-33).text,$chr(40),$chr(32),$chr(41),$chr(32))
n384= ;else return $replace($remove($nopath(%.mp3),.mp3,$chr(40),$chr(41)),_,$chr(32))
n385= }
n386=}
n387=;eof