Fix engine-dialog MIDI Dropdown issue
Sensitivity is managed by EngineControl::update_sensitivity, prior settings in update_midi_options() were ignored. This also fixes the layout (MIDI dropdown width) and midi-option value when changing backends.
This commit is contained in:
parent
adcc5be728
commit
aae8252341
@ -689,7 +689,7 @@ EngineControl::build_full_control_notebook ()
|
|||||||
|
|
||||||
label = manage (left_aligned_label (_("MIDI System:")));
|
label = manage (left_aligned_label (_("MIDI System:")));
|
||||||
basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
|
basic_packer.attach (*label, 0, 1, row, row + 1, xopt, (AttachOptions) 0);
|
||||||
basic_packer.attach (midi_option_combo, 1, 2, row, row + 1, SHRINK, (AttachOptions) 0);
|
basic_packer.attach (midi_option_combo, 1, 2, row, row + 1, xopt, (AttachOptions) 0);
|
||||||
basic_packer.attach (midi_devices_button, 3, 4, row, row+1, xopt, xopt);
|
basic_packer.attach (midi_devices_button, 3, 4, row, row+1, xopt, xopt);
|
||||||
row++;
|
row++;
|
||||||
|
|
||||||
@ -1154,18 +1154,9 @@ EngineControl::update_midi_options ()
|
|||||||
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
|
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
|
||||||
vector<string> midi_options = backend->enumerate_midi_options();
|
vector<string> midi_options = backend->enumerate_midi_options();
|
||||||
|
|
||||||
if (midi_options.size() == 1) {
|
if (midi_options.size() == 1 || _have_control) {
|
||||||
/* only contains the "none" option */
|
|
||||||
set_popdown_strings (midi_option_combo, midi_options);
|
|
||||||
midi_option_combo.set_sensitive (false);
|
|
||||||
} else {
|
|
||||||
if (_have_control) {
|
|
||||||
set_popdown_strings (midi_option_combo, midi_options);
|
set_popdown_strings (midi_option_combo, midi_options);
|
||||||
midi_option_combo.set_active_text (midi_options.front());
|
midi_option_combo.set_active_text (midi_options.front());
|
||||||
midi_option_combo.set_sensitive (true);
|
|
||||||
} else {
|
|
||||||
midi_option_combo.set_sensitive (false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2353,9 +2344,9 @@ EngineControl::set_current_state (const State& state)
|
|||||||
}
|
}
|
||||||
set_active_text_if_present (buffer_size_combo, bufsize_as_string (state->buffer_size));
|
set_active_text_if_present (buffer_size_combo, bufsize_as_string (state->buffer_size));
|
||||||
set_active_text_if_present (nperiods_combo, to_string (state->n_periods));
|
set_active_text_if_present (nperiods_combo, to_string (state->n_periods));
|
||||||
|
set_active_text_if_present (midi_option_combo, state->midi_option);
|
||||||
input_latency.set_value (state->input_latency);
|
input_latency.set_value (state->input_latency);
|
||||||
output_latency.set_value (state->output_latency);
|
output_latency.set_value (state->output_latency);
|
||||||
midi_option_combo.set_active_text (state->midi_option);
|
|
||||||
use_buffered_io_button.set_active (state->use_buffered_io);
|
use_buffered_io_button.set_active (state->use_buffered_io);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user