Skip to content
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

Latest master: Normalizing BitInvader results in volume increasing to a deafening level #5867

Closed
ExperiBass opened this issue Dec 31, 2020 · 6 comments
Labels
Milestone

Comments

@ExperiBass
Copy link
Contributor

ExperiBass commented Dec 31, 2020

Bug Summary

When normalizing BitInvader, the currently playing tone plays at an extremely high volume.

Steps to reproduce

1: Open BitInvader.
2: Press the "Normalize" button.

Expected behavior

The volume stays at a consistent level.

Actual behavior

The volume redlines.

Screenshot

Screen Shot 2020-12-31 at 10 46 51 AM

Affected LMMS versions

1.3.0-alpha.1.57+gaa02a2154

@ExperiBass ExperiBass added the bug label Dec 31, 2020
@zonkmachine
Copy link
Member

I don't see a difference here compared to lmms-1.2.2 . Are you sure this isn't just BitInvader that is a bit too high compared to most other plugins with default values? This is a known issue.

@zonkmachine
Copy link
Member

No, I see this issue too. It has got to be a new Bit Invader instance. Steps to reproduce as follows.

  • Add a new Bit Invader
  • Select 'Normalize'
  • Press a key -> insane level on master, no signal at all on 1.2
  • Select a wave
  • Press a key -> normal level

@zonkmachine zonkmachine added this to the 1.3 milestone Jan 1, 2021
@zonkmachine
Copy link
Member

zonkmachine commented Jan 1, 2021

lengthChanged();
m_graph.setWaveToSine();

I can't build master on my 'away for holiday' machine but if I add lengthChanged(); after m_graph.setWaveToSine(); on stable-1.2 it fixes the issue there. I guess swapping these lines on master should do the trick.

@thmueller64
Copy link
Contributor

I can confirm the problem on master and that your suggestion fixes the problem @zonkmachine. The call to lengthChanged() prior to m_graph.setWaveToSine() causes the normalization factor to be calculated on the uninitialized waveform and to be incorrectly applied to the initialized waveform.

@thmueller64
Copy link
Contributor

It seems that you can only observe this behavior if the first thing you do on a fresh Bit Invader instance is pressing the Normalize button.
As soon as you select a different waveform or move the length knob, the normalization factor is recalculated and applied correctly.

@zonkmachine
Copy link
Member

Fixed in #5871

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants