mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-21 06:06:25 +01:00
[Summary] Add buttons "Name tracks after driver" and "Reset tracks name to default" in Preference Panel
[Reviewed] GZharun [git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 465180]
This commit is contained in:
parent
0d0271e431
commit
cd94ffdebe
6 changed files with 121 additions and 12 deletions
|
|
@ -79,8 +79,6 @@ TracksControlPanel::TracksControlPanel ()
|
||||||
, _apply_button (named_children ().get_waves_button ("apply_button"))
|
, _apply_button (named_children ().get_waves_button ("apply_button"))
|
||||||
, _control_panel_button (named_children ().get_waves_button ("control_panel_button"))
|
, _control_panel_button (named_children ().get_waves_button ("control_panel_button"))
|
||||||
, _no_button (named_children ().get_waves_button ("no_button"))
|
, _no_button (named_children ().get_waves_button ("no_button"))
|
||||||
, _name_track_after_driver_button (named_children ().get_waves_button ("name_track_after_driver_button"))
|
|
||||||
, _reset_track_names_button (named_children ().get_waves_button ("reset_track_names_button"))
|
|
||||||
, _yes_button (named_children ().get_waves_button ("yes_button"))
|
, _yes_button (named_children ().get_waves_button ("yes_button"))
|
||||||
, _engine_combo (named_children ().get_combo_box_text ("engine_combo"))
|
, _engine_combo (named_children ().get_combo_box_text ("engine_combo"))
|
||||||
, _device_combo (named_children ().get_combo_box_text ("device_combo"))
|
, _device_combo (named_children ().get_combo_box_text ("device_combo"))
|
||||||
|
|
@ -90,6 +88,8 @@ TracksControlPanel::TracksControlPanel ()
|
||||||
, _default_open_path (named_children ().get_label("default_open_path"))
|
, _default_open_path (named_children ().get_label("default_open_path"))
|
||||||
, _multi_out_button(named_children ().get_waves_button ("multi_out_button"))
|
, _multi_out_button(named_children ().get_waves_button ("multi_out_button"))
|
||||||
, _stereo_out_button(named_children ().get_waves_button ("stereo_out_button"))
|
, _stereo_out_button(named_children ().get_waves_button ("stereo_out_button"))
|
||||||
|
, _name_tracks_after_driver(named_children ().get_waves_button ("name_tracks_after_driver_button"))
|
||||||
|
, _reset_tracks_name_to_default(named_children ().get_waves_button ("reset_tracks_name_to_default_button"))
|
||||||
, _browse_button(named_children ().get_waves_button("browse_default_folder"))
|
, _browse_button(named_children ().get_waves_button("browse_default_folder"))
|
||||||
, _have_control (false)
|
, _have_control (false)
|
||||||
, _ignore_changes (0)
|
, _ignore_changes (0)
|
||||||
|
|
|
||||||
|
|
@ -63,10 +63,10 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList
|
||||||
WavesButton& _apply_button;
|
WavesButton& _apply_button;
|
||||||
WavesButton& _control_panel_button;
|
WavesButton& _control_panel_button;
|
||||||
WavesButton& _no_button;
|
WavesButton& _no_button;
|
||||||
WavesButton& _name_track_after_driver_button;
|
|
||||||
WavesButton& _reset_track_names_button;
|
|
||||||
WavesButton& _yes_button;
|
WavesButton& _yes_button;
|
||||||
WavesButton& _browse_button;
|
WavesButton& _browse_button;
|
||||||
|
WavesButton& _name_tracks_after_driver;
|
||||||
|
WavesButton& _reset_tracks_name_to_default;
|
||||||
Gtk::ComboBoxText& _engine_combo;
|
Gtk::ComboBoxText& _engine_combo;
|
||||||
Gtk::ComboBoxText& _device_combo;
|
Gtk::ComboBoxText& _device_combo;
|
||||||
Gtk::ComboBoxText& _sample_rate_combo;
|
Gtk::ComboBoxText& _sample_rate_combo;
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,10 @@ TracksControlPanel::init ()
|
||||||
_sample_rate_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::sample_rate_changed));
|
_sample_rate_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::sample_rate_changed));
|
||||||
_buffer_size_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::buffer_size_changed));
|
_buffer_size_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::buffer_size_changed));
|
||||||
|
|
||||||
|
_name_tracks_after_driver.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_name_tracks_after_driver));
|
||||||
|
_reset_tracks_name_to_default.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_reset_tracks_name_to_default));
|
||||||
|
|
||||||
|
|
||||||
populate_engine_combo ();
|
populate_engine_combo ();
|
||||||
populate_output_mode();
|
populate_output_mode();
|
||||||
|
|
||||||
|
|
@ -458,8 +462,7 @@ void TracksControlPanel::device_changed (bool show_confirm_dial/*=true*/)
|
||||||
true);
|
true);
|
||||||
|
|
||||||
msg.set_position (Gtk::WIN_POS_MOUSE);
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
msg.set_keep_above(true);
|
||||||
set_keep_above(false);
|
|
||||||
|
|
||||||
switch (msg.run()) {
|
switch (msg.run()) {
|
||||||
case RESPONSE_NO:
|
case RESPONSE_NO:
|
||||||
|
|
@ -467,11 +470,10 @@ void TracksControlPanel::device_changed (bool show_confirm_dial/*=true*/)
|
||||||
PBD::Unwinder<uint32_t> protect_ignore_changes (_ignore_changes, _ignore_changes + 1);
|
PBD::Unwinder<uint32_t> protect_ignore_changes (_ignore_changes, _ignore_changes + 1);
|
||||||
|
|
||||||
_device_combo.set_active_text (EngineStateController::instance()->get_current_device_name());
|
_device_combo.set_active_text (EngineStateController::instance()->get_current_device_name());
|
||||||
set_keep_above(true);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_keep_above(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EngineStateController::instance()->set_new_device_as_current(device_name) )
|
if (EngineStateController::instance()->set_new_device_as_current(device_name) )
|
||||||
|
|
@ -497,6 +499,78 @@ TracksControlPanel::on_all_inputs_on_button(WavesButton*)
|
||||||
EngineStateController::instance()->set_state_to_all_inputs(true);
|
EngineStateController::instance()->set_state_to_all_inputs(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TracksControlPanel::on_name_tracks_after_driver(WavesButton*)
|
||||||
|
{
|
||||||
|
if( Config->get_tracks_auto_naming() == NameAfterDriver )
|
||||||
|
{
|
||||||
|
std::string message = _("Current mode is already active");
|
||||||
|
MessageDialog msg (message,
|
||||||
|
false,
|
||||||
|
Gtk::MESSAGE_WARNING,
|
||||||
|
Gtk::BUTTONS_OK,
|
||||||
|
true);
|
||||||
|
|
||||||
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
|
||||||
|
msg.set_keep_above(true);
|
||||||
|
msg.run();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string message = _("Do you realy want to switch tracks naming?");
|
||||||
|
MessageDialog msg (message,
|
||||||
|
false,
|
||||||
|
Gtk::MESSAGE_WARNING,
|
||||||
|
Gtk::BUTTONS_YES_NO,
|
||||||
|
true);
|
||||||
|
|
||||||
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
msg.set_keep_above(true);
|
||||||
|
|
||||||
|
switch (msg.run()) {
|
||||||
|
case RESPONSE_YES:
|
||||||
|
Config->set_tracks_auto_naming(NameAfterDriver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TracksControlPanel::on_reset_tracks_name_to_default(WavesButton*)
|
||||||
|
{
|
||||||
|
if( Config->get_tracks_auto_naming() == UseDefaultNames )
|
||||||
|
{
|
||||||
|
std::string message = _("Current mode is already active");
|
||||||
|
MessageDialog msg (message,
|
||||||
|
false,
|
||||||
|
Gtk::MESSAGE_WARNING,
|
||||||
|
Gtk::BUTTONS_OK,
|
||||||
|
true);
|
||||||
|
|
||||||
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
|
||||||
|
msg.set_keep_above(true);
|
||||||
|
msg.run();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string message = _("Do you realy want to switch tracks naming?");
|
||||||
|
MessageDialog msg (message,
|
||||||
|
false,
|
||||||
|
Gtk::MESSAGE_WARNING,
|
||||||
|
Gtk::BUTTONS_YES_NO,
|
||||||
|
true);
|
||||||
|
|
||||||
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
msg.set_keep_above(true);
|
||||||
|
|
||||||
|
switch (msg.run()) {
|
||||||
|
case RESPONSE_YES:
|
||||||
|
Config->set_tracks_auto_naming(UseDefaultNames);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
TracksControlPanel::on_all_inputs_off_button(WavesButton*)
|
TracksControlPanel::on_all_inputs_off_button(WavesButton*)
|
||||||
{
|
{
|
||||||
|
|
@ -762,7 +836,7 @@ TracksControlPanel::on_device_list_update (bool current_device_disconnected)
|
||||||
populate_device_combo();
|
populate_device_combo();
|
||||||
|
|
||||||
if (current_device_disconnected) {
|
if (current_device_disconnected) {
|
||||||
std::string message = _("Audio Device Has Been Removed");
|
std::string message = _("Audio device has been removed");
|
||||||
|
|
||||||
MessageDialog msg (message,
|
MessageDialog msg (message,
|
||||||
false,
|
false,
|
||||||
|
|
@ -771,6 +845,7 @@ TracksControlPanel::on_device_list_update (bool current_device_disconnected)
|
||||||
true);
|
true);
|
||||||
|
|
||||||
msg.set_position (Gtk::WIN_POS_MOUSE);
|
msg.set_position (Gtk::WIN_POS_MOUSE);
|
||||||
|
msg.set_keep_above(true);
|
||||||
msg.run();
|
msg.run();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,8 @@
|
||||||
void on_all_inputs_off_button(WavesButton*);
|
void on_all_inputs_off_button(WavesButton*);
|
||||||
void on_all_outputs_on_button(WavesButton*);
|
void on_all_outputs_on_button(WavesButton*);
|
||||||
void on_all_outputs_off_button(WavesButton*);
|
void on_all_outputs_off_button(WavesButton*);
|
||||||
|
void on_name_tracks_after_driver(WavesButton*);
|
||||||
|
void on_reset_tracks_name_to_default(WavesButton*);
|
||||||
|
|
||||||
void engine_changed ();
|
void engine_changed ();
|
||||||
void device_changed (bool show_confirm_dial);
|
void device_changed (bool show_confirm_dial);
|
||||||
|
|
|
||||||
|
|
@ -207,12 +207,12 @@
|
||||||
</HBox>
|
</HBox>
|
||||||
</ScrolledWindow>
|
</ScrolledWindow>
|
||||||
<Button
|
<Button
|
||||||
id="name_track_after_driver_button"
|
id="name_tracks_after_driver_button"
|
||||||
text="NAME TRACK\nAFTER DRIVER"
|
text="NAME TRACK\nAFTER DRIVER"
|
||||||
style="generic_button"
|
style="generic_button"
|
||||||
x="16" y="369" width="136" height="39"/>
|
x="16" y="369" width="136" height="39"/>
|
||||||
<Button
|
<Button
|
||||||
id="reset_track_names_button"
|
id="reset_tracks_name_to_default_button"
|
||||||
text="RESET TRACK\nNAMES TO DEFAULT"
|
text="RESET TRACK\nNAMES TO DEFAULT"
|
||||||
style="generic_button"
|
style="generic_button"
|
||||||
x="153" y="369" width="136" height="39"/>
|
x="153" y="369" width="136" height="39"/>
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,19 @@ PBD::Signal2<void,std::string,std::string> Session::VersionMismatch;
|
||||||
static void clean_up_session_event (SessionEvent* ev) { delete ev; }
|
static void clean_up_session_event (SessionEvent* ev) { delete ev; }
|
||||||
const SessionEvent::RTeventCallback Session::rt_cleanup (clean_up_session_event);
|
const SessionEvent::RTeventCallback Session::rt_cleanup (clean_up_session_event);
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
// if pattern is not found out_str == in_str
|
||||||
|
bool remove_pattern_from_string(const std::string& in_str, const std::string& pattern, std::string& out_str) {
|
||||||
|
if (in_str.find(pattern) != std::string::npos ) {
|
||||||
|
out_str = in_str.substr(pattern.size() );
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
out_str = in_str;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** @param snapshot_name Snapshot name, without .ardour suffix */
|
/** @param snapshot_name Snapshot name, without .ardour suffix */
|
||||||
Session::Session (AudioEngine &eng,
|
Session::Session (AudioEngine &eng,
|
||||||
const string& fullpath,
|
const string& fullpath,
|
||||||
|
|
@ -369,7 +382,26 @@ Session::Session (AudioEngine &eng,
|
||||||
|
|
||||||
how_many = inputs.size();
|
how_many = inputs.size();
|
||||||
|
|
||||||
list<boost::shared_ptr<AudioTrack> > tracks = new_audio_track (1, 1, Normal, 0, how_many, string() );
|
|
||||||
|
list<boost::shared_ptr<AudioTrack> > tracks;
|
||||||
|
|
||||||
|
// Track names after driver
|
||||||
|
if( Config->get_tracks_auto_naming() == NameAfterDriver )
|
||||||
|
{
|
||||||
|
string track_name = "";
|
||||||
|
for( int i = 0; i < inputs.size(); ++i)
|
||||||
|
{
|
||||||
|
string track_name;
|
||||||
|
remove_pattern_from_string(inputs[i], "system:", track_name);
|
||||||
|
|
||||||
|
list<boost::shared_ptr<AudioTrack> > single_track = new_audio_track (1, 1, Normal, 0, 1, track_name);
|
||||||
|
tracks.insert(tracks.begin(), single_track.front());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // Default track names
|
||||||
|
tracks = new_audio_track (1, 1, Normal, 0, how_many, string());
|
||||||
|
}
|
||||||
|
|
||||||
if (tracks.size() != how_many) {
|
if (tracks.size() != how_many) {
|
||||||
destroy ();
|
destroy ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue