!!! SEGFAULT beim laden einer nicht-existenten datei per in-synth-cli wenn man danach die noten spielen will. nicht reproduzierbar TODO für den synth !! o freq-envelopes: o alles auch für compiled_notes implementieren! o TESTEN: set_param für freq-envs x pfactor-einfluss für freq_env_amount x parsen x set_param für factor setzt orig-factor und berechnet eigentl. faktor neu o testen: was tun no-release envs wenn sie vor DONE released werden? !! o im in-synth-cli auch die snh-freq setzen!!! o optimierung: foo++ durch ++foo ersetzen o optimierung: bei allen iterationen: foo.end() cachen! o zu testen: funktionieren no-release-envs auch in compilierten noten? o RAM aufräumen? 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.) (o)bei program change vielleicht nicht _ALLE_ controller resetten? o KSL mit powf und floats statt mit double umschreiben o statt lfo-nummer direkten zugriff auf curr_lfo angeben? o bei tremolo (und vibrato?): eventuell nicht prüfen, obs aktiviert ist, sondern zur not einfach *1 rechnen? o beim default_program vielleicht auch ein optimiertes objekt benutzen? 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 parser: lässt sich sicher noch viel besser lösen, siehe auch oben 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? per RPN, NRPN o nur auf bestimmte channels reagieren (o)fehlerklassen für fatale fehler (von string abgeleitet) (o)bei filter-envelopes: ksr/ksl? nää. (o)resonanz-tremolo bei tiefpass? nää. TODO fürs CLI x ...