summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorFlorian Jung <flo@thinkpad.(none)>2011-01-08 17:58:48 +0100
committerFlorian Jung <flo@thinkpad.(none)>2011-01-08 17:58:48 +0100
commit82e74a33661d235029f413eff2b21c4e29e057bc (patch)
tree4850a88589006ef8a0fd21992ac89380c86e8948 /TODO
parent019bf74777568574696a3faca7a846a6beaa065b (diff)
Minor fixes and improvements
The following has been changed - Note::set_param now sets orig-values and does an apply_pfactor() - Note::reattack now also reattacks the filter's envelope - oscval[i]=0 has been removed as it's unneccessary in Note::get_sample() - in Note::get_sample: fm- and out-sums are calculated in 2SCALE now and scaled down (via >>SCALE) afterwards (instead of while every single add-operation) - the filter-envelope is now inited with the shorter constructor - todo-list updated
Diffstat (limited to 'TODO')
-rw-r--r--TODO22
1 files changed, 12 insertions, 10 deletions
diff --git a/TODO b/TODO
index e031b3f..f8155f6 100644
--- a/TODO
+++ b/TODO
@@ -10,32 +10,34 @@ TODO für den synth
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.)
- o wave auf int*[] mit wave[i]=new int[] umbauen
+ x wave auf int*[] mit wave[i]=new int[] umbauen
-!!!o BUG: bei Note::set_param sollte statt dem eigentlichen param
+!!!x BUG: bei Note::set_param sollte statt dem eigentlichen param
der orig gesetzt werden und dann neu berechnet werden!
-!!!o BUG: bei release und reattack: BEIDE male die filter-envelope beachten!
+!!!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?
- o oscval-nullen kann in get_sample() weggelassen werden
+ 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?
- o in get_sample(), beim aufaddieren zum out (und vmtl auf fm-)wert:
+ 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?
- o filter_envelope könnte mit anderem ctor geinitet werden (weniger schreibarbeit)
- o notes compilieren und als .so-datei laden
+ 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
- o parser-klasse durch parse-funktion ersetzen
+ x parser-klasse durch parse-funktion ersetzen
- o reattack a) garnicht, b) immer, c) nur wenn schon in releasephase
+ x reattack a) garnicht, b) immer, c) nur wenn schon in releasephase
--> legatopedal!
o bei envelopes: releasephase abschalten (bei sustain bleiben)
+ o soft-pedal
+
o RAM aufräumen?
o jedes programm eigene LFOs?
@@ -56,7 +58,7 @@ TODO für den synth
o max_pitchbend per controller setzen?
o nur auf bestimmte channels reagieren
- o diverse pedale (soft, sostenuto, halte, legato (?))
+ x diverse pedale (soft, sostenuto, halte, legato (?))
(o)lfo-maxima getrennt regeln. nää
(o)bei filter-envelopes: ksr/ksl? nää.