diff options
-rw-r--r-- | TODO | 26 | ||||
-rw-r--r-- | TODO.done | 19 |
2 files changed, 21 insertions, 24 deletions
@@ -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 ... @@ -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 |