GMclosure [main]

class GMclosure

  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: 
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]