def on_draw(self, debug_mode): rl.clear_background(self.background_color) wave_color = rl.GOLD for x, y in self.wave_points: rl.draw_rectangle(x, y, 3, self.config.screen_height - y, wave_color)
def display_external_audio(): a = AudioListener() import raylibpy raylibpy.init_window(1024, 300, 'external audio') raylibpy.set_target_fps(60) while not raylibpy.window_should_close(): d = a.get_audio() stft = np.abs(librosa.stft(d, n_fft=512, hop_length=1)) spec = librosa.amplitude_to_db(stft, ref=np.max) raylibpy.begin_drawing() raylibpy.clear_background(raylibpy.DARKBLUE) print(0) for i in range(len(spec)): val = (spec[i][0] + 80) x = i * 4 y = 300 - val w = 4 h = val print(val) raylibpy.draw_rectangle(x, y, w, h, raylibpy.GREEN) raylibpy.end_drawing() a.close()
def on_draw(self, debug_mode): rl.clear_background(self.background_color) wave_color = rl.get_color(0x7DAC53FF) for i in range(self.config.audio_sample_size - 1): rl.draw_line_v(self.wave_points[i], self.wave_points[i + 1], wave_color) freq_color = rl.get_color(0x8253ACFF) for x, y in self.freq_points: rl.draw_rectangle(x, y, 3, self.config.screen_height - y, freq_color)
idx = i * 4 dat = data_np[i] dat2 = data_np[i + 1] raylibpy.draw_line(i, 300 - dat, i + 4, 300 - dat2, raylibpy.GREEN) raylibpy.draw_pixel(i, 256 - dat, raylibpy.BLUE) # column totals for i in range(len(ln_cols)): line = ln_cols[i] col_total = 0 for x in line: col_total = col_total + y_data[x + ln_offset] col_ave = col_total / (1.0 * len(line)) #print(col_total, "/ ", len(line), " = ", col_ave) raylibpy.draw_rectangle(i * col_width, 580 - col_ave * 2000, col_width, 580, raylibpy.Color(0, 100, 100, 150)) # green column lines for i in range(0, num_cols): x = int(i * (W / num_cols)) #raylibpy.draw_line(x, 330, x, H, raylibpy.GREEN) # purple line for i in range(0, max_ln - 1): dat = y_data[i + ln_offset] dat2 = y_data[i + 1 + ln_offset] x = int(ln_x[i]) x2 = int(ln_x[i + 1]) y = y2 = 580 * (1 - err) if dat > err: y = int(y - dat * 256 * 2)
def main(): # Initialization # --------------------------------------------------------------- screen_width = 800 screen_height = 450 rl.init_window(screen_width, screen_height, "raylib [core] example - 3d camera free") # Define the camera to look into our 3d world camera = rl.Camera(rl.Vector3(4.0, 2.0, 4.0), rl.Vector3(0.0, 0.0, 0.0), rl.Vector3(0.0, 1.0, 0.0), 45.0, rl.CAMERA_PERSPECTIVE) cube_position = rl.Vector3(0.0, 0.0, 0.0) rl.set_camera_mode(camera, rl.CAMERA_FREE) rl.set_target_fps(60) # --------------------------------------------------------------- # Main game loop while not rl.window_should_close(): # Update # ----------------------------------------------------------- rl.update_camera(byref(camera)) if rl.is_key_down(rl.KEY_Z): camera.target = rl.Vector3(0.0, 0.0, 0.0) # ----------------------------------------------------------- # Draw # ----------------------------------------------------------- rl.begin_drawing() rl.clear_background(rl.RAYWHITE) rl.begin_mode3d(camera) rl.draw_cube(cube_position, 2.0, 2.0, 2.0, rl.RED) rl.draw_cube_wires(cube_position, 2.0, 2.0, 2.0, rl.MAROON) rl.draw_grid(10, 1.0) rl.end_mode3d() rl.draw_rectangle(10, 10, 320, 133, rl.fade(rl.SKYBLUE, 0.5)) rl.draw_rectangle_lines(10, 10, 320, 133, rl.BLUE) rl.draw_text("Free camera default controls:", 20, 20, 10, rl.BLACK) rl.draw_text("- Mouse Wheel to Zoom in-out", 40, 40, 10, rl.DARKGRAY) rl.draw_text("- Mouse Wheel Pressed to Pan", 40, 60, 10, rl.DARKGRAY) rl.draw_text("- Alt + Mouse Wheel Pressed to Rotate", 40, 80, 10, rl.DARKGRAY) rl.draw_text("- Alt + Ctrl + Mouse Wheel Pressed for Smooth Zoom", 40, 100, 10, rl.DARKGRAY) rl.draw_text("- Z to Zoom to (0, 0, 0)", 40, 120, 10, rl.DARKGRAY) rl.end_drawing() # ----------------------------------------------------------- # De-Initialization # --------------------------------------------------------------- rl.close_window() # Close window and OpenGL context
data = stream.read(CHUNK) # convert # len data = 2 * len(chunk) # wrap data_int = struct.unpack(str(2 * CHUNK) + 'B', data) data_np = np.array(data_int, dtype='b')[1::2] + 128 y_fft = fft(data_int) y_data = np.abs(y_fft[0:CHUNK]) * 2 / (256 * CHUNK) raylibpy.begin_drawing() raylibpy.clear_background(raylibpy.BLACK) for i in range(10, len(y_data) // 8): val = y_data[i] w = 2 x = 2 * int(i) - 10 h = val * 500 y = 300 - h raylibpy.draw_rectangle(x, y, w, h, raylibpy.WHITE) raylibpy.draw_rectangle(62, 290, 1, 10, raylibpy.WHITE) # this breaks the display #raylibpy.draw_text(str(raylibpy.get_fps()) + ' fps', 750, 10, 15, raylibpy.DARKGREEN) #print(val, x, y, w, h) raylibpy.end_drawing() raylibpy.close_window()
def main(): # Initialization # --------------------------------------------------------------- screen_width = 800 screen_height = 450 rl.init_window(screen_width, screen_height, "raylib [core] example - 3d camera 1st person") # Define the camera to look into our 3d world (position, target, up vector) camera = rl.Camera( rl.Vector3(4.0, 2.0, 4.0), rl.Vector3(0.0, 1.8, 0.0), rl.Vector3(0.0, 1.0, 0.0), 60.0, rl.CAMERA_PERSPECTIVE ) # Generates some random columns heights = [] positions = [] colors = [] for i in range(MAX_COLUMNS): heights.append(rl.get_random_value(1, 12)) positions.append(rl.Vector3( rl.get_random_value(-15, 15), heights[-1] / 2, rl.get_random_value(-15, 15) ) ) colors.append(rl.Color( rl.get_random_value(20, 255), rl.get_random_value(10, 55), 30, 255 ) ) rl.set_camera_mode(camera, rl.CAMERA_FIRST_PERSON) rl.set_target_fps(60) # --------------------------------------------------------------- # Main game loop while not rl.window_should_close(): # Update # ----------------------------------------------------------- rl.update_camera(byref(camera)) # ----------------------------------------------------------- # Draw # ----------------------------------------------------------- rl.begin_drawing() rl.clear_background(rl.RAYWHITE) rl.begin_mode3d(camera) rl.draw_plane(rl.Vector3(0.0, 0.0, 0.0), rl.Vector2(32.0, 32.0), rl.LIGHTGRAY) rl.draw_cube(rl.Vector3(-16.0, 2.5, 0.0), 1.0, 5.0, 32.0, rl.BLUE) rl.draw_cube(rl.Vector3(16.0, 2.5, 0.0), 1.0, 5.0, 32.0, rl.LIME) rl.draw_cube(rl.Vector3(0.0, 2.5, 16.0), 32.0, 5.0, 1.0, rl.GOLD) # Draw some cubes around for i, position in enumerate(positions): rl.draw_cube(position, 2.0, heights[i], 2.0, colors[i]) rl.draw_cube_wires(position, 2.0, heights[i], 2.0, rl.MAROON) rl.draw_rectangle(camera.target.x, -500, 1, screen_height * 4, rl.GREEN) rl.draw_rectangle(-500, camera.target.y, screen_width * 4, 1, rl.GREEN) rl.end_mode3d() # rl.draw_text(b"SCREEN AREA", 640, 10, 20, rl.RED) rl.draw_rectangle(10, 10, 220, 70, rl.fade(rl.SKYBLUE, 0.5)) rl.draw_rectangle_lines(10, 10, 220, 70, rl.BLUE) rl.draw_text("First person camera default controls:", 20, 20, 10, rl.BLACK) rl.draw_text("- Move with keys: W, A, S, D", 40, 40, 10, rl.DARKGRAY) rl.draw_text("- Mouse move to look around", 40, 60, 10, rl.DARKGRAY) rl.end_drawing() # ----------------------------------------------------------- # De-Initialization # --------------------------------------------------------------- rl.close_window() # Close window and OpenGL context