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 ...
|