sysaudio: update to latest Zig API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
364a66ef2a
commit
b426504080
5 changed files with 20 additions and 20 deletions
|
|
@ -334,7 +334,7 @@ pub const Player = struct {
|
|||
_ = bus_number;
|
||||
_ = frames_left;
|
||||
|
||||
const self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), self_opaque.?)));
|
||||
const self = @as(*Player, @ptrCast(@alignCast(self_opaque.?)));
|
||||
|
||||
for (self.channels, 0..) |*ch, i| {
|
||||
ch.ptr = @as([*]u8, @ptrCast(buf.*.mBuffers[0].mData.?)) + self.format.frameSize(i);
|
||||
|
|
|
|||
|
|
@ -174,18 +174,18 @@ pub const Context = struct {
|
|||
}
|
||||
|
||||
fn sampleRateCallback(_: c.jack_nframes_t, arg: ?*anyopaque) callconv(.C) c_int {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), arg.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(arg.?)));
|
||||
self.watcher.?.deviceChangeFn(self.watcher.?.user_data);
|
||||
return 0;
|
||||
}
|
||||
|
||||
fn portRegistrationCallback(_: c.jack_port_id_t, _: c_int, arg: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), arg.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(arg.?)));
|
||||
self.watcher.?.deviceChangeFn(self.watcher.?.user_data);
|
||||
}
|
||||
|
||||
fn portRenameCalllback(_: c.jack_port_id_t, _: [*c]const u8, _: [*c]const u8, arg: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), arg.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(arg.?)));
|
||||
self.watcher.?.deviceChangeFn(self.watcher.?.user_data);
|
||||
}
|
||||
|
||||
|
|
@ -266,7 +266,7 @@ pub const Player = struct {
|
|||
}
|
||||
|
||||
fn processCallback(n_frames: c.jack_nframes_t, self_opaque: ?*anyopaque) callconv(.C) c_int {
|
||||
const self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), self_opaque.?)));
|
||||
const self = @as(*Player, @ptrCast(@alignCast(self_opaque.?)));
|
||||
|
||||
for (self.channels, 0..) |*ch, i| {
|
||||
ch.*.ptr = @as([*]u8, @ptrCast(lib.jack_port_get_buffer(self.ports[i], n_frames)));
|
||||
|
|
|
|||
|
|
@ -289,7 +289,7 @@ pub const Player = struct {
|
|||
_ = old_state;
|
||||
_ = err;
|
||||
|
||||
var self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), self_opaque.?)));
|
||||
var self = @as(*Player, @ptrCast(@alignCast(self_opaque.?)));
|
||||
|
||||
if (state == c.PW_STREAM_STATE_STREAMING or state == c.PW_STREAM_STATE_ERROR) {
|
||||
lib.pw_thread_loop_signal(self.thread, false);
|
||||
|
|
@ -297,7 +297,7 @@ pub const Player = struct {
|
|||
}
|
||||
|
||||
pub fn processCb(self_opaque: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), self_opaque.?)));
|
||||
var self = @as(*Player, @ptrCast(@alignCast(self_opaque.?)));
|
||||
|
||||
const buf = lib.pw_stream_dequeue_buffer(self.stream) orelse unreachable;
|
||||
if (buf.*.buffer.*.datas[0].data == null) return;
|
||||
|
|
|
|||
|
|
@ -192,12 +192,12 @@ pub const Context = struct {
|
|||
}
|
||||
|
||||
fn subscribeOp(_: ?*c.pa_context, _: c.pa_subscription_event_type_t, _: u32, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), user_data.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(user_data.?)));
|
||||
self.watcher.?.deviceChangeFn(self.watcher.?.user_data);
|
||||
}
|
||||
|
||||
fn contextStateOp(ctx: ?*c.pa_context, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), user_data.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(user_data.?)));
|
||||
|
||||
self.ctx_state = lib.pa_context_get_state(ctx);
|
||||
lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
|
|
@ -255,7 +255,7 @@ pub const Context = struct {
|
|||
}
|
||||
|
||||
fn serverInfoOp(_: ?*c.pa_context, info: [*c]const c.pa_server_info, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), user_data.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(user_data.?)));
|
||||
|
||||
defer lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
self.default_sink = self.allocator.dupeZ(u8, std.mem.span(info.*.default_sink_name)) catch return;
|
||||
|
|
@ -266,7 +266,7 @@ pub const Context = struct {
|
|||
}
|
||||
|
||||
fn sinkInfoOp(_: ?*c.pa_context, info: [*c]const c.pa_sink_info, eol: c_int, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), user_data.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(user_data.?)));
|
||||
if (eol != 0) {
|
||||
lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
return;
|
||||
|
|
@ -276,7 +276,7 @@ pub const Context = struct {
|
|||
}
|
||||
|
||||
fn sourceInfoOp(_: ?*c.pa_context, info: [*c]const c.pa_source_info, eol: c_int, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Context, @ptrCast(@alignCast(@alignOf(*Context), user_data.?)));
|
||||
var self = @as(*Context, @ptrCast(@alignCast(user_data.?)));
|
||||
if (eol != 0) {
|
||||
lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
return;
|
||||
|
|
@ -397,7 +397,7 @@ pub const Context = struct {
|
|||
};
|
||||
|
||||
fn streamStateOp(stream: ?*c.pa_stream, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*StreamStatus, @ptrCast(@alignCast(@alignOf(*StreamStatus), user_data.?)));
|
||||
var self = @as(*StreamStatus, @ptrCast(@alignCast(user_data.?)));
|
||||
|
||||
switch (lib.pa_stream_get_state(stream)) {
|
||||
c.PA_STREAM_UNCONNECTED,
|
||||
|
|
@ -456,14 +456,14 @@ pub const Player = struct {
|
|||
}
|
||||
|
||||
fn playbackStreamWriteOp(_: ?*c.pa_stream, nbytes: usize, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), user_data.?)));
|
||||
var self = @as(*Player, @ptrCast(@alignCast(user_data.?)));
|
||||
|
||||
var frames_left = nbytes;
|
||||
if (lib.pa_stream_begin_write(
|
||||
self.stream,
|
||||
@as(
|
||||
[*c]?*anyopaque,
|
||||
@ptrCast(@alignCast(@alignOf([*c]?*anyopaque), &self.write_ptr)),
|
||||
@ptrCast(@alignCast(&self.write_ptr)),
|
||||
),
|
||||
&frames_left,
|
||||
) != 0) {
|
||||
|
|
@ -534,7 +534,7 @@ pub const Player = struct {
|
|||
}
|
||||
|
||||
fn successOp(_: ?*c.pa_context, success: c_int, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), user_data.?)));
|
||||
var self = @as(*Player, @ptrCast(@alignCast(user_data.?)));
|
||||
if (success == 1)
|
||||
lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
}
|
||||
|
|
@ -557,7 +557,7 @@ pub const Player = struct {
|
|||
}
|
||||
|
||||
fn sinkInputInfoOp(_: ?*c.pa_context, info: [*c]const c.pa_sink_input_info, eol: c_int, user_data: ?*anyopaque) callconv(.C) void {
|
||||
var self = @as(*Player, @ptrCast(@alignCast(@alignOf(*Player), user_data.?)));
|
||||
var self = @as(*Player, @ptrCast(@alignCast(user_data.?)));
|
||||
|
||||
if (eol != 0) {
|
||||
lib.pa_threaded_mainloop_signal(self.main_loop, 0);
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ pub const Context = struct {
|
|||
setWaveFormatFormat(wf, format);
|
||||
if (audio_client.?.IsFormatSupported(
|
||||
.SHARED,
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(@alignOf(*win32.WAVEFORMATEX), wf))),
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(wf))),
|
||||
&closest_match,
|
||||
) == win32.S_OK) {
|
||||
try fmt_arr.append(format);
|
||||
|
|
@ -494,7 +494,7 @@ pub const Context = struct {
|
|||
hr = audio_client3.?.InitializeSharedAudioStream(
|
||||
win32.AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
|
||||
0, // TODO: use the advantage of AudioClient3
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(@alignOf(*win32.WAVEFORMATEX), &wave_format))),
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(&wave_format))),
|
||||
null,
|
||||
);
|
||||
switch (hr) {
|
||||
|
|
@ -521,7 +521,7 @@ pub const Context = struct {
|
|||
win32.AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
|
||||
0,
|
||||
0,
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(@alignOf(*win32.WAVEFORMATEX), &wave_format))),
|
||||
@as(?*const win32.WAVEFORMATEX, @ptrCast(@alignCast(&wave_format))),
|
||||
null,
|
||||
);
|
||||
switch (hr) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue