Extend Peak Indicator Reset Options
Enhancement Summary
Usually my projects end up with many mixer channels (over 8 usually), and I find myself manually clicking the Peak Indicator on all the channels after some plugin causes temporary clipping. Now, all of the peak indicators indicate a 10.0 or something that is well above the regular level of a song, and I have to manually click every single peak indicator. I propose that we add a context menu to the peak indicators, so that when right-clicked, additional reset options show up. Keeping the current left click behavior would be fine, as long as we put a tooltip in the bottom left informing users of this (similar to the one that appears when dragging a MIDI clip in the Song Editor).
Also, I don't know what term we should use in the context menu completely. For now, I made a mockup with the word "sender", but this doesn't seem very intuitive. If anyone has a better idea as to what channels sending to the selected channel should be called, please feel free to improve upon this.
Implementation Details / Mockup
Here I have a rough sketch of what would be in the context menu
(Note: To reset all peak indicators, one can just reset senders recursively on the master channel. I am well aware that any completely unlinked channels will not be affected by this, but I don't think that should matter, as you wouldn't be able to hear that channel normally either)
IMPLEMENTATION
To implement this, it should be fairly straightforward. Two new methods, . One thing that I'm not entirely sure on is how to distinguish between a right click on the actual channel as opposed to the tiny void reset_senders & void reset_senders_recursive in MixerChannelView can be implemented. Because MixerChannel::m_recieves is public and MixerChannelView is where the current click-to-reset function in implemented, it can be added in MixerChannelView.cppPeakIndicator, tho I believe we can add more code in PeakIndicator::mousePressEvent to distinguish between the left clicks and right clicks, but this might make routing back to the (I'm not a GUI guy). One thing that might need to be done, though, is making the peak indicator bigger, because it might be difficult to right-click in such a small area.
(EDIT: I believe I am mistaken as to how the current reset system works. I confused MixerChannelView::reset with PeakIndicator::resetPeakToMinusInf, so implementation might be a little more confusing that I believed it be.)
Please search the issue tracker for existing feature requests before submitting your own.
- I have searched all existing issues and confirmed that this is not a duplicate.
Source: LMMS/lmms