MP3 Cutter v1.0b

By L4roXyL on Mar 16, 2013

MP3 Cutter v1.0b

Use manual: /mp3cut (sample: /mp3cut 00:15 02:48)
Use pc-win editors: /mp3cut

No dll/com etc.

Image

Image

Image

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;# programme: MP3 Cutter v1.0b                                                ;
;# written by: l4roxyl - (Hasan AYDENÄ°Z)                                      ;
;# visit scripting: http://www.mircscripting.net                              ;
;# contact: l4roxyl[at]mircscripting[dot]net                                  ;
;# use manual: /mp3cut <first-time> <last-time> - sample: /mp3cut 00:37 01:45 ;
;# use pcwin programme: /mp3cut                                               ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:load: {
  var %_e echo -acp info ***
  %_e MP3 Cutter v1.0b loaded. 
  %_e Use: $_m(b) $+ /mp3cut [<first-time>] [<last-time>]
  %_e Sample manual: $_m(b) $+ /mp3cut 00:25 00:45
  %_e Visit scripting site: $_m(b) $+ http://www.mircscripting.net
  mp3cut
}
alias _m {
  if ($isid) {
    if (!$1) return @mp3
    if ($1 = i) return $insong
    if ($1 = mx) return $mouse.x
    if ($1 = my) return $mouse.y
    if ($1 = _ip) return $insong.pos
    if ($1 = _il) return $insong.length
    if ($1 = b) returnex $chr(2) $+ $2-
    if ($1 = _in_pos) return $time($int($calc($insong.pos / 1000)),nn:ss)
    if ($1 = _in_inl) return $int($calc($insong.pos * 300 / $insong.length))
    if ($1 = _in_l) return $int($calc($iif($sound($2).length,$v1,$insong.length) / 1000))
    if ($1 = _vl) return v $int($round($calc($vol(mp3) / 65535 * 100),0)) $+ $str($chr(160),10)
  }
  if ($1 = dt) drawtext $2-
  if ($1 = _h) hadd -m _begin $2-
  if ($1 = dr) drawrect -r $+ $iif($2 = f,f @MP3 $3-,$chr(32) @MP3 $2-) 
  if ($1 = w1) $iif($input(Just select Begin & End time!,wo,Warning!) = $true,return,return)
  if ($1 = w2) $iif($input(Not to remark begin time!,wo,Warning!) = $true,return,return) 
  if ($1 = w3) $iif($input(Now playing MP3! $+ $crlf $+ Are you sure select a new MP3?,yqd,Select a new MP3) = $false,return) 
  if ($1 = w4) $iif($input(Not playing to file.,wo,Warning!) = $true,return,return)
  if ($1 = w5) $iif($input(Not selected MP3 save dir!,wo,Warning!) = $true,return,return)
  if ($1 = w6) $iif($input(Not selected file.,wo,Warning!) = $true,return,return)
  if ($1 = w7) $iif($input(This not sound file!,wo,Warning!) = $true,noop,noop)
}
alias _rect {
  var %_r = return
  if ($inrect($1,$2,5,25,60,20)) %_r 5 25 
  if ($inrect($1,$2,5,95,60,20)) %_r 5 95 
  if ($inrect($1,$2,85,95,60,20)) %_r 85 95 
  if ($inrect($1,$2,165,95,60,20)) %_r 165 95 
  if ($inrect($1,$2,245,95,60,20)) %_r 245 95
  if ($inrect($1,$2,5,55,30,20)) %_r 5 55 30 20
  if ($inrect($1,$2,315,105,10,10)) %_r 315 105 10 10
  if ($inrect($1,$2,330,105,10,10)) %_r 330 105 10 10
  if ($inrect($1,$2,5,80,30,10) && $hget(_begin,b)) { %_r 5 80 30 10 }
}
alias _cn if (!$insong) { _m w4 | halt }
alias _c if ($1 = rf) return 15790320 | if ($1 = rs) return 10526880
alias _wo {
  if (!$regex($right($nopath($1-),3),/^(mp3|wav|mid)$/gi)) {
    _m w7
    if ($window(@mp3)) {
      _m dt -rb @MP3 0 $_c(rf) Verdana 9 75 29 Not selected mp3 file. (yet)
      _dsg
      $(%_s = )
      splay stop
    }
    halt
  }
}
alias _ps {
  _m dr f $_c(rs) 1 5 55 30 20 
  _m dt -ro @MP3 0 Verdana $iif($1 = play,9 9 59,16 16 55) $1
}
alias _in {
  if (!$insong.pos) {
    $iif($input(This sound file ruined! Use manual with this song. $+ $&
      $crlf $+ /mp3cut <first-time> <last-time>,wo,Warning!) = $true,mp3cut,mp3cut)
    mp3cut 
  }
}
alias _secs {
  if ($insong && $window(@mp3)) {
    var %z = $time($int($calc($_m(_il) / 1000)),nn:ss), %x = $_m(_in_pos), %? = $_m(_in_inl)
    _m dt -rbo @MP3 0 $_c(rf) Verdana 9 271 75 %x / %z
    _m dr f $iif(%?,0,$_c(rs)) 1 40 62 $iif(%?,%?,300) 5
  }
  else { .timer_secs off | _ps Play | _m dr f $_c(rs) 1 40 62 300 5 }
}
alias _ply_slc {
  var %? = $_m(_in_inl),%- = $calc($hget(_begin,e_t) * 1000), %x = $int($calc($_m(_ip) / 1000))
  var %l = $time($calc($hget(_begin,e_t) - %x),nn:ss),%_d = _m dt -rbo @MP3 0 $_c(rf) Verdana 9
  %_d 205 75 Ply: %l /
  %_d 271 75 $_m(_in_pos)
  _m dr f 0 1 $calc(%? +40) 62 1 5
  if ($_m(_ip) > %-) { .timer_ply_s -p | splay pause }
}
alias -l _mov { 
  var %dx = $calc($mouse.dx -$2),%dy = $calc($mouse.dy -$3)
  if ($window($1)) window $v1 %dx %dy 
  $iif($mouse.key & 1,.timer $+ $ticks -m 1 0 _mov $1-) 
}
alias _vol_ud {
  vol -wmp $calc($vol(mp3) $2 $1)
  _m dt -rbo @MP3 0 $_c(rf) Verdana 8 315 94 $_m(_vl) 
  $iif($mouse.key & 1,.timer $+ $ticks -m 1 60 _vol_ud $1-)
}
alias _pback {
  var %_tt = $2-3, %_f = $1, %_fb = $lof($1)
  var %_sc = $_m(_in_l,%_f)
  var %_one_s = $calc(%_fb / %_sc)
  var %_last = $round($calc(%_one_s * $2),0) $round($calc(%_one_s * $3),0) 
  var %_total = $calc($token(%_last,2,32) - $token(%_last,1,32))
  bread %_f %_last &d
  bwrite $4 1 %_total &d
}
alias _dsg {
  $iif($hget(_begin),hfree $v1)
  .timer_secs off
  .timer_ply_s off
  drawfill -r @MP3 $_c(rf) $_c(rf) 0 0
  var %_dt = _m dt -ro @MP3 0 Verdana
  _m dt -rob @MP3 0 $_c(rf) Verdana 8 315 94 $_m(_vl)
  _m dr f $_c(rf) 1 195 77 200 10 40 68 300 8 5 80 50 10 40 62 300 5
  _m dr f $_c(rs) 1 $&
    0 0 350 20 $&
    5 25 60 20 $&
    5 55 30 20 $&                  
    40 62 300 5 $&
    5 95 60 20 $&
    85 95 60 20 $&   
    165 95 60 20 $&
    245 95 60 20 $&
    315 105 10 10 $&
    330 105 10 10 $&
    325 6 8 8 $&
    335 6 8 8
  %_dt 9 6 5 MP3 Cutter v1.0b
  %_dt 9 9 29 Open MP3
  %_dt 9 9 59 Play
  %_dt 9 19 99 Begin
  %_dt 9 103 99 End
  %_dt 9 174 99 Play Slc.
  %_dt 9 253 99 Save Slc.
  %_dt 9 317 98 _
  %_dt 9 331 103 +
  %_dt 9 327 5 $chr(4) 
  %_dt 9 335 4 $chr(215)
}
alias mp3cut {
  if (!$isdir($mircdircutter)) mkdir Cutter 
  if ($1) {
    var %_w = echo -eac info *** MP3 Cutter info: $_m(b) $+ $!1-2( $+ $1-2 / invalid format) - $&
      Sample: $_m(b) $+ /mp3cut 01:10 02:15 $_m(b),%_d1 = $duration($1), %_d2 = $duration($2)
    if (!$regex($1-2,/^(\d{2}:\d{2}\s\d{2}:\d{2})$)) { %_w | return }
    if (%_d2 < %_d1 || %_d1 = %_d2) { %_w | return }
    var %_mf = $sfile(*.mp3,Select MP3 File,Select)
    if (!%_mf) {
      $token(%_w,1-7,32) $_m(b) $+ Not select mp3 file! 
      return 
    }
    else {
      _wo %_mf
      if ($_m(_in_l,%_s) < %_d1 || $_m(_in_l,%_s) < %_d2) { 
        $token(%_w,1-7,32) $_m(b) $+ File length small with entered time!
        return 
      }
      $iif($window(@mp3),window -c @mp3)
      var %_n = $nopath(%_mf),%_t = $ticks
      _pback $shortfn(%_mf) $duration($1) $duration($2) $shortfn($mircdircutter) $+ Cutter_ $+ $regsubex(%_n,/(\s)/g,_)
      $iif($input(MP3 cut successfully completed! $&
        $+ $crlf $+ Procress Time: $calc($ticks - %_t) $&
        $+ ms.,io,Completed!) = $true,run $mircdircutter,return)
      return
    }
  }
  $(%_s = ) 
  $(%_ = 245 95)
  splay stop
  vol -wmp 32767.5
  $iif($window($_m),window -c $v1)
  window -paCk0w0dB +b @MP3 -1 -1 350 125 - - - - $mircexe
  titlebar $_m Cutter v1.0b
  _dsg
  _m dt -r @MP3 0 Verdana 9 75 29 Not selected mp3 file.
}
menu @MP3 {
  leave:if (%_ != 5 80 30 10) { _m dr $_c(rs) 1 %_ 60 20 }
  mouse: {
    var %_; = _m dt -rbo @MP3 $_c(rf) $_c(rs) Verdana 9, $&
      %_;; _m dt -rbo @MP3 0 $_c(rs) Verdana 9 , %_st = $str($chr(160),2)
    if ($inrect($_m(mx),$_m(my),325,6,8,8)) %_; 327 5 $chr(4)
    else %_;; $token(%_;,2,38) 327 5 $chr(4)
    if ($inrect($_m(mx),$_m(my),335,6,8,8)) %_; 335 4 $chr(215)
    else %_;; 335 4 $chr(215)
    if ($inrect($_m(mx),$_m(my),40,62,300,5) && %_s) { 
      $iif($hget(_ml),hfree _ml)
      var %k = $time($int($calc(($sound(%_s).length / 300 * ($_m(mx) -40)) /1000)),nn:ss)
      _m dt -rb $menu 0 $_c(rf) Verdana 8 $iif($_m(mx) >= 309,309,$_m(mx)) 50 $&
        $+($chr(160),$iif($_m(mx) != 340,%k,$time($calc($_m(_il) / 1000),nn:ss)),%_st)
    }
    else {
      _m dr f $_c(rf) 1 40 50 305 10
    }
    if ($_rect($_m(mx),$_m(my))) {
      $(%_ = $v1)
      _m dr 0 1 %_ 60 20
    }
    else { 
      if (%_ = 5 80 30 10 && !$hget(_begin)) { _m dr $_c(rf) 1 %_ | return }
      if (%_) _m dr $_c(rs) 1 %_ 60 20 
    }
  }
  sclick: {
    if ($inrect($_m(mx),$_m(my),0,0,350,20)) { 
      _mov $menu $calc($mouse.dx - $window($menu).x) $calc($mouse.dy - $window($menu).y)
    }
    if ($inrect($_m(mx),$_m(my),325,6,8,8)) window -n $_m
    if ($inrect($_m(mx),$_m(my),335,6,8,8)) { 
      window -c $_m
      %_s = 
      splay stop 
      .timer_secs off 
      .timer_ply_s off
    }
    if ($inrect($_m(mx),$_m(my),5,95,60,20)) {
      _cn
      if (!$timer(_ply_s)) {
        var %? = $_m(_in_inl), %x = $_m(_in_pos)
        _m dr f $_c(rf) 1 37 68 300 8
        _m dr f $rgb(255,0,0) 1 $calc(%? +39) 68 1 5
        _m dt -rbo @MP3 0 $_c(rs) Verdana 9 19 99 %x
        _m dr f $_c(rs) 1 5 80 30 10
        _m dt -ro @MP3 0 Verdana 9 7 78 reset
        _m _h b $calc(%? +39)
        _m _h b_t $int($calc($_m(_ip) / 1000))
        if ($hget(_begin,e_t)) hdel _begin e_t
        return
      }
    }
    if ($inrect($_m(mx),$_m(my),85,95,60,20)) {
      _cn
      if (!$hget(_begin,b)) { 
        _m w2 
        return 
      }
      var %? = $_m(_in_inl), %x = $_m(_in_pos)
      if ($hget(_begin,b) < $calc(%? +39)) {
        _m _h e $v2
        _m _h e_t $int($calc($_m(_ip) / 1000))
        _m dr f $_c(rf) 1 40 68 300 8
        _m dt -rbo @MP3 0 $_c(rs) Verdana 9 103 99 %x
        _m dr f $rgb(255,0,0) 1 $hget(_begin,e) 68 1 5 $iif($hget(_begin,b),$v1 68 1 5)
        _m dr f $rgb(255,0,0) 1 $iif($hget(_begin,b),$v1) 70 $iif($hget(_begin,e),$calc($v1 - $hget(_begin,b))) 1
      }
    }
    if ($inrect($_m(mx),$_m(my),165,95,60,20)) {
      if ($hget(_begin,b_t) && $hget(_begin,e_t)) {
        if (!$timer(_secs)) .timer_secs -m 0 10 _secs
        _m dr f $_c(rs) 1 40 62 300 5
        .timer_secs -p
        hadd -m _sp $ticks
        splay $shortfn(%_s) $calc($hget(_begin,b_t) * 1000)
        var %? = $_m(_in_inl)
        .timer_ply_s -m 0 10 _ply_slc
        _ps Play
      }
      else _m w1
    }
    if ($inrect($_m(mx),$_m(my),5,25,60,20)) {
      if ($insong) { _m w3 }
      $(%_s = $sfile(*.mp3,Select MP3 File,Select))
      _m dr f $_c(rf) 1 67 25 300 20
      if (%_s) {
        splay stop 
        _dsg
        _wo %_s
        var %f = $shortfn(%_s), %t = $time($_m(_in_l,%_s),nn:ss), %sf = $nopath(%_s)
        _m dt -rbo @MP3 0 $_c(rf) Verdana 9 271 75 00:00 / %t
        _m dt -rbp @MP3 0 $_c(rf) Verdana 9 75 29 $_m(b) $+ $&
          Selected file: $_m(b) $+ $iif($len(%sf) >= 30,$left(%sf,30) $+ ..,%sf)
      }
      else {
        splay stop
        _dsg
        _m dt -rb @MP3 0 $_c(rf) Verdana 9 75 29 Not selected mp3 file. (yet)
      }
    }
    if ($inrect($_m(mx),$_m(my),5,55,30,20)) {
      if (!%_s) _m w6
      else {
        $iif($hget(_sp),hfree _sp)
        _m dr f $_c(rf) 1 195 77 70 10
        _m dr f $_c(rs) 1 40 62 300 5
        if ($timer(_ply_s)) {
          .timer_ply_s off
          .timer_secs -r
          splay resume
          _ps ıı
          return
        }
        if (!$insong || $insong.pause) {
          splay $iif($insong.pause,resume) $shortfn(%_s)
          .timer 1 2 _in
          _ps ıı
          if ($timer(_secs).pause) { 
            .timer_secs -r 
            _ps ıı
          }
          elseif !$timer(_secs) { .timer_secs -m 0 10 _secs }
        }
        elseif (!$timer(_secs).pause) { 
          splay pause 
          .timer_secs -p 
          _secs 
          _ps Play
        }
      }
    }
    if ($inrect($_m(mx),$_m(my),5,80,30,10)) {
      if ($hget(_begin,b)) {
        _m dt -rbo @MP3 0 $_c(rs) Verdana 9 19 99 Begin
        _m dt -rbo @MP3 0 $_c(rs) Verdana 9 103 99 End $+ $str($chr(160),4)
        _m dr f $_c(rf) 1 40 68 300 8 5 80 50 10 195 77 70 10
        .timer_ply_s off
        if ($timer(_secs).pause) { .timer_secs -r | splay resume | _ps ıı }
        $iif($hget(_begin),hfree _begin)
        $iif($hget(_sp),hfree _sp)
      }
    }
    if ($inrect($_m(mx),$_m(my),245,95,60,20)) {
      if ($hget(_begin,b) && $hget(_begin,e)) {
        var %_dir = $sdir($mircdir,Select a dir?)
        if (!%_dir) { _m w5 }
        else {
          var %_f = $nopath(%_s),%_t = $ticks
          _pback $shortfn(%_s) $hget(_begin,b_t) $hget(_begin,e_t) %_dir $+ Cutter_ $+ $regsubex(%_f,/(\s)/g,_)        
          $iif($input(MP3 cut successfully completed! $&
            $+ $crlf $+ Procress Time: $calc($ticks - %_t) $&
            $+ ms.,io,Completed!) = $true,run %_dir,return)
        }
      }
      else _m w1
    }
    if ($inrect($_m(mx),$_m(my),330,105,10,10)) {
      if ($vol(mp3) < 65535) _vol_ud 655 +
    }
    if ($inrect($_m(mx),$_m(my),315,105,10,10)) {
      if ($vol(mp3) > 0) _vol_ud 655 -
    }
    if ($inrect($_m(mx),$_m(my),40,62,300,5)) {
      if ($insong) {
        var %? = $_m(_in_inl),%_mx = $calc($_m(mx) -39), $&
          %_drf = _m dr f $_c(rs) 1 $_m(mx) 62 $calc(340 - $_m(mx)) 5, $&
          %_sp = splay seek $int($calc($_m(_il) / 300 * %_mx))
        if ($hget(_sp)) {
          if ($mouse.x < $hget(_begin,e) && $mouse.x > $hget(_begin,b)) {
            %_sp
            splay resume
            $iif($timer(_ply_s).pause,.timer_ply_s -r)
            _m dr f 0 1 $hget(_begin,b) 62 $iif(%?,%?,300) 5
            %_drf
            return
          }
        }
        elseif (!$hget(_sp)) {
          %_sp
          _m dr f 0 1 40 62 $iif(%?,%?,300) 5
          %_drf
        }
      }
    }
  }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.