X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=midi_mapping_dialog.cpp;fp=midi_mapping_dialog.cpp;h=4a4ecfbfee7c2218910412df584c0f7fc5cc0af7;hp=02ce308daed8cb814f481a2389485f4fa5a041cd;hb=52c3ac9a9a358ea422810b9376651de9f283bd12;hpb=402b3d36c13bb04e9a2f690c5c12d8f85d6dc415 diff --git a/midi_mapping_dialog.cpp b/midi_mapping_dialog.cpp index 02ce308..4a4ecfb 100644 --- a/midi_mapping_dialog.cpp +++ b/midi_mapping_dialog.cpp @@ -20,6 +20,7 @@ #include "midi_mapper.h" #include "midi_mapping.pb.h" +#include "post_to_main_thread.h" #include "ui_midi_mapping.h" class QObject; @@ -445,28 +446,32 @@ void MIDIMappingDialog::fill_controls_from_mapping(const MIDIMappingProto &mappi void MIDIMappingDialog::controller_changed(unsigned controller) { - for (const InstantiatedSpinner &is : controller_spinners) { - if (is.spinner->hasFocus()) { - is.spinner->setValue(controller); - is.spinner->selectAll(); + post_to_main_thread([=]{ + for (const InstantiatedSpinner &is : controller_spinners) { + if (is.spinner->hasFocus()) { + is.spinner->setValue(controller); + is.spinner->selectAll(); + } } - } + }); } void MIDIMappingDialog::note_on(unsigned note) { - for (const InstantiatedSpinner &is : button_spinners) { - if (is.spinner->hasFocus()) { - is.spinner->setValue(note); - is.spinner->selectAll(); + post_to_main_thread([=]{ + for (const InstantiatedSpinner &is : button_spinners) { + if (is.spinner->hasFocus()) { + is.spinner->setValue(note); + is.spinner->selectAll(); + } } - } - for (const InstantiatedSpinner &is : light_spinners) { - if (is.spinner->hasFocus()) { - is.spinner->setValue(note); - is.spinner->selectAll(); + for (const InstantiatedSpinner &is : light_spinners) { + if (is.spinner->hasFocus()) { + is.spinner->setValue(note); + is.spinner->selectAll(); + } } - } + }); } pair MIDIMappingDialog::guess_offset(unsigned bus_idx, MIDIMappingDialog::SpinnerGroup spinner_group)