fix is_beat forwarding
This commit is contained in:
parent
f7691f2545
commit
5730142d67
2 changed files with 10 additions and 26 deletions
|
@ -59,31 +59,14 @@ class AudioProcess:
|
||||||
self.thread.join()
|
self.thread.join()
|
||||||
|
|
||||||
def pyaudio_callback(self, _in_data, _frame_count, _time_info, _status):
|
def pyaudio_callback(self, _in_data, _frame_count, _time_info, _status):
|
||||||
# samples, read = _in_data, _frame_count
|
|
||||||
# audio_data = np.fromstring(in_data, dtype=np.float32)
|
|
||||||
samples = np.fromstring(_in_data, dtype=np.float32, count=_frame_count)
|
samples = np.fromstring(_in_data, dtype=np.float32, count=_frame_count)
|
||||||
read = _frame_count
|
read = _frame_count
|
||||||
is_beat = self.tempo(samples)
|
is_beat = self.tempo(samples)
|
||||||
if is_beat:
|
if is_beat:
|
||||||
with self.lock:
|
with self.lock:
|
||||||
# print(self.tempo.get)
|
|
||||||
self.is_beat = True
|
self.is_beat = True
|
||||||
# samples += click
|
|
||||||
# print("tick") # avoid print in audio callback
|
|
||||||
|
|
||||||
audiobuf = samples.tobytes()
|
audiobuf = samples.tobytes()
|
||||||
if read < self.hop_s:
|
if read < self.hop_s:
|
||||||
return (audiobuf, pa.paComplete)
|
return (audiobuf, pa.paComplete)
|
||||||
return (audiobuf, pa.paContinue)
|
return (audiobuf, pa.paContinue)
|
||||||
|
|
||||||
# self.stop = False
|
|
||||||
# self.thread = threading.Thread(name="AudioProcess", target=self.process)
|
|
||||||
# self.thread.start()
|
|
||||||
|
|
||||||
# def process(self):
|
|
||||||
# while not self.stop:
|
|
||||||
# samples = self.dev.record(self.hop_s, self.rate, 2)
|
|
||||||
# mono = samples.sum(axis=1)
|
|
||||||
# is_beat = self.tempo(samples)
|
|
||||||
|
|
||||||
# if is_beat:
|
|
||||||
|
|
|
@ -23,8 +23,10 @@ def transform_bounce(
|
||||||
current_x_factor = random.uniform(x_factor[0], x_factor[1])
|
current_x_factor = random.uniform(x_factor[0], x_factor[1])
|
||||||
current_y_factor = random.uniform(y_factor[0], y_factor[1])
|
current_y_factor = random.uniform(y_factor[0], y_factor[1])
|
||||||
|
|
||||||
(size_x, size_y), is_beat = yield (bounds.centerx, bounds.centery)
|
pos_x = bounds.centerx
|
||||||
|
pos_y = bounds.centery
|
||||||
while True:
|
while True:
|
||||||
|
(size_x, size_y), is_beat = yield (pos_x, pos_y)
|
||||||
pos_x = int(
|
pos_x = int(
|
||||||
math.cos(current_x_factor * phase) * (bounds.width - size_x) // 2
|
math.cos(current_x_factor * phase) * (bounds.width - size_x) // 2
|
||||||
+ bounds.centerx
|
+ bounds.centerx
|
||||||
|
@ -37,7 +39,6 @@ def transform_bounce(
|
||||||
phase += current_velocity / 180 * math.pi
|
phase += current_velocity / 180 * math.pi
|
||||||
if on_beat_random_phase and is_beat:
|
if on_beat_random_phase and is_beat:
|
||||||
phase += random.randrange(0, 360)
|
phase += random.randrange(0, 360)
|
||||||
(size_x, size_y), _ = yield (pos_x, pos_y)
|
|
||||||
|
|
||||||
|
|
||||||
def transform_oscillate(
|
def transform_oscillate(
|
||||||
|
@ -49,9 +50,12 @@ def transform_oscillate(
|
||||||
pos_y = float(initial_pos[1] if initial_pos[1] > 0 else bounds.top)
|
pos_y = float(initial_pos[1] if initial_pos[1] > 0 else bounds.top)
|
||||||
direction = "+"
|
direction = "+"
|
||||||
|
|
||||||
(size_x, size_y), _ = yield (bounds.left, bounds.top)
|
pos_x = bounds.left
|
||||||
|
pos_y = bounds.top
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
(size_x, size_y), _ = yield (int(pos_x), int(pos_y))
|
||||||
|
|
||||||
range_x = bounds.width - size_x
|
range_x = bounds.width - size_x
|
||||||
range_y = bounds.height - size_y
|
range_y = bounds.height - size_y
|
||||||
|
|
||||||
|
@ -72,8 +76,6 @@ def transform_oscillate(
|
||||||
elif (inc_x and (pos_x < inc_x)) or (inc_y and (pos_y < inc_y)):
|
elif (inc_x and (pos_x < inc_x)) or (inc_y and (pos_y < inc_y)):
|
||||||
direction = "+"
|
direction = "+"
|
||||||
|
|
||||||
(size_x, size_y), _ = yield (int(pos_x), int(pos_y))
|
|
||||||
|
|
||||||
|
|
||||||
def transform_falling(
|
def transform_falling(
|
||||||
bounds: pg.Rect,
|
bounds: pg.Rect,
|
||||||
|
@ -85,11 +87,12 @@ def transform_falling(
|
||||||
pos_x = float(initial_pos[0])
|
pos_x = float(initial_pos[0])
|
||||||
pos_y = float(initial_pos[1])
|
pos_y = float(initial_pos[1])
|
||||||
|
|
||||||
(_, size_y), is_beat = yield (bounds.left, bounds.top)
|
|
||||||
|
|
||||||
velocity = initial_velocity
|
velocity = initial_velocity
|
||||||
|
pos_x = bounds.left
|
||||||
|
pos_y = bounds.top
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
(_, size_y), is_beat = yield (int(pos_x), int(pos_y))
|
||||||
range_y = bounds.height - size_y
|
range_y = bounds.height - size_y
|
||||||
|
|
||||||
pos_y += velocity
|
pos_y += velocity
|
||||||
|
@ -98,5 +101,3 @@ def transform_falling(
|
||||||
if (pos_y > range_y) or (on_beat_reset and is_beat):
|
if (pos_y > range_y) or (on_beat_reset and is_beat):
|
||||||
pos_y = initial_pos[1]
|
pos_y = initial_pos[1]
|
||||||
velocity = initial_velocity
|
velocity = initial_velocity
|
||||||
|
|
||||||
(_, size_y), is_beat = yield (int(pos_x), int(pos_y))
|
|
||||||
|
|
Loading…
Reference in a new issue