mp3.mrc — File Browser

mp3.mrcv3.01 / mp3.mrcv3.01 / mp3a.mrc

mp3a.mrc — 13.41 KB — Download this file

; script  ( mp3.mrc       )
; version ( 3.01a         )
; author  ( erawtic       )
; release ( 10/27/98      )
; file    ( menu/popups   )

; Menu routine for MP3 Setup window.
menu @MP3聽Setup {
  sclick:{
    if ($inrect($mouse.x,$mouse.y,105,5,290,20)) {
      set %mp3.dir $$sdir="Select directory to MP3's:"
      drawrect -f $active 0 1 106 6 286 17
      drawtext -cr $active $rgb(text) "MS Sans Serif" 15 110 8 280 999 %mp3.dir
    }
    elseif ($inrect($mouse.x,$mouse.y,105,25,290,20)) {
      set %mp3.player $$dir="Select MP3 player:" [ [ $mp3.s(dir) ] $+ [ *.exe ] ]
      drawrect -f $active 0 1 106 26 286 17
      drawtext -cr $active $rgb(text) "MS Sans Serif" 15 110 28 280 999 %mp3.player
    }
    elseif ($inrect($mouse.x,$mouse.y,10,60,15,15)) {
      if (%mp3.checked.1) {
        unset %mp3.checked.1
        drawtext -c $active 0 "Terminal" 12 11 65 999 999 没
      }
      else {
        set %mp3.checked.1 1
        drawtext -cr $active $rgb(text) "Terminal" 12 11 65 999 999 没
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,10,85,15,15)) {
      if (%mp3.checked.2) {
        unset %mp3.checked.2
        drawtext -c $active 0 "Terminal" 12 11 85 999 999 没
      }
      else {
        set %mp3.checked.2 1
        drawtext -cr $active $rgb(text) "Terminal" 12 11 85 999 999 没
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,10,105,15,15)) {
      if (%mp3.checked.3) {
        unset %mp3.checked.3
        drawtext -c $active 0 "Terminal" 12 11 105 999 999 没
      }
      else {
        set %mp3.checked.3 1
        drawtext -cr $active $rgb(text) "Terminal" 12 11 105 999 999 没
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,280,58,110,25)) {
      set %mp3.button.1 1
      drawbuttondown $active 1 280 58 110 25
    }
    elseif ($inrect($mouse.x,$mouse.y,280,93,110,25)) {
      set %mp3.button.2 1
      drawbuttondown $active 1 280 93 110 25
    }
  }
  uclick:{
    unset %mp3.button*
    if ($inrect($mouse.x,$mouse.y,280,58,110,25)) {
      drawbutton $active 1 280 58 110 25
      if (%mp3.dir) {
        mp3.w dir %mp3.dir
        if ($mp3.s(prevdir) == $null) mp3.w prevdir %mp3.dir $+ *.mp3
      }
      if (%mp3.player) mp3.w player %mp3.player
      if (%mp3.checked.1) mp3.w show yes
      else { mp3.w show no }
      if (%mp3.checked.2) mp3.w steal yes
      else { mp3.w steal no }
      if (%mp3.checked.3) mp3.w request yes
      else { mp3.w request no }
      unset %mp3.dir %mp3.player %mp3.checked*
      .timer -m 1 400 window -c $active
    }
    elseif ($inrect($mouse.x,$mouse.y,280,93,110,25)) {
      drawbutton $active 1 280 93 110 25
      unset %mp3.dir %mp3.player %mp3.checked*
      .timer -m 1 400 window -c $active
    }
  }
  mouse:{
    titlebar $active - $mouse.x $mouse.y
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,280,58,110,25) == $false) && (%mp3.button.1) && (%mp3.button.1a == $null)) {
      drawbutton $active 1 280 58 110 25
      set %mp3.button.1a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,280,93,110,25) == $false) && (%mp3.button.2) && (%mp3.button.2a == $null)) {
      drawbutton $active 1 280 93 110 25
      set %mp3.button.2a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,280,58,110,25)) && (%mp3.button.1) && (%mp3.button.1a)) {
      drawbuttondown $active 1 280 58 110 25
      unset %mp3.button.1a
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,280,93,110,25)) && (%mp3.button.2) && (%mp3.button.2a)) {
      drawbuttondown $active 1 280 93 110 25
      unset %mp3.button.2a
    }
  }
}

