-- | Event Extenders
module CsoundExpr.Opcodes.Midi.Extender
    (release,
     xtratim)
where



import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined



-- | * opcode : release
--  
--  
-- * syntax : 
--  
--  >   kflag release
--  
--  
-- * description : 
--  
--  Provides a way of knowing when a note off message for the
-- current note is received. Only a noteoff message with the same
-- MIDI note number as the one which triggered the note will be
-- reported by release.
--  
--  
-- * url : <http://www.csounds.com/manual/html/release.html>
 
release :: Krate
release = opcode "release" args
  where args = []


-- | * opcode : xtratim
--  
--  
-- * syntax : 
--  
--  >   xtratim iextradur
--  
--  
-- * description : 
--  
--  Extend the duration of real-time generated events and handle
-- their extra life (Usually for usage along with release instead of
-- linenr, linsegr, etc).
--  
--  
-- * url : <http://www.csounds.com/manual/html/xtratim.html>
 
xtratim :: Irate -> SignalOut
xtratim i0extradur = outOpcode "xtratim" args
  where args = [to i0extradur]