audio icon indicating copy to clipboard operation
audio copied to clipboard

Topology struct?

Open Be-ing opened this issue 1 year ago • 0 comments

I'm wondering if it could be helpful to add a struct like

struct Topology {
    pub channels: usize,
    pub frames: usize,
}

to pass to Buf::with_topology and ResizableBuf::resize_topology. When writing these functions, it is easy to mix up the channels and frames arguments because both are usizes. I have to refer to the documentation to ensure that I'm calling them correctly. Currently, calls to these look like:

let buffer = Sequential::with_topology(2, 256);

There would be less room for confusion like this:

let buffer = Sequential::with_topology(Topology { channels: 2, frames: 256 });

or

let topology = Topology { channels: 2, frames: 256 };
let buffer = sequential::with_topology(topology);

An alternative solution could be adding newtypes for frames and/or channels.

Be-ing avatar Dec 12 '22 17:12 Be-ing