; Menu routine for GUI MP3 Player window.
menu @MP3聽Player {
  sclick:{
    if ($inrect($mouse.x,$mouse.y,185,165,15,15)) {
      if (%mp3.checked.3) {
        unset %mp3.checked.3
        drawtext -c $active 0 "Terminal" 12 186 165 999 999 没
        mp3.w repeat no
      }
      else {
        set %mp3.checked.3 1
        drawtext -cr $active $rgb(text) "Terminal" 12 186 165 999 999 没
        mp3.w repeat yes
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,270,165,15,15)) {
      if (%mp3.checked.4) {
        unset %mp3.checked.4
        drawtext -c $active 0 "Terminal" 12 271 165 999 999 没
        mp3.w shuffle no
      }
      else {
        set %mp3.checked.4 1
        drawtext -cr $active $rgb(text) "Terminal" 12 271 165 999 999 没
        mp3.w shuffle yes
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,10,10,90,25)) {
      set %mp3.button.3 1
      drawbuttondown $active 1 10 10 90 25
    }
    elseif ($inrect($mouse.x,$mouse.y,10,45,90,25)) {
      set %mp3.button.4 1
      drawbuttondown $active 1 10 45 90 25
    }
    elseif ($inrect($mouse.x,$mouse.y,10,80,90,25)) {
      set %mp3.button.5 1
      drawbuttondown $active 1 10 80 90 25
    }
    elseif ($inrect($mouse.x,$mouse.y,10,115,90,25)) {
      set %mp3.button.6 1
      drawbuttondown $active 1 10 115 90 25
    }
    elseif ($inrect($mouse.x,$mouse.y,10,150,90,25)) {
      set %mp3.button.7 1
      drawbuttondown $active 1 10 150 90 25
    }
  }
  uclick:{
    unset %mp3.button*
    if ($inrect($mouse.x,$mouse.y,10,10,90,25)) {
      drawbutton $active 1 10 10 90 25
      set %mp3.play $$dir="Select MP3 to play:" $mp3.s(prevdir)
      .timermp3player off
      run -n $mp3.s(player) " $+ %mp3.play $+ "
      mp3.w last %mp3.play
      mp3.w prevdir $nofile(%mp3.play) $+ *.mp3
      mp3.player %mp3.play
      .timermp3player 1 $mp3.t($mp3.len(%mp3.play)) mp3.next
    }
    elseif ($inrect($mouse.x,$mouse.y,10,45,90,25)) {
      .timermp3player off
      drawbutton $active 1 10 45 90 25
      run -n $mp3.s(player) Stopped
      mp3.clear
    }
    elseif ($inrect($mouse.x,$mouse.y,10,80,90,25)) {
      .timermp3player off
      drawbutton $active 1 10 80 90 25
      set %mp3.play $mp3.r
      run -n $mp3.s(player) " $+ %mp3.play $+ "
      mp3.w last %mp3.play
      mp3.player %mp3.play
      .timermp3player 1 $mp3.t($mp3.len(%mp3.play)) mp3.next
    }
    elseif ($inrect($mouse.x,$mouse.y,10,115,90,25)) {
      .timermp3player off
      drawbutton $active 1 10 115 90 25
      run -n $mp3.s(player) " $+ $mp3.s(last) $+ "
      mp3.player $mp3.s(last)
      .timermp3player 1 $mp3.t($mp3.len($mp3.s(last))) mp3.next
    }
    elseif ($inrect($mouse.x,$mouse.y,10,150,90,25)) {
      .timermp3player off
      drawbutton $active 1 10 150 90 25
      run -n $mp3.s(player) Stopped
      mp3.clear
      .timer -m 1 300 window -c $active
    }
  }
  mouse:{
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,10,90,25) == $false) && (%mp3.button.3) && (%mp3.button.3a == $null)) {
      drawbutton $active 1 10 10 90 25
      set %mp3.button.3a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,10,90,25)) && (%mp3.button.3) && (%mp3.button.3a)) {
      drawbuttondown $active 1 10 10 90 25
      unset %mp3.button.3a
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,45,90,25) == $false) && (%mp3.button.4) && (%mp3.button.4a == $null)) {
      drawbutton $active 1 10 45 90 25
      set %mp3.button.4a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,45,90,25)) && (%mp3.button.4) && (%mp3.button.4a)) {
      drawbuttondown $active 1 10 45 90 25
      unset %mp3.button.4a
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,80,90,25) == $false) && (%mp3.button.5) && (%mp3.button.5a == $null)) {
      drawbutton $active 1 10 80 90 25
      set %mp3.button.5a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,80,90,25)) && (%mp3.button.5) && (%mp3.button.5a)) {
      drawbuttondown $active 1 10 80 90 25
      unset %mp3.button.5a
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,115,90,25) == $false) && (%mp3.button.6) && (%mp3.button.6a == $null)) {
      drawbutton $active 1 10 115 90 25
      set %mp3.button.6a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,115,90,25)) && (%mp3.button.6) && (%mp3.button.6a)) {
      drawbuttondown $active 1 10 115 90 25
      unset %mp3.button.6a
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,150,90,25) == $false) && (%mp3.button.7) && (%mp3.button.7a == $null)) {
      drawbutton $active 1 10 150 90 25
      set %mp3.button.7a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,150,90,25)) && (%mp3.button.7) && (%mp3.button.7a)) {
      drawbuttondown $active 1 10 150 90 25
      unset %mp3.button.7a
    }
  }
}

