a closure is an object embedding a GeoMaestro scene and a comprehensive set-up of distortion functions associated to this scene it can be used as a storage for data or as a reference environment for algorithms
See:
wGMtoy
Related topics: closure
Documented methods:
getEv
exportEv
importEv
swapEv
getDF
importDF
setthisDF
exportDF
swapDF
projcall
proj
method .getEv()
returns the closure event scene
See:
.exportEv
.importEv
.swapEv
method .exportEv()
sets the global Ev scene from the closure event scene
See:
.getEv
.importEv
.swapEv
method .importEv({ev})
sets the closure event scene by copying ev
(if ev is not present, copies the global Ev scene)
See:
.getEv
.exportEv
.swapEv
method .swapEv()
swaps the closure event scene and the global Ev scene
See:
.getEv
.exportEv
.importEv
method .getDF()
returns the array embedding the distortion functions for the closure
See:
.importDF
.exportDF
.setthisDF
.swapDF
method .importDF(df)
sets all distortions functions in the closure from array df
if no arguments, sets the df from the global environment
See:
.getDF
.exportDF
.setthisDF
.swapDF
method .setthisDF(ch, type, val)
set one single distortion function
type is either "Volume", "Pit", "Dur", "Pan", "Time", "Mer", "CScore"
or "VolumeArgs", "PitArgs", etc.
the corresponding function for channel ch is set to value val
See:
.importDF
method .exportDF()
set the global distortion functions from the ones in the closure
See:
.importDF
.getDF
.swapDF
method .swapDF()
swaps the global distortion functions and the ones from the closure
See:
.importDF
.exportDF
method .projcall(strcall)
evaluate strcall (a string of KeyKit code) after having processed
it in the following manner:
- all "{o}" are replaced by the closure id
- if there is no "{o}", a terminal "()" is replaced by "(the closure id)"
or a terminal ")" is replaced by ", the closure id)"
this allows projections to be defined relatively to the closure
See:
.proj
method .proj(pfunc,pargs)
calls the function pfunc (supposedly a projector)
with arguments pargs (an array as returned by GetArguments)
one more argument is used: the closure id
this makes the projection happen within the closure
See:
.projcall
GetArguments
GMclosure [main]