summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO26
-rw-r--r--TODO.done19
2 files changed, 21 insertions, 24 deletions
diff --git a/TODO b/TODO
index e594eca..a934046 100644
--- a/TODO
+++ b/TODO
@@ -1,39 +1,19 @@
TODO für den synth
o .so unloaden!
- x note-compiler: wenn vel_influence für foo, aber foo ist konstant
- null, bleibt foo trotzdem konstant.
- x note-compiler: vel_influence ist IMMER gegeben für output, außer
- wenn anders angegeben
- x note-compiler: *1 bzw /2 optimierungen klappen nicht?
- x note-compiler: pfactor nicht wegoptimieren, immer verwenden
o beide parser: envelopes von oscs mit out=0 standardmäßig deaktivieren
o envelope, filter, ggf. auch alles aus program.o im hauptprogramm
lassen? d.h. via init funktionspointer übergeben oder virtuelle
interfaceklassen benutzen (für envelope/filter z.B.)
- x wave auf int*[] mit wave[i]=new int[] umbauen
- x BUG: bei Note::set_param sollte statt dem eigentlichen param
- der orig gesetzt werden und dann neu berechnet werden!
- x BUG: bei release und reattack: BEIDE male die filter-envelope beachten!
o KSL mit powf und floats statt mit double umschreiben
o statt lfo-nummer direkten zugriff auf curr_lfo angeben?
- x oscval-nullen kann in get_sample() weggelassen werden
o bei tremolo (und vibrato?): eventuell nicht prüfen, obs aktiviert
ist, sondern zur not einfach *1 rechnen?
- x in get_sample(), beim aufaddieren zum out (und vmtl auch fm-)wert:
- erst nach dem addieren scalen, statt für jeden faktor einzeln
o wenn sync global aus ist, kann auch osc.sync genullt werden
o beim default_program vielleicht auch ein optimiertes objekt benutzen?
- x filter_envelope könnte mit anderem ctor geinitet werden (weniger schreibarbeit)
- x notes compilieren und als .so-datei laden
o programme on-the-fly (um)laden
-
- x parser-klasse durch parse-funktion ersetzen
-
- x reattack a) garnicht, b) immer, c) nur wenn schon in releasephase
- --> legatopedal!
-
+
o bei envelopes: releasephase abschalten (bei sustain bleiben)
o soft-pedal
@@ -58,12 +38,10 @@ TODO für den synth
o max_pitchbend per controller setzen?
o nur auf bestimmte channels reagieren
- x diverse pedale (soft, sostenuto, halte, legato (?))
-
(o)lfo-maxima getrennt regeln. nää
(o)bei filter-envelopes: ksr/ksl? nää.
(o)resonanz-tremolo bei tiefpass? nää.
TODO fürs CLI
- x envelope_update_frames per CLI setzen
+ x ...
diff --git a/TODO.done b/TODO.done
index 0cd6d16..f105870 100644
--- a/TODO.done
+++ b/TODO.done
@@ -49,6 +49,17 @@ TODO für den synth
* filter optimieren? (arbeiten momentan mit floats) [verschoben]
verstehen, optimieren und dann profilen
x stimmt die stereo-implementierung? [ja]
+ x BUG: bei Note::set_param sollte statt dem eigentlichen param
+ der orig gesetzt werden und dann neu berechnet werden!
+ x BUG: bei release und reattack: BEIDE male die filter-envelope beachten!
+ x wave auf int*[] mit wave[i]=new int[] umbauen
+ x oscval-nullen kann in get_sample() weggelassen werden
+ x in get_sample(), beim aufaddieren zum out (und vmtl auch fm-)wert:
+ erst nach dem addieren scalen, statt für jeden faktor einzeln
+ x filter_envelope könnte mit anderem ctor geinitet werden (weniger schreibarbeit)
+ x notes compilieren und als .so-datei laden
+ x parser-klasse durch parse-funktion ersetzen
+ x sostenuto-, halte-, legato-pedal
TODO fürs CLI
@@ -67,5 +78,13 @@ TODO fürs CLI
in parser: throw!, sonst: meckern und nächste zeile parsen
x automatisch an alle midi-outs hängen
x interface div-by-zero-sicher machen
+ x envelope_update_frames per CLI setzen
+TODO für den compiler
+ x wenn vel_influence für foo, aber foo ist konstant null, bleibt
+ foo trotzdem konstant.
+ x vel_influence ist IMMER gegeben für output, außer wenn anders
+ angegeben
+ x *1 bzw /2 optimierungen klappen nicht?
+ x pfactor nicht wegoptimieren, sondern immer verwenden