; Menu for GUI MP3 Playlist window.
menu @MP3聽Playlist {
  dclick:{
    if ($mouse.x) return
    if ($findfile($mp3.s(dir),$sline($active,1),0) > 0) {
      set %mp3.play $findfile($mp3.s(dir),$sline($active,1),1)
      drawbuttondown $active 1 10 10 127 25
      .timer -m 1 300 drawbutton $active 1 10 10 127 25
      run -n $mp3.s(player) " $+ %mp3.play $+ "
      mp3.w last %mp3.play
      titlebar $active - $nopath(%mp3.play)
      if ($window(@MP3聽Player)) mp3.player %mp3.play
      unset %mp3.play
    }
  }
  sclick:{
    if ($inrect($mouse.x,$mouse.y,10,10,127,25)) {
      drawbuttondown $active 1 10 10 127 25
      set %mp3.button.8 1
    }
    elseif ($inrect($mouse.x,$mouse.y,10,45,127,25)) {
      drawbuttondown $active 1 10 45 127 25
      set %mp3.button.9 1
    }
    elseif ($inrect($mouse.x,$mouse.y,10,80,127,25)) {
      drawbuttondown $active 1 10 80 127 25
      set %mp3.button.10 1
    }
    elseif ($inrect($mouse.x,$mouse.y,10,115,127,25)) {
      drawbuttondown $active 1 10 115 127 25
      set %mp3.button.11 1
    }
    elseif ($inrect($mouse.x,$mouse.y,10,150,127,25)) {
      drawbuttondown $active 1 10 150 127 25
      set %mp3.button.12 1
    }
  }
  uclick:{
    unset %mp3.button*
    if ($inrect($mouse.x,$mouse.y,10,10,127,25)) {
      drawbutton $active 1 10 10 127 25
      if ($findfile($mp3.s(dir),$sline($active,1),0) > 0) {
        .timermp3player off
        set %mp3.play $findfile($mp3.s(dir),$sline($active,1),1)
        run -n $mp3.s(player) " $+ %mp3.play $+ "
        mp3.w last %mp3.play
        titlebar $active - $nopath(%mp3.play)
        if ($window(@MP3聽Player)) mp3.player %mp3.play
        unset %mp3.play
      }
    }
    elseif ($inrect($mouse.x,$mouse.y,10,45,127,25)) {
      drawbutton $active 1 10 45 127 25
      run -n $mp3.s(player) Stopped
      titlebar $active - Stopped
      .timermp3player off
    }
    elseif ($inrect($mouse.x,$mouse.y,10,80,127,25)) {
      .timermp3player off
      drawbutton $active 1 10 80 127 25
      set %mp3.play $mp3.r
      run -n $mp3.s(player) " $+ %mp3.play $+ "
      mp3.w last %mp3.play
      titlebar $active - $nopath(%mp3.play)
      if ($mp3.f($nopath(%mp3.play))) sline -l $active $mp3.f($nopath(%mp3.play))
      if ($window(@MP3聽Player)) mp3.player %mp3.play
      unset %mp3.play
    }
    elseif ($inrect($mouse.x,$mouse.y,10,115,127,25)) {
      drawbutton $active 1 10 115 125 25
      mp3.list
    }
    elseif ($inrect($mouse.x,$mouse.y,10,150,127,25)) {
      drawbutton $active 1 10 150 127 25
      .timer -m 1 300 window -c $active
    }
  }
  mouse:{
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,10,127,25) == $false) && (%mp3.button.8) && (%mp3.button.8a == $null)) {
      drawbutton $active 1 10 10 127 25
      set %mp3.button.8a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,10,127,25)) && (%mp3.button.8) && (%mp3.button.8a)) {
      drawbuttondown $active 1 10 10 127 25
      unset %mp3.button.8a
    }
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,45,127,25) == $false) && (%mp3.button.9) && (%mp3.button.9a == $null)) {
      drawbutton $active 1 10 45 127 25
      set %mp3.button.9a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,45,127,25)) && (%mp3.button.9) && (%mp3.button.9a)) {
      drawbuttondown $active 1 10 45 127 25
      unset %mp3.button.9a
    }
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,80,127,25) == $false) && (%mp3.button.10) && (%mp3.button.10a == $null)) {
      drawbutton $active 1 10 80 127 25
      set %mp3.button.10a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,80,127,25)) && (%mp3.button.10) && (%mp3.button.10a)) {
      drawbuttondown $active 1 10 80 127 25
      unset %mp3.button.10a
    }
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,115,127,25) == $false) && (%mp3.button.11) && (%mp3.button.11a == $null)) {
      drawbutton $active 1 10 115 127 25
      set %mp3.button.11a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,115,127,25)) && (%mp3.button.11) && (%mp3.button.11a)) {
      drawbuttondown $active 1 10 115 127 25
      unset %mp3.button.11a
    }
    if (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,150,127,25) == $false) && (%mp3.button.12) && (%mp3.button.12a == $null)) {
      drawbutton $active 1 10 150 127 25
      set %mp3.button.12a 1
    }
    elseif (($mouse.key == 1) && ($inrect($mouse.x,$mouse.y,10,150,127,25)) && (%mp3.button.12) && (%mp3.button.12a)) {
      drawbuttondown $active 1 10 150 127 25
      unset %mp3.button.12a
    }
  }
}

; Channel and Status popups.
menu channel,status {
  MP3
  .Setup:{ mp3 setup }
  .-
  .Play
  ..Last one:{ mp3 last }
  ..Specific:{ mp3 spec }
  ..Random:{ mp3 rand }
  ..-
  ..Stop:{ mp3 stop }
  .List
  ..Make list:{ mp3 text }
  ..Play list:{ mp3 list }
  .-
  .Player:{ mp3 gui }
}