pcm-util icon indicating copy to clipboard operation
pcm-util copied to clipboard

Rename `samplesPerFrame` to just `frame`?

Open dy opened this issue 8 years ago • 3 comments

dy avatar Aug 31 '16 17:08 dy

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?

jamen avatar Aug 31 '16 17:08 jamen

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.

dy avatar Aug 31 '16 17:08 dy

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.

dy avatar Oct 17 '17 15:10 dy