-- | VST for Csound module CsoundExpr.Opcodes.Plugin.Vst4cs (vstinit, vstmidiout, vstnote, vstinfo, vstbankload, vstprogset, vstedit) where import CsoundExpr.Base.Types import CsoundExpr.Base.MultiOut import CsoundExpr.Base.SideEffect import CsoundExpr.Base.UserDefined -- | * opcode : vstinit -- -- -- * syntax : -- -- > instance vstinit ilibrarypath [,iverbose] -- -- -- * description : -- -- vstinit is used to load a VST plugin into memory for use with -- the other vst4cs opcodes. Both VST effects and instruments -- (synthesizers) can be used. -- -- -- * url : vstinit :: [Irate] -> Irate -> Irate vstinit i0init i1librarypath = opcode "vstinit" args where args = [to i1librarypath] ++ map to i0init -- | * opcode : vstmidiout -- -- -- * syntax : -- -- > vstmidiout instance, kstatus, kchan, kdata1, kdata2 -- -- -- * description : -- -- vstmidiout is used for sending MIDI information to a VST plugin. -- -- -- * url : vstmidiout :: (K k0, K k1, K k2, K k3) => Irate -> k0 -> k1 -> k2 -> k3 -> SignalOut vstmidiout i0nstance k1status k2chan k3data1 k4data2 = outOpcode "vstmidiout" args where args = [to i0nstance, to k1status, to k2chan, to k3data1, to k4data2] -- | * opcode : vstnote -- -- -- * syntax : -- -- > vstnote instance, kchan, knote, kveloc, kdur -- -- -- * description : -- -- vstnote sends a MIDI note with definite duration to a VST -- plugin. -- -- -- * url : vstnote :: (K k0, K k1, K k2, K k3) => Irate -> k0 -> k1 -> k2 -> k3 -> SignalOut vstnote i0nstance k1chan k2note k3veloc k4dur = outOpcode "vstnote" args where args = [to i0nstance, to k1chan, to k2note, to k3veloc, to k4dur] -- | * opcode : vstinfo -- -- -- * syntax : -- -- > vstinfo instance -- -- -- * description : -- -- vstinfo displays the parameters and the programs of a VST -- plugin. -- -- -- * url : vstinfo :: Irate -> SignalOut vstinfo i0nstance = outOpcode "vstinfo" args where args = [to i0nstance] -- | * opcode : vstbankload -- -- -- * syntax : -- -- > vstbankload instance, ipath -- -- -- * description : -- -- vstbankload is used for loading parameter banks to a VST plugin. -- -- -- * url : vstbankload :: Irate -> Irate -> SignalOut vstbankload i0nstance i1path = outOpcode "vstbankload" args where args = [to i0nstance, to i1path] -- | * opcode : vstprogset -- -- -- * syntax : -- -- > vstprogset instance, kprogram -- -- -- * description : -- -- vstprogset sets one of the programs in an .fxb bank. -- -- -- * url : vstprogset :: (K k0) => Irate -> k0 -> SignalOut vstprogset i0nstance k1program = outOpcode "vstprogset" args where args = [to i0nstance, to k1program] -- | * opcode : vstedit -- -- -- * syntax : -- -- > vstedit instance -- -- -- * description : -- -- vstedit opens the custom GUI editor widow for a VST plugin. Note -- that not all VST plugins have custom GUI editors. It may be -- necessary to use the --displays command-line option to ensure -- that Csound handles events from the editor window and displays it -- properly. -- -- -- * url : vstedit :: Irate -> SignalOut vstedit i0nstance = outOpcode "vstedit" args where args = [to i0nstance]