@@ -24,6 +24,9 @@ def __init__(self, core):
2424 self .vibrato_window = 0.5
2525 self .pressure_ = 0.0
2626 self .wiggles = 0
27+ self .wiggle_in_speed = 3.0
28+ self .wiggle_out_speed = 1.0
29+ self .wiggle_count = 2
2730
2831 self .mod = 0.0
2932 self .mod_changed = True
@@ -33,8 +36,8 @@ def __init__(self, core):
3336 if self .mode in ('false' , 'off' ):
3437 self .mode = None
3538 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 '
3841 self .t = 0.0
3942 self .vibrato_speed = 5.0
4043 self .vibrato_depth = 1.0 / 4.0
@@ -118,8 +121,7 @@ def tick(self):
118121 if msg != self .last_midi_message :
119122 self .core .midi_write (self .core .midi_out , msg )
120123 self .last_midi_message = msg
121- if self .mode :
122- self .mod_changed = False
124+ self .mod_changed = False
123125
124126 # held_note_count = self.core.held_note_count()
125127 # if held_note_count == 0:
@@ -128,6 +130,9 @@ def tick(self):
128130 def logic (self , dt ):
129131 self .timer += dt
130132 self .t += dt
133+
134+ if self .mode is None :
135+ return
131136
132137 self .vibrato_window_t = max (0.0 , self .vibrato_window_t - 1.0 * dt )
133138 if self .vibrato_window_t <= 0.0 :
@@ -136,13 +141,13 @@ def logic(self, dt):
136141 if self .mod >= 0.0 :
137142 self .mod = 0.0
138143 self .mod_changed = True
139- elif self .wiggles >= 2 :
144+ elif self .wiggles >= self . wiggle_count :
140145 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 )
142147 self .mod_changed = True
143148 else :
144149 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 )
146151 self .mod_changed = True
147152
148153 if self .timer >= self .time_between_ticks :
0 commit comments