diff --git a/__init__.py b/__init__.py index 94f0c50..d2bac2c 100755 --- a/__init__.py +++ b/__init__.py @@ -205,16 +205,26 @@ def generate_tone(frequency, duration=0.1, sample_rate=44100, volume = 0.2): def x_powerbar(): clock = pygame.time.Clock() + screen = pygame.display.get_surface() position = -50 # Start from the leftmost position direction = 1 # Move right initially + barHeight = 20 while True: frequency = 440 # A4 note - left_volume = (50 - position) / 100 - right_volume = (position + 50) / 100 + leftVolume = (50 - position) / 100 + rightVolume = (position + 50) / 100 tone = generate_tone(frequency) channel = tone.play() - channel.set_volume(left_volume, right_volume) + channel.set_volume(leftVolume, rightVolume) + # Visual representation + screen.fill((0, 0, 0)) + barWidth = screen.get_width() - 40 # Leave 20px margin on each side + pygame.draw.rect(screen, (100, 100, 100), (20, screen.get_height() // 2 - barHeight // 2, barWidth, barHeight)) + markerPos = int(20 + (position + 50) / 100 * barWidth) + pygame.draw.rect(screen, (255, 0, 0), (markerPos - 5, screen.get_height() // 2 - barHeight, 10, barHeight * 2)) + pygame.display.flip() for event in pygame.event.get(): + check_for_exit() if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: channel.stop() return position # This will return a value between -50 and 50 @@ -229,20 +239,29 @@ def x_powerbar(): def y_powerbar(): clock = pygame.time.Clock() + screen = pygame.display.get_surface() power = 0 direction = 1 # 1 for increasing, -1 for decreasing + barWidth = 20 while True: frequency = 220 + (power * 5) # Adjust these values to change the pitch range tone = generate_tone(frequency) channel = tone.play() + # Visual representation + screen.fill((0, 0, 0)) + barHeight = screen.get_height() - 40 # Leave 20px margin on top and bottom + pygame.draw.rect(screen, (100, 100, 100), (screen.get_width() // 2 - barWidth // 2, 20, barWidth, barHeight)) + markerPos = int(20 + (100 - power) / 100 * barHeight) + pygame.draw.rect(screen, (255, 0, 0), (screen.get_width() // 2 - barWidth, markerPos - 5, barWidth * 2, 10)) + pygame.display.flip() for event in pygame.event.get(): + check_for_exit() if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: channel.stop() return power power += direction if power >= 100 or power <= 0: direction *= -1 # Reverse direction at limits - check_for_exit() clock.tick(40) def cut_scene(sounds, soundName):