예제 #1
0
    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)
예제 #2
0
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)
예제 #4
0
        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)
예제 #5
0
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
예제 #6
0
    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()
예제 #7
0
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