View Issue Details

IDProjectCategoryView StatusLast Update
0002340ardourbugspublic2011-08-16 11:13
Reportercolinf Assigned Topaul  
PrioritynormalSeveritytrivialReproducibilityalways
Status closedResolutionfixed 
Product VersionSVN/2.0-ongoing 
Summary0002340: "h" button in automation track header resizes selected track instead of its own track
DescriptionThe track height buttons in the header of automation tracks affect the height of the selected track, rather than the track they're on.

They're not really very useful anyway, since the addition of the track sizing handles, so they might as well just be removed.
Additional InformationAttached a patch to do just that.
TagsNo tags attached.

Relationships

duplicate of 0002260 closedpaul "h", Height button on pan and fader automation track is confused with track height 

Activities

2008-07-10 18:11

 

remove-automation-track-height-buttons.patch (3,070 bytes)   
Index: gtk2_ardour/automation_time_axis.cc
===================================================================
--- gtk2_ardour/automation_time_axis.cc	(revision 3577)
+++ gtk2_ardour/automation_time_axis.cc	(working copy)
@@ -52,7 +52,6 @@
 	  route (r),
 	  _name (nom),
 	  _state_name (state_name),
-	  height_button (_("h")),
 	  clear_button (_("clear")),
 	  auto_button (X_("")) /* force addition of a label */
 {
@@ -87,14 +86,12 @@
 
 	hide_button.add (*(manage (new Gtk::Image (::get_icon("hide")))));
 
-	height_button.set_name ("TrackSizeButton");
 	auto_button.set_name ("TrackVisualButton");
 	clear_button.set_name ("TrackVisualButton");
 	hide_button.set_name ("TrackRemoveButton");
 
 	controls_table.set_no_show_all();
 
-	ARDOUR_UI::instance()->tooltips().set_tip(height_button, _("track height"));
 	ARDOUR_UI::instance()->tooltips().set_tip(auto_button, _("automation state"));
 	ARDOUR_UI::instance()->tooltips().set_tip(clear_button, _("clear track"));
 	ARDOUR_UI::instance()->tooltips().set_tip(hide_button, _("hide track"));
@@ -155,14 +152,12 @@
 	
 	/* add the buttons */
 	controls_table.attach (hide_button, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
-	controls_table.attach (height_button, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 
 	controls_table.attach (auto_button, 5, 8, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 	controls_table.attach (clear_button, 5, 8, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 
 	controls_table.show_all ();
 
-	height_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::height_clicked));
 	clear_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::clear_clicked));
 	hide_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::hide_clicked));
 	auto_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::auto_clicked));
@@ -283,12 +278,6 @@
 }
 
 void
-AutomationTimeAxisView::height_clicked ()
-{
-	popup_size_menu (0);
-}
-
-void
 AutomationTimeAxisView::clear_clicked ()
 {
 	_session.begin_reversible_command (_("clear automation"));
@@ -344,7 +333,6 @@
 			name_hbox.show_all ();
 			
 			auto_button.show();
-			height_button.show();
 			clear_button.show();
 			hide_button.show_all();
 
@@ -363,7 +351,6 @@
 			name_hbox.show_all ();
 			
 			auto_button.hide();
-			height_button.hide();
 			clear_button.hide();
 			hide_button.hide();
 		}

Index: gtk2_ardour/automation_time_axis.h
===================================================================
--- gtk2_ardour/automation_time_axis.h	(revision 3577)
+++ gtk2_ardour/automation_time_axis.h	(working copy)
@@ -106,7 +106,6 @@
 	bool    first_call_to_set_height;
 
 	Gtk::Button        hide_button;
-	Gtk::Button        height_button;
 	Gtk::Button        clear_button;
 	Gtk::Button        auto_button; 
 	Gtk::Menu*         automation_menu;
@@ -119,7 +118,6 @@
 	Gtk::CheckMenuItem*     auto_write_item;
 
 	void clear_clicked ();
-	void height_clicked ();
 	void hide_clicked ();
 	void auto_clicked ();
 

2008-11-20 20:19

 

remove-automation-track-height-buttons-4225.patch (4,025 bytes)   
Index: gtk2_ardour/automation_time_axis.cc
===================================================================
--- gtk2_ardour/automation_time_axis.cc	(revision 4224)
+++ gtk2_ardour/automation_time_axis.cc	(working copy)
@@ -52,7 +52,6 @@
 	  route (r),
 	  _name (nom),
 	  _state_name (state_name),
-	  height_button (_("h")),
 	  clear_button (_("clear")),
 	  auto_button (X_("")) /* force addition of a label */
 {
@@ -87,19 +86,16 @@
 
 	hide_button.add (*(manage (new Gtk::Image (::get_icon("hide")))));
 
-	height_button.set_name ("TrackSizeButton");
 	auto_button.set_name ("TrackVisualButton");
 	clear_button.set_name ("TrackVisualButton");
 	hide_button.set_name ("TrackRemoveButton");
 
-	height_button.unset_flags (Gtk::CAN_FOCUS);
 	auto_button.unset_flags (Gtk::CAN_FOCUS);
 	clear_button.unset_flags (Gtk::CAN_FOCUS);
 	hide_button.unset_flags (Gtk::CAN_FOCUS);
 
 	controls_table.set_no_show_all();
 
-	ARDOUR_UI::instance()->tooltips().set_tip(height_button, _("track height"));
 	ARDOUR_UI::instance()->tooltips().set_tip(auto_button, _("automation state"));
 	ARDOUR_UI::instance()->tooltips().set_tip(clear_button, _("clear track"));
 	ARDOUR_UI::instance()->tooltips().set_tip(hide_button, _("hide track"));
@@ -160,14 +156,12 @@
 	
 	/* add the buttons */
 	controls_table.attach (hide_button, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
-	controls_table.attach (height_button, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 
 	controls_table.attach (auto_button, 5, 8, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 	controls_table.attach (clear_button, 5, 8, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
 
 	controls_table.show_all ();
 
-	height_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::height_clicked));
 	clear_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::clear_clicked));
 	hide_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::hide_clicked));
 	auto_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::auto_clicked));
@@ -288,12 +282,6 @@
 }
 
 void
-AutomationTimeAxisView::height_clicked ()
-{
-	popup_size_menu (0);
-}
-
-void
 AutomationTimeAxisView::clear_clicked ()
 {
 	_session.begin_reversible_command (_("clear automation"));
@@ -307,7 +295,7 @@
 AutomationTimeAxisView::set_height (uint32_t h)
 {
 	bool changed = (height != (uint32_t) h);
-	bool changed_between_small_and_normal = ( (h == hSmall || h == hSmaller) ^ (height == hSmall || height == hSmaller) );
+	bool changed_between_small_and_normal = ( (height < hNormal && h >= hNormal) || (height >= hNormal || h < hNormal) );
 
 	TimeAxisView* state_parent = get_parent_with_state ();
 	XMLNode* xml_node = (state_parent ? state_parent->get_child_xml_node (_state_name) : NULL);
@@ -351,7 +339,6 @@
 			name_hbox.show_all ();
 			
 			auto_button.show();
-			height_button.show();
 			clear_button.show();
 			hide_button.show_all();
 
@@ -370,15 +357,11 @@
 			name_hbox.show_all ();
 			
 			auto_button.hide();
-			height_button.hide();
 			clear_button.hide();
 			hide_button.hide();
 		}
 	} else if (h >= hNormal){
-		auto_button.show();
-		height_button.show();
-		clear_button.show();
-		hide_button.show_all();
+		cerr << "track grown, but neither changed_between_small_and_normal nor first_call_to_set_height set!" << endl;
 	}
 
 	if (changed) {
Index: gtk2_ardour/automation_time_axis.h
===================================================================
--- gtk2_ardour/automation_time_axis.h	(revision 4224)
+++ gtk2_ardour/automation_time_axis.h	(working copy)
@@ -106,7 +106,6 @@
 	bool    first_call_to_set_height;
 
 	Gtk::Button        hide_button;
-	Gtk::Button        height_button;
 	Gtk::Button        clear_button;
 	Gtk::Button        auto_button; 
 	Gtk::Menu*         automation_menu;
@@ -119,7 +118,6 @@
 	Gtk::CheckMenuItem*     auto_write_item;
 
 	void clear_clicked ();
-	void height_clicked ();
 	void hide_clicked ();
 	void auto_clicked ();
 

colinf

2008-11-20 20:24

updater   ~0005250

Here's an updated version of the patch against svn 4225.

It also slightly optimises the case of the track being expanded to height >= hNormal. It will only call the .show() methods of the controls once when the height becomes >= hNormal, rather than whenever the height is >= hNormal.

seablade

2008-11-24 09:35

manager   ~0005307

Assigned to Paul to check the patch.

     Seablade

paul

2008-11-25 11:40

administrator   ~0005364

committed at rev 4251.

Issue History

Date Modified Username Field Change
2008-07-10 18:11 colinf New Issue
2008-07-10 18:11 colinf File Added: remove-automation-track-height-buttons.patch
2008-11-20 20:20 colinf File Added: remove-automation-track-height-buttons-4225.patch
2008-11-20 20:24 colinf Note Added: 0005250
2008-11-24 08:44 seablade Status new => confirmed
2008-11-24 09:34 seablade Status confirmed => assigned
2008-11-24 09:34 seablade Assigned To => paul
2008-11-24 09:35 seablade Note Added: 0005307
2008-11-24 09:35 seablade Relationship added duplicate of 0002260
2008-11-25 11:40 paul cost => 0.00
2008-11-25 11:40 paul Status assigned => resolved
2008-11-25 11:40 paul Resolution open => fixed
2008-11-25 11:40 paul Note Added: 0005364
2010-04-24 10:28 cth103 Category bugs => bugs2
2010-04-24 10:32 cth103 Category bugs2 => bugs
2011-08-16 11:13 colinf Status resolved => closed