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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
änderungen in 42b:winzige optimierung bei envelope-attack-phase
änderungen in 42: sample and hold wird als LFO angesehen und funzt.
änderungen in 40c:lfo_ und filter_update_freq im cli und in der
konfig einstellbar
änderungen in 40b:kleinigkeiten verbessert
änderungen in 40: auf LFOs umgestellt
STABILE VERSION: 38b: FM-Synthese mit einstellungen und controllern
möglich. wellenformen können auch aus wav-dateien geladen werden.
vibrato, tremolo, portamento, reattack, festsetzbare stimmenanzahl,
"abgewürgte" noten können ausgeblendet werden. channel-modulation
muss manuell definiert werden. pitchbend und controllerreset,
frameskip, stereo, KSR, KSL funktionieren. CLI, configs und
instrumentendefinitionen funktionieren. anschlagsdynamik kann
verschiedene parameter steuern. analogsynthese und osc-sync.
änderungen in 38b:bugfixes: sustain_orig eingeführt, bei reattack
wird die vel neu gesetzt, divisionen durch null
verhindert
änderungen in 38: frameskip ist nun absolut alltagstauglich
valgrind-gecheckt, halbwegs clean
änderungen in 37e:velocity kann fm-stärke, vol und filter steuern
37d coredumpt am ende... sehr merkwürdig. dort
wird result im parser direkt geführt
37d_ii funktioniert. hier wird das result wie
gehabt erst am ende gesetzt. merkwürdig...
außerdem: bug gefixt (s|atoi|atof| beim parsen)
änderungen in 37b:velocity-kontrolle implementiert, kann aber nicht
geladen werden
änderungen in 36: frameskipping berichtigt (hängt von bufsize ab)
änderungen in 35c:auto-connect für midi-in funktioniert
diverse bugs behoben
änderungen in 35b:debugging-outputs entfernt oder auf output_verbose
umgestellt
änderungen in 35: osc-sync funktioniert; seltener segfault-bug
behoben. xrun-panic funktioniert
änderungen in 34: phase auf hohen wert geinitet, +WAVE_RES entfällt
es wurde berechnet, dass mit diesen einstellungen
oscillator.phase in 44 Jahren überlaufen wird.
änderungen in 33: filter-settings werden aus konfig geladen. per
controller setzen muss noch getestet werden
filter-update-frames kann per CLI gesetzt werden.
bug in parameter_t::operator< gefixt
änderungen in 32e:größtenteils wie 33
änderungen in 32d:Note-ctor geändert; er erhält nun nur noch ein
program_t& statt den einzelnen settings-pointern
änderungen in 32c:tiefpassfilter funktioniert, kann aber noch
nicht geladen oder per cont. gesetzt werden.
änderungen in 31: sample-and-hold-generator geschrieben, kann aber
nirgends angewendet werden!
änderungen in 30d:custom-waves können nun via program-datei gesetzt
werden; cw verbessert
änderungen in 30b:custom-waves können geladen werden. deren samp_rate
ist nun in fixed_t angegeben, um ungenauigkeiten
wegen sr=sr/gegebene_freq zu beheben (detuned)
änderungen in 30: custom-waves können benutzt, aber nicht geladen
werden
änderungen in 29k:fehler nun über eigene funktionen ausgegeben.
diese funktionen können entscheiden, ob sie
das programm beenden (fatal-warnings etc.) oder
den hinweis ignorieren (quiet)
änderungen in 29j:fehlerbehandlung fortgesetzt: einheitliches
schema
änderungen in 29i:fehlerbehandlung begonnen: nicht-fatale fehler
werden ausgegeben, aber ignoriert
änderungen in 29h:CLI verwendet nun floats statt ints
zusätzliche throw-anweisungen
änderungen in 29g:space-sicher gemacht, frameskip=0 kann per CLI
gesetzt werden
änderungen in 29f:konfig-dateien-parsen begonnen
änderungen in 29e:clean_int., vib- und trem-freq. per CLI einstellbar
änderungen in 29d:last_cleanup durch next_cleanup ersetzt
änderungen in 29c:CLI begonnen; einlesen aller programme eines
verzeichnisses und einzelnes einlesen sollte
funktionieren. wird keine passende programm-
definition gefunden, wird ein sinus verwendet
STABILE VERSION: 28: FM-Synthese mit einstellungen und controllern
möglich. vibrato, tremolo, portamento, reattack, festsetzbare
stimmenanzahl. "abgewürgte" noten können ausgeblendet werden.
channel-modulation muss manuell definiert werden. pitchbend und
controllerreset, frameskip, stereo, KSR, KSL funktionieren.
änderungen in 28: knistern bei frameskip behoben
änderungen in 27g:noch mehr bugfixes
änderungen in 27f:einige bugfixes
änderungen in 27e:bei set_note wird jetzt geprüft, ob das program
gewechselt wurde. wenn ja: neue note anlegen
änderungen in 27d:reattack im monomode nurnoch wenn always_reattack=true
änderungen in 27c:tremolo/vibrato an samplingrate angepasst
änderungen in 27: samp_rate von jack erhalten
änderungen in 26: stimmenlimit implementiert, aber ungetestet!
bei verwerfen einer stimme kann sie schnell weg-
gefadet werden. auch das ist ungetestet!
änderungen in 25: stereo wurde implementiert, aber nicht getestet!
änderungen in 24: frameskip funktioniert
änderungen in 23c:KSR und KSL werden eingelesen
änderungen in 23b:KSR funktioniert
änderungen in 23: KSL funktioniert
änderungen in 22b:controllerreset hinzugefügt
änderungen in 22: pitchbend hinzugefügt
änderungen in 21: memcpy nur noch bei trivialen typen (int), sonst
copy. osc_t hat operator=. folge: deep-copy funzt
änderungen in 20: memory-leaks (bei einem simplen 5-sec-testlauf
stolze 8kb!) entfernt. sollte jetzt leakfrei sein.
änderungen in 19: reattack und portamento funktionieren
änderungen in 18: code aufgeräumt: t entfernt, TO DOs entfernt
änderungen in 17: envelopes können werte ändern
änderungen in 16: controllerdefaults werden aus cfg gelesen
und in program_t gepackt
änderungen in 15: jeder channel hat einen port
bugfix in 14d:program_t hat nun einen deep-copy-=-operator
änderungen in 14c:geänderte parameter werden gesichert und an
neue noten weitergegeben
änderungen in 13: controller für bereits spielende noten funktioniert.
fehlt noch das der-nächsten-note-mitgeben
änderungen in 12: programm-presets fertig, funktioniert.
außerdem: bug beim parser ausgebessert
änderungen in 11: parsen und programme angefangen
änderungen in 10: wie 09, aber mit (unbenutzter) Parser-klasse
änderungen in 09: notes besitzen nun eigenen framecounter
änderungen in 08: vibratoeffekt hinzugefügt
änderungen in 07: tremoloeffekt hinzugefügt
änderungen zu 06_opt3: alles arbeitet mit fixed_t (bitshifting)
änderungen zu 06_opt2: envelope-generator arbeitet mit fixed_t, aber jetzt
mit bitshifting statt normalen divisionen
änderungen zu 06_optimized: envelope-generator arbeitet mit fixed_t
änderungen zu 06: floats statt doubles
stand in 06: FM-synthese (und theoretisch AM) funktioniert, aber langsam
MIDI via jack und sound-out via jack funktioniert.
|