From 82e74a33661d235029f413eff2b21c4e29e057bc Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sat, 8 Jan 2011 17:58:48 +0100 Subject: 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 --- TODO | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'TODO') 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ää. -- cgit v1.2.3