Skip to content

Commit

Permalink
Moved the preconfigure cod to GOMidiReceivingSendingObject::LoadMidiO…
Browse files Browse the repository at this point in the history
…bject
  • Loading branch information
oleg68 committed Mar 3, 2025
1 parent a9e5a7a commit 13de9a2
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 20 deletions.
12 changes: 1 addition & 11 deletions src/grandorgue/midi/GOMidiReceiver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ GOMidiReceiver::GOMidiReceiver(
: GOMidiReceiverBase(type), r_config(organModel.GetConfig()) {}

void GOMidiReceiver::Load(
GOConfigReader &cfg,
const wxString &group,
GOMidiMap &map,
int midiInputNumber) {
GOConfigReader &cfg, const wxString &group, GOMidiMap &map) {
if (!r_config.ODFCheck()) {
/* Skip old style entries */
if (m_type == MIDI_RECV_DRAWSTOP)
Expand All @@ -32,13 +29,6 @@ void GOMidiReceiver::Load(
ODFSetting, group, wxT("MIDIProgramChangeNumber"), 0, 128, false);
}
GOMidiReceiverBase::Load(cfg, group, map);
if (!IsMidiConfigured() && midiInputNumber >= 0) {
const GOMidiReceiverBase *pInitialEvents
= r_config.FindMidiEvent(m_type, midiInputNumber);

if (pInitialEvents)
RenewFrom(*pInitialEvents);
}
}

int GOMidiReceiver::GetTranspose() const { return r_config.Transpose(); }
6 changes: 1 addition & 5 deletions src/grandorgue/midi/GOMidiReceiver.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,7 @@ class GOMidiReceiver : public GOMidiReceiverBase {
GOMidiReceiver(GOOrganModel &organModel, GOMidiReceiverType type);

using GOMidiReceiverBase::Load;
void Load(
GOConfigReader &cfg,
const wxString &group,
GOMidiMap &map,
int midiInputNumber = -1);
void Load(GOConfigReader &cfg, const wxString &group, GOMidiMap &map);
};

#endif
15 changes: 12 additions & 3 deletions src/grandorgue/midi/objects/GOMidiReceivingSendingObject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ GOMidiReceivingSendingObject::GOMidiReceivingSendingObject(
const wxString &midiTypeCode,
const wxString &midiTypeName,
GOMidiSenderType senderType,
GOMidiReceiverType reveiverType)
GOMidiReceiverType receiverType)
: GOMidiSendingObject(organModel, midiTypeCode, midiTypeName, senderType),
m_receiver(organModel, reveiverType),
m_ReceiverType(receiverType),
m_receiver(organModel, receiverType),
p_ReceiverKeyMap(nullptr),
m_MidiInputNumber(0) {
SetMidiReceiver(&m_receiver);
Expand Down Expand Up @@ -51,7 +52,15 @@ void GOMidiReceivingSendingObject::LoadMidiObject(
GOConfigReader &cfg, const wxString &group, GOMidiMap &midiMap) {
GOMidiSendingObject::LoadMidiObject(cfg, group, midiMap);
if (!IsReadOnly()) {
m_receiver.Load(cfg, group, midiMap, m_MidiInputNumber);
m_receiver.Load(cfg, group, midiMap);
if (!m_receiver.IsMidiConfigured() && m_MidiInputNumber >= 0) {
const GOMidiReceiverBase *pInitialEvents
= r_OrganModel.GetConfig().FindMidiEvent(
m_ReceiverType, m_MidiInputNumber);

if (pInitialEvents)
m_receiver.RenewFrom(*pInitialEvents);
}
}
}

Expand Down
3 changes: 2 additions & 1 deletion src/grandorgue/midi/objects/GOMidiReceivingSendingObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
class GOMidiReceivingSendingObject : public GOMidiSendingObject,
private GOEventHandler {
private:
GOMidiReceiverType m_ReceiverType;
GOMidiReceiver m_receiver;
const GOMidiReceiver::KeyMap *p_ReceiverKeyMap;
// used for load initial config
Expand All @@ -27,7 +28,7 @@ class GOMidiReceivingSendingObject : public GOMidiSendingObject,
const wxString &midiTypeCode,
const wxString &midiTypeName,
GOMidiSenderType senderType,
GOMidiReceiverType reveiverType);
GOMidiReceiverType receiverType);

~GOMidiReceivingSendingObject();

Expand Down

0 comments on commit 13de9a2

Please sign in to comment.