-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce relativeNormalization option for split channels rendering #2108
Introduce relativeNormalization option for split channels rendering #2108
Conversation
might rename this |
otherwise lgtm |
I was struggling with a name for it as well. I'm just not sure about "stereo" because that implies 2 channels, and this would apply to any multichannel audio. The use case inspired this addition for example is when showing audio files recorded on tv/film shoots, which contain any number of channels and are not correlated by level. Agreed on the default to false. It is already set up that way to avoid affecting current implementations |
can you also add a changelog entry? |
4.2.0 is fine as is. you can also rename next in changelog to 4.2.0 if you want. |
I added under heading Next (unreleased) because I am a bit confused with the versioning since I thought 4.2.0 was already released. |
oops, my bad, i meant 4.3.0 |
Cool, I thought i was missing something =]. Updated the version tag and the changelog to 4.3.0 |
…atspaugh#2108) * Extract absolute maximum as a utility function * Implement relativeNormalization option for split channels * assign default parameters for splitChannelsOptions * Improve example documentation for relativeNormalization * fix typo * document purpose of overallAbsMax * Capitalize normalizedMax parameter documentation * rewrap long comment * version tag relativeNormalization property * unit tests for absMax utility module * add relativeNormalization to changelog * corrected version references to 4.3.0 * improve absMax documentation * mark version for SplitChannelOptions typedef with @SInCE instead of @Version
…atspaugh#2108) * Extract absolute maximum as a utility function * Implement relativeNormalization option for split channels * assign default parameters for splitChannelsOptions * Improve example documentation for relativeNormalization * fix typo * document purpose of overallAbsMax * Capitalize normalizedMax parameter documentation * rewrap long comment * version tag relativeNormalization property * unit tests for absMax utility module * add relativeNormalization to changelog * corrected version references to 4.3.0 * improve absMax documentation * mark version for SplitChannelOptions typedef with @SInCE instead of @Version
Short description of changes:
Introduced new splitChannelsOption parameter relativeNormalization, that allows wavesurfer to normalize channels while keeping them proportional to each other. Currently normalize normalizes each channel independently, so it's impossible to visually tell when a channel is louder than the others after normalization.
Also fixed assignment of default parameters to splitChannelsOptions, so partial options won't cause bugs anymore.
Breaking in the external API:
None
Breaking changes in the internal API:
None. Added parameter to MultiCanvas.prepareDraw that can be left undefined in order to prevent breaking current calls.
Todos/Notes:
Added esdoc documentation for splitChannelsOptions. Still need to update gh-pages if PR is accepted
Related Issues and other PRs: