Make CD track details visible whenever CD range is ticked.
authorColin Fletcher <colin.m.fletcher@googlemail.com>
Mon, 1 Jul 2013 17:56:10 +0000 (18:56 +0100)
committerColin Fletcher <colin.m.fletcher@googlemail.com>
Mon, 1 Jul 2013 18:03:20 +0000 (19:03 +0100)
Make the CD track details visible whenever the CD range box has been
ticked, rather than only when the user toggles the box on.

gtk2_ardour/location_ui.cc
gtk2_ardour/location_ui.h

index 9b9f3bfa2289632e63346a74aa0671294fdcf398..d30327ad787b7e2ac1ac5fbf56d98c985d1b5d2e 100644 (file)
@@ -307,6 +307,10 @@ LocationEditRow::set_location (Location *loc)
                end_clock.show();
                length_clock.show();
 
+               if (location->is_cd_marker()) {
+                       show_cd_track_details ();
+               }
+
                ARDOUR_UI::instance()->set_tip (remove_button, _("Remove this range"));
                ARDOUR_UI::instance()->set_tip (start_clock, _("Start time - middle click to locate here"));
                ARDOUR_UI::instance()->set_tip (end_clock, _("End time - middle click to locate here"));
@@ -446,6 +450,34 @@ LocationEditRow::clock_changed (LocationPart part)
        }
 }
 
+void
+LocationEditRow::show_cd_track_details ()
+{
+
+       if (location->cd_info.find("isrc") != location->cd_info.end()) {
+               isrc_entry.set_text(location->cd_info["isrc"]);
+       }
+       if (location->cd_info.find("performer") != location->cd_info.end()) {
+               performer_entry.set_text(location->cd_info["performer"]);
+       }
+       if (location->cd_info.find("composer") != location->cd_info.end()) {
+               composer_entry.set_text(location->cd_info["composer"]);
+       }
+       if (location->cd_info.find("scms") != location->cd_info.end()) {
+               scms_check_button.set_active(true);
+       }
+       if (location->cd_info.find("preemph") != location->cd_info.end()) {
+               preemph_check_button.set_active(true);
+       }
+
+
+       if (!cd_track_details_hbox.get_parent()) {
+               item_table.attach (cd_track_details_hbox, 0, 7, 1, 2, FILL | EXPAND, FILL, 4, 0);
+       }
+       // item_table.resize(2, 7);
+       cd_track_details_hbox.show_all();
+}
+
 void
 LocationEditRow::cd_toggled ()
 {
@@ -469,27 +501,7 @@ LocationEditRow::cd_toggled ()
 
        if (location->is_cd_marker() && !(location->is_mark())) {
 
-               if (location->cd_info.find("isrc") != location->cd_info.end()) {
-                       isrc_entry.set_text(location->cd_info["isrc"]);
-               }
-               if (location->cd_info.find("performer") != location->cd_info.end()) {
-                       performer_entry.set_text(location->cd_info["performer"]);
-               }
-               if (location->cd_info.find("composer") != location->cd_info.end()) {
-                       composer_entry.set_text(location->cd_info["composer"]);
-               }
-               if (location->cd_info.find("scms") != location->cd_info.end()) {
-                       scms_check_button.set_active(true);
-               }
-               if (location->cd_info.find("preemph") != location->cd_info.end()) {
-                       preemph_check_button.set_active(true);
-               }
-
-               if (!cd_track_details_hbox.get_parent()) {
-                       item_table.attach (cd_track_details_hbox, 0, 7, 1, 2, FILL | EXPAND, FILL, 4, 0);
-               }
-               // item_table.resize(2, 7);
-               cd_track_details_hbox.show_all();
+               show_cd_track_details ();
 
        } else if (cd_track_details_hbox.get_parent()){
 
index b01b63e8e454eb2c990ab072cce6c0e4fa4cef5f..395464e0492f11cdc275c7f89d2187fed545c469 100644 (file)
@@ -140,6 +140,7 @@ class LocationEditRow  : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        void position_lock_style_changed (ARDOUR::Location *);
 
        void set_clock_editable_status ();
+       void show_cd_track_details ();
 
        PBD::ScopedConnectionList connections;
 };