Initial commit

This commit is contained in:
thib8956 committed 2026-10-27 22:10:43 +01:00
commit 91a1e2e312
22 files changed
+885

No files matched your search

+49
View File
@@ -0,0 +1,49 @@
import math
import pyray as ray
SAMPLE_RATE = 44100
BUFFER_SIZE = 2048
progress = 0.0 # progress within a cycle of a periodic function (0 to 1)
def tick(freq):
global progress
progress = (progress + freq / SAMPLE_RATE) % 1.0
return progress
def sine(p):
return math.sin(2 * math.pi * p)
def square(p):
return 1.0 if p < 0.5 else -1.0
def saw(p):
return 2.0 * p - 1.0
def tri(p):
return 4 * abs(p - 0.5) - 1.0
ray.init_window(800, 450, "Hello")
ray.init_audio_device()
ray.set_target_fps(60)
ray.set_audio_stream_buffer_size_default(BUFFER_SIZE)
stream = ray.load_audio_stream(SAMPLE_RATE, 32, 1)
ray.play_audio_stream(stream)
buffer = ray.ffi.new("float[]", BUFFER_SIZE)
while not ray.window_should_close():
if ray.is_key_down(ray.KeyboardKey.KEY_SPACE) and ray.is_audio_stream_processed(stream):
for i in range(BUFFER_SIZE):
buffer[i] = 0.1 * sine(tick(440))
ray.update_audio_stream(stream, buffer, BUFFER_SIZE)
ray.begin_drawing()
ray.clear_background((0x0B, 0x0B, 0x0B, 0xFF))
ray.draw_text("Hello world", 190, 200, 20, ray.VIOLET)
ray.end_drawing()
ray.close_window()
ray.close_audio_device()