summaryrefslogtreecommitdiff
path: root/TODO
blob: a454c84eb9e63cbc9119f8284a18884617b5a37f (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
!!! interface der compilten note und korrespondierende funktion
    im synth stimmen nicht mehr überein! ÄNDERN!

!!! 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 file-watcher ist unsauber: inotify_map_mutex und prog_load_mutex
     werden eigentlich zu spät erstellt; bei EXTREM schnellen events
     könnte ein noch nicht existenter mutex gelockt werden
   o lock_and_load_program_no_watch_updates und auch die requests
     passen nicht wirklich ins in-synth-cli. vlt woandershin schieben?
	 o im in-synth-cli: lfos- und snh-neusetzen ist falsch
	 	    es muss IMMER gelockt werden.
	 	    allerdings muss maybe_calc_lfos gelockt werden, die noten können
	 	    weiter bestehen
   o frameskip vlt nicht ++en?
   o chorus, reverb etc.
   o max_pitchbend per controller setzen?
     per RPN, NRPN
   o nur auf bestimmte channels reagieren
   o RAM aufräumen?

   o jedes programm eigene LFOs?
   o andere wellenformen bei LFOs?
 
   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 konnte-nicht-verbinden-warnung weniger schlimm machen
 
  (o)bei program change vielleicht nicht _ALLE_ controller resetten?

  (o)fehlerklassen für fatale fehler (von string abgeleitet)

  (o)bei filter-envelopes: ksr/ksl? nää.
  (o)resonanz-tremolo bei tiefpass? nää.


TODO für den compiler
   o freq-envelopes und pfactor dafür auch für compiled_notes implementieren!
   o envelopes nur alle N frames updaten auch bei compiled notes implementieren!
   o zu testen: funktionieren no-release-envs auch in compilierten noten?
   o 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.)



TODO fürs CLI
   x ...