sysaudio: display which audio-backend got selected (#1351)
This commit is contained in:
parent
aae6ab3afa
commit
fa3bea0eac
1 changed files with 9 additions and 2 deletions
|
|
@ -4,6 +4,8 @@ const util = @import("util.zig");
|
||||||
const backends = @import("backends.zig");
|
const backends = @import("backends.zig");
|
||||||
const conv = @import("conv.zig");
|
const conv = @import("conv.zig");
|
||||||
|
|
||||||
|
const log = std.log.scoped(.sysaudio);
|
||||||
|
|
||||||
pub const Backend = backends.Backend;
|
pub const Backend = backends.Backend;
|
||||||
pub const Range = util.Range;
|
pub const Range = util.Range;
|
||||||
|
|
||||||
|
|
@ -33,20 +35,25 @@ pub const Context = struct {
|
||||||
pub fn init(comptime backend: ?Backend, allocator: std.mem.Allocator, options: Options) InitError!Context {
|
pub fn init(comptime backend: ?Backend, allocator: std.mem.Allocator, options: Options) InitError!Context {
|
||||||
const data: backends.Context = blk: {
|
const data: backends.Context = blk: {
|
||||||
if (backend) |b| {
|
if (backend) |b| {
|
||||||
break :blk try @typeInfo(
|
const d = try @typeInfo(
|
||||||
std.meta.fieldInfo(backends.Context, b).type,
|
std.meta.fieldInfo(backends.Context, b).type,
|
||||||
).pointer.child.init(allocator, options);
|
).pointer.child.init(allocator, options);
|
||||||
|
log.info("Backend selected: {s}", .{b.name});
|
||||||
|
break :blk d;
|
||||||
} else {
|
} else {
|
||||||
inline for (std.meta.fields(Backend), 0..) |b, i| {
|
inline for (std.meta.fields(Backend), 0..) |b, i| {
|
||||||
if (@typeInfo(
|
if (@typeInfo(
|
||||||
std.meta.fieldInfo(backends.Context, @as(Backend, @enumFromInt(b.value))).type,
|
std.meta.fieldInfo(backends.Context, @as(Backend, @enumFromInt(b.value))).type,
|
||||||
).pointer.child.init(allocator, options)) |d| {
|
).pointer.child.init(allocator, options)) |d| {
|
||||||
|
log.info("Backend selected: {s}", .{b.name});
|
||||||
break :blk d;
|
break :blk d;
|
||||||
} else |err| {
|
} else |err| {
|
||||||
if (i == std.meta.fields(Backend).len - 1)
|
if (i == std.meta.fields(Backend).len - 1) {
|
||||||
|
log.info("Init failed of Backend: {s}", .{b.name});
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
unreachable;
|
unreachable;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue