Closed Swiftb0y closed 1 year ago
I can confirm this:
[Main] fatal /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:544 ASSERT failure in QList<T>::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 544
While investigating this, I noticed an architectural flaw that we should discuss. The Equalizer effect is currently modeled as an EffectChain, so we can load arbitrary effect presets into it. I'm not sure if that's desirable because it conflicts with the "Equalizer Plugin" option in the Equalizer Preferences.
Loading any effect to the EQ Rack is a feature. It allows for instance to use a LV2 EQ. There is a checkbox to disable this feature, because it is quite advanced.
Do you mean that it is a conflict that one can use the CO interface to bypass this checkbox?
Mhmm its not super well thought out in cases where the effect is not actually an EQ. The simulated band gain will still be applied to the waveform in those cases.
There is a checkbox to disable this feature, because it is quite advanced. Do you mean that it is a conflict that one can use the CO interface to bypass this checkbox?
Do you mean "Only allow EQ Knobs to control EQ-specific effects"? Then yes, you can load any Quick Effect Chain Preset to the EQ regardless of that checkbox.
The simulated band gain will still be applied to the waveform in those cases.
No, this is controlled by pManifest->setIsMixingEQ(true);
Then yes, you can load any Quick Effect Chain Preset to the EQ regardless of that checkbox.
Normally the user has not the required controls visible. But anyway, there is room for improvements.
Well the issue is that only the actual preferences dialog sets that if you load an effectChain via EffectChain::loadChainPreset
it will never check that.
Edit: Fixed as part of #11424
Fixed by #11424
Bug Description
Essentially seems to boil down to an out-of-bounds access in
EffectChain::loadChainPreset(QSharedPointer<EffectChainPreset>)
at/src/effects/effectchain.cpp:211
Can easily reproduced by setting the CO to any value != 0 in via the dev tools. The other
loaded_chain_preset
COs work fine (for example for[QuickEffectRack1_[ChannelN]]
).Backtrace (I removed unrelated threads because that made the comment too big).
Version
2.4.0
OS
Fedora 37