summaryrefslogtreecommitdiff
path: root/TODO
blob: c77e94ad5619bb523e0381120452f91694fb1ef1 (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
TODO für den synth
   o notes compilieren und als .so-datei laden

   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
             
   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
 
   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
 
   x 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 envelope_update_frames per CLI setzen