GUI part of LV2 midnam race condition fix
..and support for midnam patches on MIDI Busses.
This commit is contained in:
@@ -677,6 +677,8 @@ GenericPluginUI::build_midi_table ()
|
||||
pgm_table->attach (*cui, col, col + 1, row, row+1, FILL|EXPAND, FILL);
|
||||
}
|
||||
|
||||
insert->plugin ()->read_midnam();
|
||||
|
||||
midi_refill_patches ();
|
||||
|
||||
insert->plugin()->BankPatchChange.connect (
|
||||
@@ -684,12 +686,7 @@ GenericPluginUI::build_midi_table ()
|
||||
boost::bind (&GenericPluginUI::midi_bank_patch_change, this, _1),
|
||||
gui_context());
|
||||
|
||||
/* Note: possible race with MidiTimeAxisView::update_patch_selector()
|
||||
* which uses this signal to update/re-register the midnam (also in gui context).
|
||||
* MTAV does register before us, so the midnam should already be updated when
|
||||
* we're notified.
|
||||
*/
|
||||
insert->plugin()->UpdateMidnam.connect (
|
||||
insert->plugin()->UpdatedMidnam.connect (
|
||||
midi_connections, invalidator (*this),
|
||||
boost::bind (&GenericPluginUI::midi_refill_patches, this),
|
||||
gui_context());
|
||||
|
||||
@@ -427,6 +427,7 @@ MidiTimeAxisView::update_patch_selector ()
|
||||
pi->plugin()->UpdateMidnam.connect (midnam_connection, invalidator (*this),
|
||||
boost::bind (&MidiTimeAxisView::reread_midnam, this),
|
||||
gui_context());
|
||||
reread_midnam ();
|
||||
|
||||
pluginprovided = true;
|
||||
std::string model_name = pi->plugin ()->midnam_model ();
|
||||
@@ -450,9 +451,9 @@ MidiTimeAxisView::reread_midnam ()
|
||||
{
|
||||
boost::shared_ptr<Processor> the_instrument (_route->the_instrument());
|
||||
boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert>(the_instrument);
|
||||
pi->plugin ()->read_midnam();
|
||||
bool rv = pi->plugin ()->read_midnam();
|
||||
|
||||
if (_patch_change_dialog) {
|
||||
if (rv && _patch_change_dialog) {
|
||||
_patch_change_dialog->refresh ();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user