Initial commit
This commit is contained in:
commit
91a1e2e312
22 files changed
+885
No files matched your search
@@ -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()
|
||||
Reference in new issue
Block a user