diff options
author | Florian Jung <flo@thinkpad.(none)> | 2011-01-01 17:08:26 +0100 |
---|---|---|
committer | Florian Jung <flo@thinkpad.(none)> | 2011-01-01 17:08:26 +0100 |
commit | 5c3634f48144d965c7f37e4d37b7f123fc18d7c3 (patch) | |
tree | 45f59ee9460d0b0a310289de8905bf2cd3a1ec20 | |
parent | ccdcc87d03f289b1b7774aa91484dde5b118cb01 (diff) |
Move todo-files from ./synth/ to ./
-rw-r--r-- | TODO | 32 | ||||
-rw-r--r-- | TODO.done | 71 |
2 files changed, 103 insertions, 0 deletions
@@ -0,0 +1,32 @@ +TODO für den synth + o notes compilieren und als .so-datei laden + + o RAM aufräumen? + + o jedes programm eigene LFOs? + o andere wellenformen bei LFOs? + o mehr wellen für wave[] + + o parser: sehr redundante funktionen zusammenführen + o parser: direkt in result schreiben? + + o attack und release ggf. auf niedrigen wert (<=0.01) initen, um + knackser zu vermeiden? + + o chorus, reverb etc. + + o konnte-nicht-verbinden-warnung weniger schlimm machen + + o max_pitchbend per controller setzen? + o nur auf bestimmte channels reagieren + + o diverse pedale (soft, sostenuto, halte, legato (?)) + + (o)programs on-the-fly ändern (n_osc ändern) + (o)lfo-maxima getrennt regeln. nää + (o)bei filter-envelopes: ksr/ksl? nää. + (o)resonanz-tremolo bei tiefpass? nää. + + +TODO fürs CLI + x ... diff --git a/TODO.done b/TODO.done new file mode 100644 index 0000000..0cd6d16 --- /dev/null +++ b/TODO.done @@ -0,0 +1,71 @@ +TODO für den synth + x knistern bei aktivem frameskip + x tremolo und vibrato: phase nurnoch ++ + x rettack im monomode abschalten (sondern einfach nur freq ändern) + x bei freqänderung: aufpassen, ob nicht das programm auch geändert + wurde. wenn ja: delete && new + x note-limit + x stereo: pan/balance + x envelopes on-the-fly ändern + x programs laden + x beim note-limit: statt abzuschneiden ausblenden + x einstellmöglichkeiten via MIDI-controller + x grund-controller bearbeiten + x ein port pro channel + x controllern einen defaultwert pro programm mitgeben + x monophoner modus + x reattack + x alwaysreattack setzen können + x portamento testen + x memcheck-clean! + x memcpy durch copy() plus operator= ersetzen? + x pitch-bend + x controller-reset + x key scale level, key scale rate + x akkurates note-on + x frameskip + x globale config-datei, oder alle programs in einem verz. einlesen etc. + x auf dateifehler reagieren! + x sampler-"oscs", d.h. laden von wav-dateien, die sich sonst + wie oscs verhalten (fm möglich usw.) + x analoge synthese auf den output jeder note anwenden + x tiefpass via def.datei setzen: trem, env, res + x tiefpass via controller setzen + x osc-sync + x bei genügend xruns noten töten + x filter knackst + x bei self-mod mit faktor 1 (auch ohne filter): segfault + x bei starken vibratos: segfault, weil fm zu extrem wird + x bei bug.prog: auch ohne filter: knacksen bei den meisten noten (z.B. C) + x per velocity statt lautstärke andere params steuern + x frameskip so implementieren, dass bufsize irrelevant ist + x lfo_update_frames einstellbar machen + sollte durch frameskip dividiert werden + x tremolo- und vibrato-arrays sind mit mehreren MB zu groß! + ein wert pro sample ist unnötig. könnte auch rechenzeit in + calc_foo sparen, da seltener aufgerufen + x sample-and-hold -> fm_strength, -> freq, -> VCF + * bei osc-envelopes ggf. auch nur alle n frames neu setzen? [verschoben] + * filter optimieren? (arbeiten momentan mit floats) [verschoben] + verstehen, optimieren und dann profilen + x stimmt die stereo-implementierung? [ja] + + +TODO fürs CLI + x filter_update_frames, lfo_update_frames in config, in sec (auch im CLI) + x max_port_time einstellen + x manuelle program -> datei - mappings + x automatische mappings ( xxxIGNORIERT.prg, xxx ist die programmnummer), + alle dateien eines verzeichnisses einlesen. bei nichtexistenz + auf normalen sinus zurückfallen + x konfigdateien lesen (inhalt wie CLI-optionen) + x vibrato- und tremolo-frequenzen einstellen + x cleanup-intervall setzen + x space-sicher machen + x fehlerbehandlung: + syntaxfehler sollten übergangen werden, sofern möglich + 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 + + |