summaryrefslogtreecommitdiff
path: root/TODO
blob: 2f39587a73d397cb7eb389f98c5b351b4226931f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
!!! 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 TESTEN: set_param für freq-envs
   o pfactor-einfluss für freq_env_amount
   o parsen: (case 4 muss noch gemacht werden)
   o alles auch für compiled_notes implementieren!
   x set_param für factor setzt orig-factor und berechnet eigentl. faktor neu
   
!! 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 ...