aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/zeal.zig21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/zeal.zig b/src/zeal.zig
index d470fbb..1749e28 100644
--- a/src/zeal.zig
+++ b/src/zeal.zig
@@ -79,14 +79,12 @@ pub const Context = struct {
}
};
-pub const Listener = struct {
- context: Context,
-
- pub fn setPosition(self: Listener, position: [3]f32) Error!void {
+pub const listener = struct {
+ pub fn setPosition(position: [3]f32) Error!void {
try al.listener.set(al.POSITION, position);
}
- pub fn setOrientation(self: Listener, at: [3]f32, up: [3]f32) Error!void {
+ pub fn setOrientation(at: [3]f32, up: [3]f32) Error!void {
const orientation = [_]f32{ at[0], at[1], at[2], up[0], up[1], up[2] };
try al.listener.set(al.ORIENTATION, orientation);
}
@@ -123,13 +121,12 @@ pub const Audio = struct {
};
pub const Buffer = struct {
- context: Context,
reference: u32,
- pub fn init(context: Context, audio: Audio) Error!Buffer {
+ pub fn init(audio: Audio) Error!Buffer {
const reference = try al.buffer.create();
try al.buffer.fill(reference, audio.data, audio.frequency);
- return Buffer{ .context = context, .reference = reference };
+ return Buffer{ .reference = reference };
}
pub fn deinit(self: Buffer) Error!void {
@@ -138,12 +135,11 @@ pub const Buffer = struct {
};
pub const Source = struct {
- context: Context,
reference: u32,
- pub fn init(context: Context) Error!Source {
+ pub fn init() Error!Source {
const reference = try al.source.create();
- return Source{ .context = context, .reference = reference };
+ return Source{ .reference = reference };
}
pub fn deinit(self: Source) Error!void {
@@ -202,13 +198,12 @@ test "Context" {
try context.checkCurrent();
}
-test "Listener" {
+test "listener" {
const context = try Context.init(try Device.init(null), &.{});
defer context.device.deinit() catch unreachable;
defer context.deinit() catch unreachable;
try context.makeCurrent();
- const listener = Listener{ .context = context };
try listener.setPosition(.{ 1, 2, 3 });
try listener.setOrientation(.{ 4, 5, 6 }, .{ 7, 8, 9 });
}