pcm-util
pcm-util copied to clipboard
Rename `samplesPerFrame` to just `frame`?
I don't mind being explicit about variable names, having them be as long as you need to describe what you need to.
Do you think it would be confusing without it? I feel like it could be easily mistaken for size in different units like bytes?
Exactly, usually things with -size
suffix, like frameSize
etc means size in bytes, and -length
means size in units, like samples etc. So frameLength
would be kind of conventional, but seems nobody uses that in audio processing, web-audio-api calls it bufferSize
. Others call it block
, blockSize
etc.
frame
is easy to type in:
createGenerator(fn, {
frame: 1024
});
But mb confusing a bit as if it is current frame number. I guess we should leave samplesPerFrame
.
Following latest practices in regl-line2d, pick-by-alias, defined, regl etc. it seems to be very handy to use aliases for property names. samplesPerFrame
is really too verbose to remember (getting back to audiojs after 2 months of detour), and length
or frameSize
are legitimate synonyms, since there is no place for any other meaning but frame length. Very useful to have f
as a shortcut for frequency
etc., since it does not introduce ambiguity.
So I would suggest using defined(opts.frameSize, opts.length, opts.samplesPerFrame, default)
as a pattern for parsing options across components. That really allows for intuitive API.