@@ -24,6 +24,9 @@ def __init__(self, core):
24
24
self .vibrato_window = 0.5
25
25
self .pressure_ = 0.0
26
26
self .wiggles = 0
27
+ self .wiggle_in_speed = 3.0
28
+ self .wiggle_out_speed = 1.0
29
+ self .wiggle_count = 2
27
30
28
31
self .mod = 0.0
29
32
self .mod_changed = True
@@ -33,8 +36,8 @@ def __init__(self, core):
33
36
if self .mode in ('false' , 'off' ):
34
37
self .mode = None
35
38
elif self .mode not in ('mod' , 'pitch' ):
36
- print ('Vibrato option must be mod or pitch. Using mod .' )
37
- self .mode = 'mod '
39
+ print ('Vibrato option must be mod or pitch. Disabling .' )
40
+ self .mode = 'off '
38
41
self .t = 0.0
39
42
self .vibrato_speed = 5.0
40
43
self .vibrato_depth = 1.0 / 4.0
@@ -118,8 +121,7 @@ def tick(self):
118
121
if msg != self .last_midi_message :
119
122
self .core .midi_write (self .core .midi_out , msg )
120
123
self .last_midi_message = msg
121
- if self .mode :
122
- self .mod_changed = False
124
+ self .mod_changed = False
123
125
124
126
# held_note_count = self.core.held_note_count()
125
127
# if held_note_count == 0:
@@ -128,6 +130,9 @@ def tick(self):
128
130
def logic (self , dt ):
129
131
self .timer += dt
130
132
self .t += dt
133
+
134
+ if self .mode is None :
135
+ return
131
136
132
137
self .vibrato_window_t = max (0.0 , self .vibrato_window_t - 1.0 * dt )
133
138
if self .vibrato_window_t <= 0.0 :
@@ -136,13 +141,13 @@ def logic(self, dt):
136
141
if self .mod >= 0.0 :
137
142
self .mod = 0.0
138
143
self .mod_changed = True
139
- elif self .wiggles >= 2 :
144
+ elif self .wiggles >= self . wiggle_count :
140
145
if self .mod < 1.0 :
141
- self .mod = min (1.0 , self .mod + 1.0 * dt )
146
+ self .mod = min (1.0 , self .mod + 1.0 * dt * self . wiggle_in_speed )
142
147
self .mod_changed = True
143
148
else :
144
149
if self .mod > 0.0 :
145
- self .mod = max (0.0 , self .mod - 1.0 * dt )
150
+ self .mod = max (0.0 , self .mod - 1.0 * dt * self . wiggle_out_speed )
146
151
self .mod_changed = True
147
152
148
153
if self .timer >= self .time_between_ticks :
0 commit comments