v1.3.56 - Midi bindings crash
This commit is contained in:
@@ -73,6 +73,20 @@ public:
|
||||
result.symbol_ = symbol;
|
||||
return result;
|
||||
}
|
||||
bool operator==(const MidiBinding&other) const
|
||||
{
|
||||
return this->symbol_ == other.symbol_
|
||||
&& this->channel_ == other.channel_
|
||||
&& this->bindingType_ == other.bindingType_
|
||||
&& this->note_ == other.note_
|
||||
&& this->control_ == other.control_
|
||||
&& this->minValue_ == other.minValue_
|
||||
&& this->maxValue_ == other.maxValue_
|
||||
&& this->rotaryScale_ == other.rotaryScale_
|
||||
&& this->linearControlType_ == other.linearControlType_
|
||||
&& this->switchControlType_ == other.switchControlType_;
|
||||
|
||||
}
|
||||
GETTER_SETTER(channel);
|
||||
GETTER_SETTER_REF(symbol);
|
||||
GETTER_SETTER(bindingType);
|
||||
|
||||
@@ -327,6 +327,10 @@ bool PedalboardItem::IsStructurallyIdentical(const PedalboardItem&other) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (this->midiBindings() != other.midiBindings())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (this->isSplit()) // so is the other by virtue of idential uris.
|
||||
{
|
||||
// provisionally, it seems ok to change the split type.
|
||||
|
||||
@@ -1485,7 +1485,7 @@ void PiPedalModel::OnNotifyMidiValueChanged(int64_t instanceId, int portIndex, f
|
||||
std::vector<IPiPedalModelSubscriber::ptr> t{subscribers.begin(), subscribers.end()};
|
||||
for (auto &subscriber : t)
|
||||
{
|
||||
t[i]->OnMidiValueChanged(instanceId, symbol, value);
|
||||
subscriber->OnMidiValueChanged(instanceId, symbol, value);
|
||||
}
|
||||
|
||||
this->SetPresetChanged(-1, true);
|
||||
|
||||
Reference in New Issue
Block a user