[Summary] Merging ARODUR's and TRACKS' preferences

This commit is contained in:
VKamyshniy 2014-10-01 18:50:37 +03:00
parent 048d03ecd8
commit 97da2c29ff
6 changed files with 412 additions and 51 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

View file

@ -61,16 +61,25 @@ TracksControlPanel::TracksControlPanel ()
, _obey_mmc_commands_button (get_waves_button ("obey_mmc_commands_button"))
, _send_mmc_commands_button (get_waves_button ("send_mmc_commands_button"))
, _send_mmc_feedback_button (get_waves_button ("send_mmc_feedback_button"))
, _dc_bias_against_denormals_button (get_waves_button ("dc_bias_against_denormals_button"))
, _copy_imported_files_button (get_waves_button ("copy_imported_files_button"))
, _inbound_mmc_device_spinbutton (get_spin_button ("inbound_mmc_device_spinbutton"))
, _outbound_mmc_device_spinbutton (get_spin_button ("outbound_mmc_device_spinbutton"))
, _limit_undo_history_spinbutton (get_spin_button ("limit_undo_history_spinbutton"))
, _save_undo_history_spinbutton (get_spin_button ("save_undo_history_spinbutton"))
, _file_type_dropdown (get_waves_dropdown ("file_type_dropdown"))
, _bit_depth_dropdown (get_waves_dropdown ("bit_depth_dropdown"))
, _frame_rate_dropdown (get_waves_dropdown ("frame_rate_dropdown"))
, _browse_button(get_waves_button("browse_default_folder"))
, _auto_lock_timer_dropdown(get_waves_dropdown("auto_lock_timer_dropdown"))
, _auto_save_timer_dropdown(get_waves_dropdown("auto_save_timer_dropdown"))
, _pre_record_buffer_dropdown(get_waves_dropdown("pre_record_buffer_dropdown"))
, _waveform_shape_dropdown(get_waves_dropdown ("waveform_shape_dropdown"))
, _browse_button (get_waves_button("browse_default_folder"))
, _auto_lock_timer_dropdown (get_waves_dropdown("auto_lock_timer_dropdown"))
, _auto_save_timer_dropdown (get_waves_dropdown("auto_save_timer_dropdown"))
, _pre_record_buffer_dropdown (get_waves_dropdown("pre_record_buffer_dropdown"))
, _waveform_shape_dropdown (get_waves_dropdown ("waveform_shape_dropdown"))
, _peak_hold_time_dropdown (get_waves_dropdown ("peak_hold_time_dropdown"))
, _dpm_fall_off_dropdown (get_waves_dropdown ("dpm_fall_off_dropdown"))
, _recording_seconds_dropdown (get_waves_dropdown ("recording_seconds_dropdown"))
, _playback_seconds_dropdown (get_waves_dropdown ("playback_seconds_dropdown"))
, _have_control (false)
, _ignore_changes (0)
{

View file

@ -74,8 +74,12 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList
WavesButton& _obey_mmc_commands_button;
WavesButton& _send_mmc_commands_button;
WavesButton& _send_mmc_feedback_button;
WavesButton& _dc_bias_against_denormals_button;
WavesButton& _copy_imported_files_button;
Gtk::SpinButton& _inbound_mmc_device_spinbutton;
Gtk::SpinButton& _outbound_mmc_device_spinbutton;
Gtk::SpinButton& _limit_undo_history_spinbutton;
Gtk::SpinButton& _save_undo_history_spinbutton;
WavesDropdown& _engine_dropdown;
WavesDropdown& _device_dropdown;
WavesDropdown& _sample_rate_dropdown;
@ -87,6 +91,11 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList
WavesDropdown& _auto_save_timer_dropdown;
WavesDropdown& _pre_record_buffer_dropdown;
WavesDropdown& _waveform_shape_dropdown;
WavesDropdown& _peak_hold_time_dropdown;
WavesDropdown& _dpm_fall_off_dropdown;
WavesDropdown& _recording_seconds_dropdown;
WavesDropdown& _playback_seconds_dropdown;
Gtk::Label& _latency_label;
Gtk::Label& _default_open_path;

View file

@ -902,18 +902,101 @@ void TracksControlPanel::display_general_preferences ()
dbg_msg ("TracksControlPanel::display_general_preferences ():\nUnexpected WaveFormShape !");
break;
}
float peak_hold_time = Config->get_meter_hold ();
int selected_item = 0;
if (peak_hold_time <= (MeterHoldOff + 0.1)) {
selected_item = 0;
} else if (peak_hold_time <= (MeterHoldShort + 0.1)) {
selected_item = 1;
} else if (peak_hold_time <= (MeterHoldMedium + 0.1)) {
selected_item = 2;
} else if (peak_hold_time <= (MeterHoldLong + 0.1)) {
selected_item = 3;
}
_peak_hold_time_dropdown.set_selected_item (selected_item);
float meter_falloff = Config->get_meter_falloff ();
selected_item = 0;
if (meter_falloff <= (METER_FALLOFF_OFF + 0.1)) {
selected_item = 0;
} else if (meter_falloff <= (METER_FALLOFF_SLOWEST + 0.1)) {
selected_item = 1;
} else if (meter_falloff <= (METER_FALLOFF_SLOW + 0.1)) {
selected_item = 2;
} else if (meter_falloff <= (METER_FALLOFF_SLOWISH + 0.1)) {
selected_item = 3;
} else if (meter_falloff <= (METER_FALLOFF_MODERATE + 0.1)) {
selected_item = 4;
} else if (meter_falloff <= (METER_FALLOFF_MEDIUM + 0.1)) {
selected_item = 5;
} else if (meter_falloff <= (METER_FALLOFF_FAST + 0.1)) {
selected_item = 6;
} else if (meter_falloff <= (METER_FALLOFF_FASTER + 0.1)) {
selected_item = 7;
} else if (meter_falloff <= (METER_FALLOFF_FASTEST + 0.1)) {
selected_item = 8;
}
_dpm_fall_off_dropdown.set_selected_item (selected_item);
long period = Config->get_audio_capture_buffer_seconds ();
selected_item = 0;
if (period <= 0.1) {
selected_item = 0;
} else if ((period <= 5.1)) {
selected_item = 1;
} else if ((period <= 10.1)) {
selected_item = 2;
} else if ((period <= 15.1)) {
selected_item = 3;
} else if ((period <= 30.1)) {
selected_item = 4;
} else if ((period <= 45.1)) {
selected_item = 5;
} else if ((period <= 60.1)) {
selected_item = 6;
}
_recording_seconds_dropdown.set_selected_item (selected_item);
period = Config->get_audio_playback_buffer_seconds ();
selected_item = 0;
if (period <= 0.1) {
selected_item = 0;
} else if ((period <= 5.1)) {
selected_item = 1;
} else if ((period <= 10.1)) {
selected_item = 2;
} else if ((period <= 15.1)) {
selected_item = 3;
} else if ((period <= 30.1)) {
selected_item = 4;
} else if ((period <= 45.1)) {
selected_item = 5;
} else if ((period <= 60.1)) {
selected_item = 6;
}
_playback_seconds_dropdown.set_selected_item (selected_item);
_obey_mmc_commands_button.set_active_state (Config->get_mmc_control () ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off);
_send_mmc_commands_button.set_active_state (Config->get_send_mmc () ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off);
_send_mmc_feedback_button.set_active_state (Config->get_midi_feedback () ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off);
_inbound_mmc_device_spinbutton.set_value (Config->get_mmc_receive_device_id ());
_outbound_mmc_device_spinbutton.set_value (Config->get_mmc_send_device_id ());
_limit_undo_history_spinbutton.set_value (Config->get_history_depth ());
_save_undo_history_spinbutton.set_value (Config->get_saved_history_depth ());
_copy_imported_files_button.set_active_state (Config->get_only_copy_imported_files () ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off);
_dc_bias_against_denormals_button.set_active_state (Config->get_denormal_protection () ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off);
}
void TracksControlPanel::save_general_preferences ()
{
int item = _waveform_shape_dropdown.get_selected_item ();
switch (item) {
int selected_item = _waveform_shape_dropdown.get_selected_item ();
switch (selected_item) {
case 0:
Config->set_waveform_shape (Traditional);
break;
@ -925,11 +1008,70 @@ void TracksControlPanel::save_general_preferences ()
break;
}
selected_item = _peak_hold_time_dropdown.get_selected_item ();
switch (selected_item) {
case 0:
Config->set_meter_hold (MeterHoldOff);
break;
case 1:
Config->set_meter_hold (MeterHoldShort);
break;
case 2:
Config->set_meter_hold (MeterHoldMedium);
break;
case 3:
Config->set_meter_hold (MeterHoldLong);
break;
default:
dbg_msg ("TracksControlPanel::general_preferences ():\nUnexpected peak hold time!");
break;
}
selected_item = _dpm_fall_off_dropdown.get_selected_item ();
switch (selected_item) {
case 0:
Config->set_meter_falloff (METER_FALLOFF_OFF);
break;
case 1:
Config->set_meter_falloff (METER_FALLOFF_SLOWEST);
break;
case 2:
Config->set_meter_falloff (METER_FALLOFF_SLOW);
break;
case 3:
Config->set_meter_falloff (METER_FALLOFF_SLOWISH);
break;
case 4:
Config->set_meter_falloff (METER_FALLOFF_MODERATE);
break;
case 5:
Config->set_meter_falloff (METER_FALLOFF_MEDIUM);
break;
case 6:
Config->set_meter_falloff (METER_FALLOFF_FAST);
break;
case 7:
Config->set_meter_falloff (METER_FALLOFF_FASTER);
break;
case 8:
Config->set_meter_falloff (METER_FALLOFF_FASTEST);
break;
default:
dbg_msg ("TracksControlPanel::general_preferences ():\nUnexpected meter fall off time!");
break;
}
Config->set_mmc_control (_obey_mmc_commands_button.active_state () == Gtkmm2ext::ExplicitActive);
Config->set_send_mmc (_send_mmc_commands_button.active_state () == Gtkmm2ext::ExplicitActive);
Config->set_midi_feedback (_send_mmc_feedback_button.active_state () == Gtkmm2ext::ExplicitActive);
Config->set_only_copy_imported_files (_copy_imported_files_button.active_state () == Gtkmm2ext::ExplicitActive);
Config->set_denormal_protection (_dc_bias_against_denormals_button.active_state () == Gtkmm2ext::ExplicitActive);
Config->set_mmc_receive_device_id (_inbound_mmc_device_spinbutton.get_value ());
Config->set_mmc_send_device_id (_outbound_mmc_device_spinbutton.get_value ());
Config->set_history_depth (_limit_undo_history_spinbutton.get_value ());
Config->set_saved_history_depth (_save_undo_history_spinbutton.get_value ());
Config->set_save_history (_save_undo_history_spinbutton.get_value () > 0);
}
@ -1458,12 +1600,20 @@ TracksControlPanel::on_parameter_changed (const std::string& parameter_name)
} else if (parameter_name == "default-session-parent-dir") {
_default_open_path.set_text(Config->get_default_session_parent_dir());
} else if ((parameter_name == "meter-hold") ||
(parameter_name == "meter-falloff") ||
(parameter_name == "waveform-shape") ||
(parameter_name == "mmc-control") ||
(parameter_name == "send-mmc") ||
(parameter_name == "midi-feedback") ||
(parameter_name == "mmc-receive-device-id") ||
(parameter_name == "mmc-send-device-id")){
(parameter_name == "mmc-send-device-id") ||
(parameter_name == "playback-buffer-seconds") ||
(parameter_name == "capture-buffer-seconds") ||
(parameter_name == "only-copy-imported-files") ||
(parameter_name == "denormal-protection") ||
(parameter_name == "history-depth") ||
(parameter_name == "save-history") ||
(parameter_name == "save-history-depth")){
// This is not that correct.
// We should update UI when the panel is being shown.
// We should not react immediately.

View file

@ -12,17 +12,24 @@
fgdisabled ="#959595"/>
<style name="parameter_label"
style="generic_control"
width="300"
width="246"
horzalignment="end"/>
<style name="parameter_spacing"
width="20"/>
width="15"/>
<style name="generic_button"
style="generic_control"
bordercolor="#7E7E7E"
borderwidth="1 1 0 0"/>
<style name="generic_dropdown"
style="generic_control"
bgdisabled="#373737"/>
bgdisabled="#373737"
height="20"/>
<style name="preferences_tab_dropdown"
style="generic_dropdown"
bgdisabled="#373737"
width="216"
normalicon="preference_general_preferences_dropdown"
activeicon="preference_general_preferences_dropdown_active"/>
<style name="generic_dropdown_menu"
bgnormal="#454545"/>
@ -192,7 +199,6 @@
x="96"
y="12"
width="126"
height="20"
normalicon="preference_device_dropdown"
activeicon="preference_device_dropdown_active"
_prelighticon="preference_device_dropdown_prelight"
@ -217,7 +223,6 @@
x="96"
y="40"
width="126"
height="20"
normalicon="preference_device_dropdown"
activeicon="preference_device_dropdown_active"
_prelighticon="preference_device_dropdown_prelight"
@ -241,7 +246,6 @@
x="311"
y="12"
width="90"
height="20"
normalicon="preference_rate_buffer_dropdown"
activeicon="preference_rate_buffer_dropdown_active"
_prelighticon="preference_rate_buffer_dropdown_prelight"
@ -265,7 +269,6 @@
x="311"
y="40"
width="90"
height="20"
normalicon="preference_rate_buffer_dropdown"
activeicon="preference_rate_buffer_dropdown_active"
_prelighticon="preference_rate_buffer_dropdown_prelight"
@ -296,23 +299,31 @@
winfont ="Arial Bold 12"
macfont ="Helvetica Bold 12"
x="18" y="12"/>
<iconbutton id="multi_out_button"
text="Multi Out"
x="280"
y="6"
width="106"
height="28"
normalicon="preferences_multi_out_button"
activeicon="preferences_multi_out_button_active"
_prelighticon="preferences_multi_out_button_prelight"/>
<Iconbutton id="stereo_out_button"
x="387"
y="6"
width="106"
height="28"
normalicon="preferences_stereo_out_button"
activeicon="preferences_stereo_out_button_active"
_prelighticon="preferences_stereo_out_button_prelight"/>
<Button id="multi_out_button"
text="Multi Out"
style="generic_control"
fgnormal="#909090"
bgnormal="#606060"
fgactive="#ffffff"
bgactive="#0A8893"
borderwidth="0 0 0 0"
x="280"
y="6"
width="106"
height="28"/>
<Button id="stereo_out_button"
text="Stereo Out"
style="generic_control"
fgnormal="#909090"
bgnormal="#606060"
fgactive="#ffffff"
bgactive="#0A8893"
borderwidth="0 0 0 0"
x="387"
y="6"
width="106"
height="28"/>
</Layout>
<Layout bgnormal="#565656" x="0" y="141" width="505" height="416">
<Layout bgnormal="#862579" x="16" y="13" width="3" height="41"/>
@ -455,7 +466,6 @@
x="215"
y="40"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -482,7 +492,6 @@
x="215"
y="70"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -507,7 +516,6 @@
x="215"
y="100"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -539,7 +547,6 @@
x="215"
y="175"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -570,7 +577,6 @@
x="215"
y="205"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -604,7 +610,6 @@
x="215"
y="235"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
@ -650,21 +655,15 @@
height="557"
visible="false">
<HBox>
<VBox width="21"/>
<VBox width="15"/>
<VBox spacing="6">
<HBox height="21"/>
<HBox >
<HBox>
<Label style="parameter_label"
text="WAVEFORM SHAPE"
horzalignment="end"/>
text="Peak Hold Time"/>
<VBox style="parameter_spacing"/>
<Dropdown id="waveform_shape_dropdown"
style="generic_dropdown"
width="150"
height="20"
normalicon="preference_session_settings_dropdown"
activeicon="preference_session_settings_dropdown_active"
_prelighticon="preference_session_settings_dropdown_prelight">
<Dropdown id="peak_hold_time_dropdown"
style="preferences_tab_dropdown">
<HBox>
<VBox width="10"/>
<Label style="generic_control"
@ -672,10 +671,82 @@
width="117"/>
</HBox>
<DropdownMenu style="generic_dropdown_menu">
<DropdownRadioItem title="Traditional"
<DropdownItem title="Off"
horzalignment="start"
data="0"/>
<DropdownRadioItem title="Rectified"
<DropdownItem title="Short"
horzalignment="start"
data="1"/>
<DropdownItem title="Medium"
horzalignment="start"
data="2"/>
<DropdownItem title="Long"
horzalignment="start"
data="3"/>
</DropdownMenu>
</Dropdown>
</HBox>
<HBox >
<Label style="parameter_label"
text="DPM Fall-off"/>
<VBox style="parameter_spacing"/>
<Dropdown id="dpm_fall_off_dropdown"
style="preferences_tab_dropdown">
<HBox>
<VBox width="10"/>
<Label style="generic_control"
horzalignment="start"
width="117"/>
</HBox>
<DropdownMenu style="generic_dropdown_menu">
<DropdownItem title="Off"
horzalignment="start"
data="0"/>
<DropdownItem title="Slowest [6.6dB/sec]"
horzalignment="start"
data="1"/>
<DropdownItem title="Slow [8.6dB/sec] (BBC PPM, EBU PPM)"
horzalignment="start"
data="2"/>
<DropdownItem title="Slowish [12.0dB/sec] (DIN)"
horzalignment="start"
data="3"/>
<DropdownItem title="Moderate [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"
horzalignment="start"
data="4"/>
<DropdownItem title="Medium [20dB/sec]"
horzalignment="start"
data="5"/>
<DropdownItem title="Fast [32dB/sec]"
horzalignment="start"
data="6"/>
<DropdownItem title="Faster [46dB/sec]"
horzalignment="start"
data="7"/>
<DropdownItem title="Fastest [70dB/sec]"
horzalignment="start"
data="8"/>
</DropdownMenu>
</Dropdown>
</HBox>
<HBox >
<Label style="parameter_label"
text="Waveform Shape"
horzalignment="end"/>
<VBox style="parameter_spacing"/>
<Dropdown id="waveform_shape_dropdown"
style="preferences_tab_dropdown">
<HBox>
<VBox width="10"/>
<Label style="generic_control"
horzalignment="start"
width="117"/>
</HBox>
<DropdownMenu style="generic_dropdown_menu">
<DropdownItem title="Traditional"
horzalignment="start"
data="0"/>
<DropdownItem title="Rectified"
horzalignment="start"
data="1"/>
</DropdownMenu>
@ -736,6 +807,128 @@
step="1"
page="10"/>
</HBox>
<HBox>
<Label style="parameter_label"
text="Playback (Seconds of Buffering)"/>
<VBox style="parameter_spacing"/>
<Dropdown id="playback_seconds_dropdown"
style="preferences_tab_dropdown">
<HBox>
<VBox width="10"/>
<Label style="generic_control"
horzalignment="start"
width="117"/>
</HBox>
<DropdownMenu style="generic_dropdown_menu">
<DropdownItem title="0"
horzalignment="start"
data="0"/>
<DropdownItem title="5"
horzalignment="start"
data="1"/>
<DropdownItem title="10"
horzalignment="start"
data="2"/>
<DropdownItem title="15"
horzalignment="start"
data="3"/>
<DropdownItem title="30"
horzalignment="start"
data="4"/>
<DropdownItem title="45"
horzalignment="start"
data="5"/>
<DropdownItem title="60"
horzalignment="start"
data="6"/>
</DropdownMenu>
</Dropdown>
</HBox>
<HBox>
<Label style="parameter_label"
text="Recording (Seconds of Buffering)"/>
<VBox style="parameter_spacing"/>
<Dropdown id="recording_seconds_dropdown"
style="preferences_tab_dropdown">
<HBox>
<VBox width="10"/>
<Label style="generic_control"
horzalignment="start"
width="117"/>
</HBox>
<DropdownMenu style="generic_dropdown_menu">
<DropdownItem title="0"
horzalignment="start"
data="0"/>
<DropdownItem title="5"
horzalignment="start"
data="1"/>
<DropdownItem title="10"
horzalignment="start"
data="2"/>
<DropdownItem title="15"
horzalignment="start"
data="3"/>
<DropdownItem title="30"
horzalignment="start"
data="4"/>
<DropdownItem title="45"
horzalignment="start"
data="5"/>
<DropdownItem title="60"
horzalignment="start"
data="6"/>
</DropdownMenu>
</Dropdown>
</HBox>
<HBox>
<Label style="parameter_label"
text="Use DC Bias To Protect Against Denormals"/>
<VBox style="parameter_spacing"/>
<Iconbutton id="dc_bias_against_denormals_button"
width="20"
height="20"
normalicon="waves_check_box"
activeicon="waves_check_box_active"
toggleable="true"/>
</HBox>
<HBox>
<Label style="parameter_label"
text="Limit undo history to"/>
<VBox style="parameter_spacing"/>
<SpinButton id="limit_undo_history_spinbutton"
width="50"
min="0"
max="512"
step="1"
page="10"/>
<Label style="generic_control"
text=" commands"/>
</HBox>
<HBox>
<Label style="parameter_label"
text="Save undo history of"/>
<VBox style="parameter_spacing"/>
<SpinButton id="save_undo_history_spinbutton"
width="50"
min="0"
max="512"
step="1"
page="10"/>
<Label style="generic_control"
text=" commands"/>
</HBox>
<HBox>
<Label style="parameter_label"
text="Always Copy Imported Files"/>
<VBox style="parameter_spacing"/>
<Iconbutton id="copy_imported_files_button"
width="20"
height="20"
normalicon="waves_check_box"
activeicon="waves_check_box_active"
toggleable="true"/>
</HBox>
</VBox>
</HBox>
<!--<ScrolledWindow