diff options
author | Florian Jung <flo@thinkpad.(none)> | 2010-12-31 16:33:17 +0100 |
---|---|---|
committer | Florian Jung <flo@thinkpad.(none)> | 2010-12-31 16:33:17 +0100 |
commit | ff2f14ab35cf1cb2ded11b4ae86d24dda738b445 (patch) | |
tree | 3e35d112243bf987f66359a53e4ff9261bdc6d1b /note_compiler/IDEE | |
parent | d46f6ee0a6298ff58c6f4f0647d49fb4a76f9ea9 (diff) |
Add initial code for the note-compiler
The note-compiler now has a Parser class which knows about possible
parameter changes (by controller, velocity or simply user definition).
Furthermore, several files were adapted (by stripping unneeded code,
adding the bool foo_const variables etc.).
Small fix in util.c which causes extract_var("foo") to return "foo"
instead of "".
Fixes in both Makefiles.
Diffstat (limited to 'note_compiler/IDEE')
-rw-r--r-- | note_compiler/IDEE | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/note_compiler/IDEE b/note_compiler/IDEE new file mode 100644 index 0000000..fc28809 --- /dev/null +++ b/note_compiler/IDEE @@ -0,0 +1,29 @@ +Die Programmdatei wird geparst. Der Parser achtet hierbei auf folgendes: + - Initialwert der Parameter + - werden die Parameter jemals geändert? + +Parameter, die nie geändert werden, werden hardgecodet. +Parameter, die geändert werden können, nicht. + +Wann können Parameter verändert werden? + - per controller (set_param) + - per velocity (pfactor, apply_pfactor etc.) + +get_sample (und letztendlich auch alle anderen funktionen) folgender- +maßen durchgehen: + +z.B. bei if (sync_factor): wenn sync-factor variabel ist, codestelle +so übernehmen. sonst entweder das if rauslassen und nur den nutzteil +übernehmen, oder den ganzen teil rauslassen. + + +bei for (i=0;i<n_oscillators;i++) jeden osc einzeln eincodieren. +jeweils relevante teile übernehmen, rest rauslassen + +bei konstanten werte diese hardcoden + +envelopes können ggf. weggelassen werden, wenn folgendes gilt: +attack=0, decay=egal, sustain=1.0, release>9999 + +arrays werden als viele pointer realisiert. +also nicht oscillator[0], osc[1] etc sondern osc0, osc1 etc |