as of 17.07.2016, Till Bovermann (v. 0.1.0) [ TAI-studio | 3DMIN | Modality]
MeTA is a performance framework for SuperCollider. It consists of a guideline (this), a structured directory (directory: "proto") and a set of classes (directory "classes").
The MeTAInstall
class provides tools to install a structured directory in which you can set up your performance environment.
MeTAInstall.make(basePath: "/your/path", projectName: "projectName")
MeTA requires you to install the directory "classes" to the SuperCollider extensions folder. If you installed it via the Quarks system, this should already be the case.
Foldernames and filenames may have an initial number that informs about their intended order of execution. If folders (or files within folders) have the same number, their execution does not rely on each other. Common features such as directory and file access/evaluation are implemented in the MeTA class. See its Documentation for details.
main.scd
-- your main performance file. This file comes as a barebone, i.e. it has a lot of stuff already in it which you you can (and should) customise to your liking.tests.scd
-- a notepad/scratchpad for repeating tests such as "post controller values" etc. Initially empty.0_utils
-- tools and utilities
MeTA
class, this folder is initially empty.1_configs
-- configuration files
3_engines
-- (audio/video) engines
Ndef
(possibly also Tdef
, or Pdef
).scd
MeTA:loadGen
, a gen should conform to this interface:
m.gens[\name].getHalo(\onFunc)
-- makes the process audiblem.gens[\name].getHalo(\offFunc)
-- mutes the process, continues playing in the backgroundm.gens[\name].pause
-- pauses rendering (not audible anymore)m.gens[\name].resume
-- resumes renderingm.gens[\name].controlKeys
-- possible mapping points (parameters)m.gens[\name].getSpec
-- all ControlSpecsm.gens[\name].getSpec(<controlKey>)
-- ControlSpec
for a controlKey
m.gens[\name].addSpec(\blink, [1, 10, \exp]);
play
itself during loading but remains muted (e.g. via an on
-parameter set to 0
).3_efx/aux
-- auxilliary effects
.scd
Ndef
In.ar(\in.ar)
slot defined through which the input signal is (automatically) routedplay
-- makes the process audiblestop
-- mutes the process, continues playing in the backgroundpause
-- pauses rendering (not audible anymore)resume
-- resumes renderingcontrolKeys
-- possible mapping points (parameters)getSpec
-- all ControlSpecsgetSpec(<controlKey>)
-- ControlSpec
for a controlKey
Ndef(\blonk).addSpec(\blink, [1, 10, \exp]);
play
itself during loading.ProxySubmix(<filename>+'Aux')
MeTA:loadAux
3_controllers
-- set-up of controllers
MeTA:ctls
mapping
-directory below)3_helperNdefs
-- Ndefs for common tasks
5_mapping
-- mapping strategies between sound engines and controllers.
resources
-- contains data needed for the performance (samples/photos/...)
samples
contains directories with sample-packs to be loaded into buffers
Buffer
s via MeTA:loadSamples
MeTA:samples
images
contains images (no loading routine implemented yet)midi
contains midi-files (no loading routine implemented yet)Alberto de Campo and Hannes Hoelzl provided an initial "structured directory" and many of the configuration files and routines, as well as lots of valuable ideas. Dominik Hildebrand Marques Lopes and Amelie Hinrichsen did lots of testing and suggesting.
3DMIN -- MeTA was initiated within 3DMIN, a project funded by Einsteinstiftung Berlin. Modality -- controller access in SuperCollider made easy by nice people!