View Issue Details

IDProjectCategoryView StatusLast Update
0001974ardourfeaturespublic2008-11-21 00:03
Reportercolinf Assigned Topaul  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product VersionSVN/2.0-ongoing 
Summary0001974: Name newly created location markers immediately
DescriptionI though it would be be useful to be immediately prompted for a name when I add a new location marker, and it didn't seem like such a tricky feature to add.

Anyway, I had a go at implementing it. I'm not sure whether I've gone about it in the most sensible way (my C++ skills are minimal, and I've never programmed for gtk before), but it works for me, so in case anyone's interested it's attached.

Comments & feedback are very welcome.
TagsNo tags attached.

Activities

2007-11-26 13:02

 

name-new-markers.patch (8,105 bytes)   
Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 2711)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -1474,6 +1474,45 @@
 	reposition_and_zoom (new_leftmost, new_fpu);
 }
 
+
+bool
+Editor::name_new_marker(string &name) {
+
+	if (!Config->get_name_new_markers()) {
+		return true;
+	}
+
+	ArdourPrompter dialog (true);
+
+	dialog.set_prompt (_("New Name:"));
+
+	WindowTitle title(Glib::get_application_name());
+	title += _("Name New Location Marker");
+
+	dialog.set_title(title.get_string());
+
+	dialog.set_name ("MarkNameWindow");
+	dialog.set_size_request (250, -1);
+	dialog.set_position (Gtk::WIN_POS_MOUSE);
+
+	dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
+	dialog.set_initial_text (name);
+
+	dialog.show ();
+
+	switch (dialog.run ()) {
+	case RESPONSE_ACCEPT:
+		break;
+	default:
+		return false;
+	}
+	
+	dialog.get_result(name);
+	return true;
+
+}
+
+
 void
 Editor::add_location_from_selection ()
 {
@@ -1509,6 +1548,9 @@
 	nframes_t where = session->audible_frame();
 	
 	session->locations()->next_available_name(markername,"mark");
+	if (!name_new_marker(markername)) {
+		return;
+	}
 	Location *location = new Location (where, where, markername, Location::IsMark);
 	session->begin_reversible_command (_("add marker"));
         XMLNode &before = session->locations()->get_state();
@@ -1643,6 +1685,9 @@
 	}
 
 	session->locations()->next_available_name(markername,"mark");
+	if (!name_new_marker(markername)) {
+		return;
+	}
 	session->locations()->add (new Location (pos, 0, markername, Location::IsMark), true);
 }
 
Index: gtk2_ardour/location_ui.cc
===================================================================
--- gtk2_ardour/location_ui.cc	(revision 2711)
+++ gtk2_ardour/location_ui.cc	(working copy)
@@ -600,6 +600,12 @@
 	i_am_the_modifier--;
 }
 
+void
+LocationEditRow::focus_name() {
+	name_entry.grab_focus();
+}
+
+
 LocationUI::LocationUI ()
 	: ArdourDialog ("locations dialog"),
 	  add_location_button (_("Add New Location")),
@@ -628,6 +634,8 @@
 	location_rows_scroller.set_name ("LocationLocRowsScroller");
 	location_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
 	location_rows_scroller.set_size_request (-1, 130);
+	
+	newest_location = 0;
 
 	loc_frame_box.set_spacing (5);
 	loc_frame_box.set_border_width (5);
@@ -789,6 +797,10 @@
 			erow->remove_requested.connect (mem_fun(*this, &LocationUI::location_remove_requested));
  			erow->redraw_ranges.connect (mem_fun(*this, &LocationUI::location_redraw_ranges));
 			loc_children.push_back(Box_Helpers::Element(*erow, PACK_SHRINK, 1, PACK_START));
+			if (location == newest_location) {
+				newest_location = 0;
+				erow->focus_name();
+			}
 		}
 		else if (location->is_auto_punch()) {
 			punch_edit_row.set_session (session);
@@ -818,12 +830,16 @@
 		nframes_t where = session->audible_frame();
 		session->locations()->next_available_name(markername,"mark");
 		Location *location = new Location (where, where, markername, Location::IsMark);
+		if (Config->get_name_new_markers()) {
+			newest_location = location;			
+		}
 		session->begin_reversible_command (_("add marker"));
 		XMLNode &before = session->locations()->get_state();
 		session->locations()->add (location, true);
 		XMLNode &after = session->locations()->get_state();
 		session->add_command (new MementoCommand<Locations>(*(session->locations()), &before, &after));
 		session->commit_reversible_command ();
+		
 	}
 	
 }
Index: gtk2_ardour/editor_markers.cc
===================================================================
--- gtk2_ardour/editor_markers.cc	(revision 2711)
+++ gtk2_ardour/editor_markers.cc	(working copy)
@@ -389,6 +389,9 @@
 	
 	if (session) {
 		session->locations()->next_available_name(markername,"mark");
+		if (!name_new_marker(markername)) {
+		    	return;
+		}		
 		Location *location = new Location (where, where, markername, (Location::Flags) flags);
 		session->begin_reversible_command (_("add marker"));
                 XMLNode &before = session->locations()->get_state();
Index: gtk2_ardour/ardour_ui.h
===================================================================
--- gtk2_ardour/ardour_ui.h	(revision 2711)
+++ gtk2_ardour/ardour_ui.h	(working copy)
@@ -711,6 +711,7 @@
 	void toggle_SecondaryClockDeltaEditCursor ();
 	void toggle_only_copy_imported_files ();
 	void toggle_ShowTrackMeters ();
+	void toggle_NameNewMarkers ();
 
 	void mtc_port_changed ();
 	void map_solo_model ();
Index: gtk2_ardour/ardour.menus
===================================================================
--- gtk2_ardour/ardour.menus	(revision 2711)
+++ gtk2_ardour/ardour.menus	(working copy)
@@ -404,6 +404,7 @@
 	       <menuitem action='SecondaryClockDeltaEditCursor'/>
 	       <menuitem action='OnlyCopyImportedFiles'/>
 			<menuitem action='ShowTrackMeters'/>
+		<menuitem action='NameNewMarkers'/>
 	       <separator/>
          </menu>
 	 <menu name='Help' action='Help'>
Index: gtk2_ardour/ardour_ui_ed.cc
===================================================================
--- gtk2_ardour/ardour_ui_ed.cc	(revision 2711)
+++ gtk2_ardour/ardour_ui_ed.cc	(working copy)
@@ -419,6 +419,7 @@
 	ActionManager::register_toggle_action (option_actions, X_("SecondaryClockDeltaEditCursor"), _("Secondary Clock delta to edit point"), mem_fun (*this, &ARDOUR_UI::toggle_SecondaryClockDeltaEditCursor));	
 	ActionManager::register_toggle_action (option_actions, X_("ShowTrackMeters"), _("Enable Editor Meters"), mem_fun (*this, &ARDOUR_UI::toggle_ShowTrackMeters));
 	ActionManager::register_toggle_action (option_actions, X_("OnlyCopyImportedFiles"), _("Always copy imported files"), mem_fun (*this, &ARDOUR_UI::toggle_only_copy_imported_files));	
+	ActionManager::register_toggle_action (option_actions, X_("NameNewMarkers"), _("Name New Markers"), mem_fun (*this, &ARDOUR_UI::toggle_NameNewMarkers));
 
 	RadioAction::Group denormal_group;
 
Index: gtk2_ardour/ardour_ui_options.cc
===================================================================
--- gtk2_ardour/ardour_ui_options.cc	(revision 2711)
+++ gtk2_ardour/ardour_ui_options.cc	(working copy)
@@ -513,6 +513,12 @@
 }
 
 void
+ARDOUR_UI::toggle_NameNewMarkers()
+{
+	ActionManager::toggle_config_state ("options", "NameNewMarkers", &Configuration::set_name_new_markers, &Configuration::get_name_new_markers);
+}
+
+void
 ARDOUR_UI::mtc_port_changed ()
 {
 	bool have_mtc;
Index: gtk2_ardour/location_ui.h
===================================================================
--- gtk2_ardour/location_ui.h	(revision 2711)
+++ gtk2_ardour/location_ui.h	(working copy)
@@ -50,6 +50,7 @@
 	void set_session (ARDOUR::Session *);
 
 	void set_number (int);
+	void focus_name();
 	
 	sigc::signal<void,ARDOUR::Location*> remove_requested;  
 	sigc::signal<void> redraw_ranges;  
@@ -149,6 +150,7 @@
 
   private:
 	ARDOUR::LocationStack* locations;
+	ARDOUR::Location *newest_location;
         
 	void session_gone();
 
Index: gtk2_ardour/editor.h
===================================================================
--- gtk2_ardour/editor.h	(revision 2711)
+++ gtk2_ardour/editor.h	(working copy)
@@ -430,6 +430,7 @@
 	void hide_marker (ArdourCanvas::Item*, GdkEvent*);
 	void clear_marker_display ();
 	void mouse_add_new_marker (nframes_t where, bool is_cd=false);
+	bool name_new_marker(string &name);
 	void update_cd_marker_display ();
 	void ensure_cd_marker_updated (LocationMarkers * lam, ARDOUR::Location * location);
 
Index: libs/ardour/ardour/configuration_vars.h
===================================================================
--- libs/ardour/ardour/configuration_vars.h	(revision 2711)
+++ libs/ardour/ardour/configuration_vars.h	(working copy)
@@ -147,6 +147,7 @@
 CONFIG_VARIABLE (float, automation_interval, "automation-interval", 50)
 CONFIG_VARIABLE (bool, sync_all_route_ordering, "sync-all-route-ordering", true)
 CONFIG_VARIABLE (bool, only_copy_imported_files, "only-copy-imported-files", true)
+CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", true)
 
 /* denormal management */
 
name-new-markers.patch (8,105 bytes)   

nowhiskey

2007-11-26 14:41

reporter   ~0004576

hallo, the patch applies to ongoing@2714 and works good here!
the advantage is that if i do not want to give any name to the marker, only press 'enter' and the marker will be created with the default name like 'mark1' or so.

cheers,
doc

2008-01-09 22:43

 

name-new-markers-2858.patch (7,995 bytes)   
Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 2858)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -1772,6 +1772,45 @@
 	reposition_and_zoom (new_leftmost, new_fpu);
 }
 
+
+bool
+Editor::name_new_marker(string &name) {
+
+	if (!Config->get_name_new_markers()) {
+		return true;
+	}
+
+	ArdourPrompter dialog (true);
+
+	dialog.set_prompt (_("New Name:"));
+
+	WindowTitle title(Glib::get_application_name());
+	title += _("Name New Location Marker");
+
+	dialog.set_title(title.get_string());
+
+	dialog.set_name ("MarkNameWindow");
+	dialog.set_size_request (250, -1);
+	dialog.set_position (Gtk::WIN_POS_MOUSE);
+
+	dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
+	dialog.set_initial_text (name);
+
+	dialog.show ();
+
+	switch (dialog.run ()) {
+	case RESPONSE_ACCEPT:
+		break;
+	default:
+		return false;
+	}
+	
+	dialog.get_result(name);
+	return true;
+
+}
+
+
 void
 Editor::add_location_from_selection ()
 {
@@ -1807,6 +1846,9 @@
 	select_new_marker = true;
 
 	session->locations()->next_available_name(markername,"mark");
+	if (!name_new_marker(markername)) {
+		return;
+	}
 	Location *location = new Location (where, where, markername, Location::IsMark);
 	session->begin_reversible_command (_("add marker"));
         XMLNode &before = session->locations()->get_state();
@@ -1947,6 +1989,9 @@
 	}
 
 	session->locations()->next_available_name(markername,"mark");
+	if (!name_new_marker(markername)) {
+		return;
+	}
 	session->locations()->add (new Location (pos, 0, markername, Location::IsMark), true);
 }
 
Index: gtk2_ardour/location_ui.cc
===================================================================
--- gtk2_ardour/location_ui.cc	(revision 2858)
+++ gtk2_ardour/location_ui.cc	(working copy)
@@ -600,6 +600,12 @@
 	i_am_the_modifier--;
 }
 
+void
+LocationEditRow::focus_name() {
+	name_entry.grab_focus();
+}
+
+
 LocationUI::LocationUI ()
 	: ArdourDialog ("locations dialog"),
 	  add_location_button (_("Add New Location")),
@@ -628,6 +634,8 @@
 	location_rows_scroller.set_name ("LocationLocRowsScroller");
 	location_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
 	location_rows_scroller.set_size_request (-1, 130);
+	
+	newest_location = 0;
 
 	loc_frame_box.set_spacing (5);
 	loc_frame_box.set_border_width (5);
@@ -789,6 +797,10 @@
 			erow->remove_requested.connect (mem_fun(*this, &LocationUI::location_remove_requested));
  			erow->redraw_ranges.connect (mem_fun(*this, &LocationUI::location_redraw_ranges));
 			loc_children.push_back(Box_Helpers::Element(*erow, PACK_SHRINK, 1, PACK_START));
+			if (location == newest_location) {
+				newest_location = 0;
+				erow->focus_name();
+			}
 		}
 		else if (location->is_auto_punch()) {
 			punch_edit_row.set_session (session);
@@ -818,6 +830,9 @@
 		nframes_t where = session->audible_frame();
 		session->locations()->next_available_name(markername,"mark");
 		Location *location = new Location (where, where, markername, Location::IsMark);
+		if (Config->get_name_new_markers()) {
+			newest_location = location;			
+		}
 		session->begin_reversible_command (_("add marker"));
 		XMLNode &before = session->locations()->get_state();
 		session->locations()->add (location, true);
Index: gtk2_ardour/editor_markers.cc
===================================================================
--- gtk2_ardour/editor_markers.cc	(revision 2858)
+++ gtk2_ardour/editor_markers.cc	(working copy)
@@ -395,6 +395,9 @@
 	
 	if (session) {
 		session->locations()->next_available_name(markername,"mark");
+		if (!name_new_marker(markername)) {
+		    	return;
+		}		
 		Location *location = new Location (where, where, markername, (Location::Flags) flags);
 		session->begin_reversible_command (_("add marker"));
                 XMLNode &before = session->locations()->get_state();
Index: gtk2_ardour/ardour_ui.h
===================================================================
--- gtk2_ardour/ardour_ui.h	(revision 2858)
+++ gtk2_ardour/ardour_ui.h	(working copy)
@@ -712,6 +712,7 @@
 	void toggle_only_copy_imported_files ();
 	void toggle_ShowTrackMeters ();
 	void toggle_use_narrow_ms();
+	void toggle_NameNewMarkers ();
 
 	void mtc_port_changed ();
 	void map_solo_model ();
Index: gtk2_ardour/ardour.menus
===================================================================
--- gtk2_ardour/ardour.menus	(revision 2858)
+++ gtk2_ardour/ardour.menus	(working copy)
@@ -424,6 +424,7 @@
     	       <menuitem action='ShowTrackMeters'/>
 			<menuitem action='DefaultNarrowMS'/>
                <menuitem action='link-region-and-track-selection'/>
+		<menuitem action='NameNewMarkers'/>
 			
 	       <separator/>
          </menu>
Index: gtk2_ardour/ardour_ui_ed.cc
===================================================================
--- gtk2_ardour/ardour_ui_ed.cc	(revision 2858)
+++ gtk2_ardour/ardour_ui_ed.cc	(working copy)
@@ -426,6 +426,7 @@
 	ActionManager::register_toggle_action (option_actions, X_("ShowTrackMeters"), _("Enable Editor Meters"), mem_fun (*this, &ARDOUR_UI::toggle_ShowTrackMeters));
 	ActionManager::register_toggle_action (option_actions, X_("OnlyCopyImportedFiles"), _("Always copy imported files"), mem_fun (*this, &ARDOUR_UI::toggle_only_copy_imported_files));	
 	ActionManager::register_toggle_action (option_actions, X_("DefaultNarrowMS"), _("Use narrow mixer strips"), mem_fun (*this, &ARDOUR_UI::toggle_use_narrow_ms));
+	ActionManager::register_toggle_action (option_actions, X_("NameNewMarkers"), _("Name New Markers"), mem_fun (*this, &ARDOUR_UI::toggle_NameNewMarkers));
 
 	RadioAction::Group denormal_group;
 
Index: gtk2_ardour/ardour_ui_options.cc
===================================================================
--- gtk2_ardour/ardour_ui_options.cc	(revision 2858)
+++ gtk2_ardour/ardour_ui_options.cc	(working copy)
@@ -513,6 +513,7 @@
 	ActionManager::toggle_config_state ("options", "ShowTrackMeters", &Configuration::set_show_track_meters, &Configuration::get_show_track_meters);
 }
 
+
 void
 ARDOUR_UI::toggle_use_narrow_ms()
 {
@@ -520,6 +521,12 @@
 }
 
 void
+ARDOUR_UI::toggle_NameNewMarkers()
+{
+	ActionManager::toggle_config_state ("options", "NameNewMarkers", &Configuration::set_name_new_markers, &Configuration::get_name_new_markers);
+}
+
+void
 ARDOUR_UI::mtc_port_changed ()
 {
 	bool have_mtc;
Index: gtk2_ardour/location_ui.h
===================================================================
--- gtk2_ardour/location_ui.h	(revision 2858)
+++ gtk2_ardour/location_ui.h	(working copy)
@@ -50,6 +50,7 @@
 	void set_session (ARDOUR::Session *);
 
 	void set_number (int);
+	void focus_name();
 	
 	sigc::signal<void,ARDOUR::Location*> remove_requested;  
 	sigc::signal<void> redraw_ranges;  
@@ -149,6 +150,7 @@
 
   private:
 	ARDOUR::LocationStack* locations;
+	ARDOUR::Location *newest_location;
         
 	void session_gone();
 
Index: gtk2_ardour/editor.h
===================================================================
--- gtk2_ardour/editor.h	(revision 2858)
+++ gtk2_ardour/editor.h	(working copy)
@@ -450,6 +450,7 @@
 	void hide_marker (ArdourCanvas::Item*, GdkEvent*);
 	void clear_marker_display ();
 	void mouse_add_new_marker (nframes_t where, bool is_cd=false);
+	bool name_new_marker(string &name);
 	void update_cd_marker_display ();
 	void ensure_cd_marker_updated (LocationMarkers * lam, ARDOUR::Location * location);
 
Index: libs/ardour/ardour/configuration_vars.h
===================================================================
--- libs/ardour/ardour/configuration_vars.h	(revision 2858)
+++ libs/ardour/ardour/configuration_vars.h	(working copy)
@@ -152,6 +152,7 @@
 CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi")
 CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour")
 CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false)
+CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", true)
 
 /* denormal management */
 

name-new-markers-2858.patch (7,995 bytes)   

colinf

2008-01-09 22:45

updater   ~0004629

I just fixed some simple merge conflicts with revision 2858 & uploaded a new version, in case anyone's interested...

2008-04-11 12:52

 

name-new-markers-3247.patch (8,204 bytes)   
Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 3247)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -1836,6 +1836,46 @@
 	reposition_and_zoom (new_leftmost, new_fpu);
 }
 
+
+bool
+Editor::choose_new_marker_name(string &name) {
+
+	if (!Config->get_name_new_markers()) {
+		/* don't prompt user for a new name */
+		return true;
+	}
+
+	ArdourPrompter dialog (true);
+
+	dialog.set_prompt (_("New Name:"));
+
+	WindowTitle title(Glib::get_application_name());
+	title += _("Name New Location Marker");
+
+	dialog.set_title(title.get_string());
+
+	dialog.set_name ("MarkNameWindow");
+	dialog.set_size_request (250, -1);
+	dialog.set_position (Gtk::WIN_POS_MOUSE);
+
+	dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
+	dialog.set_initial_text (name);
+
+	dialog.show ();
+
+	switch (dialog.run ()) {
+	case RESPONSE_ACCEPT:
+		break;
+	default:
+		return false;
+	}
+	
+	dialog.get_result(name);
+	return true;
+
+}
+
+
 void
 Editor::add_location_from_selection ()
 {
@@ -1871,6 +1911,9 @@
 	select_new_marker = true;
 
 	session->locations()->next_available_name(markername,"mark");
+	if (!choose_new_marker_name(markername)) {
+		return;
+	}
 	Location *location = new Location (where, where, markername, Location::IsMark);
 	session->begin_reversible_command (_("add marker"));
         XMLNode &before = session->locations()->get_state();
@@ -2015,6 +2058,9 @@
 	}
 
 	session->locations()->next_available_name(markername,"mark");
+	if (!choose_new_marker_name(markername)) {
+		return;
+	}
 	session->locations()->add (new Location (pos, 0, markername, Location::IsMark), true);
 }
 
Index: gtk2_ardour/location_ui.cc
===================================================================
--- gtk2_ardour/location_ui.cc	(revision 3247)
+++ gtk2_ardour/location_ui.cc	(working copy)
@@ -600,6 +600,12 @@
 	i_am_the_modifier--;
 }
 
+void
+LocationEditRow::focus_name() {
+	name_entry.grab_focus();
+}
+
+
 LocationUI::LocationUI ()
 	: ArdourDialog ("locations dialog"),
 	  add_location_button (_("Add New Location")),
@@ -628,6 +634,8 @@
 	location_rows_scroller.set_name ("LocationLocRowsScroller");
 	location_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
 	location_rows_scroller.set_size_request (-1, 130);
+	
+	newest_location = 0;
 
 	loc_frame_box.set_spacing (5);
 	loc_frame_box.set_border_width (5);
@@ -789,6 +797,10 @@
 			erow->remove_requested.connect (mem_fun(*this, &LocationUI::location_remove_requested));
  			erow->redraw_ranges.connect (mem_fun(*this, &LocationUI::location_redraw_ranges));
 			loc_children.push_back(Box_Helpers::Element(*erow, PACK_SHRINK, 1, PACK_START));
+			if (location == newest_location) {
+				newest_location = 0;
+				erow->focus_name();
+			}
 		}
 		else if (location->is_auto_punch()) {
 			punch_edit_row.set_session (session);
@@ -820,6 +832,9 @@
 		nframes_t where = session->audible_frame();
 		session->locations()->next_available_name(markername,"mark");
 		Location *location = new Location (where, where, markername, Location::IsMark);
+		if (Config->get_name_new_markers()) {
+			newest_location = location;			
+		}
 		session->begin_reversible_command (_("add marker"));
 		XMLNode &before = session->locations()->get_state();
 		session->locations()->add (location, true);
Index: gtk2_ardour/editor_markers.cc
===================================================================
--- gtk2_ardour/editor_markers.cc	(revision 3247)
+++ gtk2_ardour/editor_markers.cc	(working copy)
@@ -404,6 +404,9 @@
 
 	if (session) {
 		session->locations()->next_available_name(markername, markerprefix);
+		if (!is_xrun && !choose_new_marker_name(markername)) {
+		    	return;
+		}		
 		Location *location = new Location (where, where, markername, (Location::Flags) flags);
 		session->begin_reversible_command (_("add marker"));
                 XMLNode &before = session->locations()->get_state();
Index: gtk2_ardour/ardour_ui.h
===================================================================
--- gtk2_ardour/ardour_ui.h	(revision 3247)
+++ gtk2_ardour/ardour_ui.h	(working copy)
@@ -725,6 +725,7 @@
 	void toggle_only_copy_imported_files ();
 	void toggle_ShowTrackMeters ();
 	void toggle_use_narrow_ms();
+	void toggle_NameNewMarkers ();
 	void toggle_rubberbanding_snaps_to_grid ();
 	void toggle_auto_analyse_audio ();
 	void toggle_TapeMachineMode();
Index: gtk2_ardour/ardour.menus
===================================================================
--- gtk2_ardour/ardour.menus	(revision 3247)
+++ gtk2_ardour/ardour.menus	(working copy)
@@ -511,6 +511,7 @@
     	       	     <menuitem action='ShowTrackMeters'/>
 	       	     <menuitem action='DefaultNarrowMS'/>
                	     <menuitem action='link-region-and-track-selection'/>
+	             <menuitem action='NameNewMarkers'/>
                	     <menuitem action='RubberbandingSnapsToGrid'/>
                	     <menuitem action='AutoAnalyseAudio'/>
 		</menu>
Index: gtk2_ardour/ardour_ui_ed.cc
===================================================================
--- gtk2_ardour/ardour_ui_ed.cc	(revision 3247)
+++ gtk2_ardour/ardour_ui_ed.cc	(working copy)
@@ -456,6 +456,7 @@
 	ActionManager::register_toggle_action (option_actions, X_("AutoAnalyseAudio"), _("Auto-analyse new audio"), mem_fun (*this, &ARDOUR_UI::toggle_auto_analyse_audio));
 
 	ActionManager::register_toggle_action (option_actions, X_("DefaultNarrowMS"), _("Use narrow mixer strips"), mem_fun (*this, &ARDOUR_UI::toggle_use_narrow_ms));
+	ActionManager::register_toggle_action (option_actions, X_("NameNewMarkers"), _("Name New Markers"), mem_fun (*this, &ARDOUR_UI::toggle_NameNewMarkers));
 
 	RadioAction::Group denormal_group;
 
Index: gtk2_ardour/ardour_ui_options.cc
===================================================================
--- gtk2_ardour/ardour_ui_options.cc	(revision 3247)
+++ gtk2_ardour/ardour_ui_options.cc	(working copy)
@@ -578,6 +578,12 @@
 }
 
 void
+ARDOUR_UI::toggle_NameNewMarkers()
+{
+	ActionManager::toggle_config_state ("options", "NameNewMarkers", &Configuration::set_name_new_markers, &Configuration::get_name_new_markers);
+}
+
+void
 ARDOUR_UI::toggle_rubberbanding_snaps_to_grid ()
 {
 	ActionManager::toggle_config_state ("options", "RubberbandingSnapsToGrid", &Configuration::set_rubberbanding_snaps_to_grid, &Configuration::get_rubberbanding_snaps_to_grid);
Index: gtk2_ardour/location_ui.h
===================================================================
--- gtk2_ardour/location_ui.h	(revision 3247)
+++ gtk2_ardour/location_ui.h	(working copy)
@@ -50,6 +50,7 @@
 	void set_session (ARDOUR::Session *);
 
 	void set_number (int);
+	void focus_name();
 	
 	sigc::signal<void,ARDOUR::Location*> remove_requested;  
 	sigc::signal<void> redraw_ranges;  
@@ -149,6 +150,7 @@
 
   private:
 	ARDOUR::LocationStack* locations;
+	ARDOUR::Location *newest_location;
         
 	void session_gone();
 
Index: gtk2_ardour/editor.h
===================================================================
--- gtk2_ardour/editor.h	(revision 3247)
+++ gtk2_ardour/editor.h	(working copy)
@@ -465,6 +465,7 @@
 	void hide_marker (ArdourCanvas::Item*, GdkEvent*);
 	void clear_marker_display ();
 	void mouse_add_new_marker (nframes_t where, bool is_cd=false, bool is_xrun=false);
+	bool choose_new_marker_name(string &name);
 	void update_cd_marker_display ();
 	void ensure_cd_marker_updated (LocationMarkers * lam, ARDOUR::Location * location);
 
Index: libs/ardour/ardour/configuration_vars.h
===================================================================
--- libs/ardour/ardour/configuration_vars.h	(revision 3247)
+++ libs/ardour/ardour/configuration_vars.h	(working copy)
@@ -156,6 +156,7 @@
 CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi")
 CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour")
 CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false)
+CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", false)
 CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false)
 CONFIG_VARIABLE (long, font_scale, "font-scale", 102400)
 

name-new-markers-3247.patch (8,204 bytes)   

2008-04-17 16:14

 

name-new-markers-config-var.patch (699 bytes)   
Index: libs/ardour/ardour/configuration_vars.h
===================================================================
--- libs/ardour/ardour/configuration_vars.h	(revision 3261)
+++ libs/ardour/ardour/configuration_vars.h	(working copy)
@@ -156,6 +156,7 @@
 CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi")
 CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour")
 CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false)
+CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", false)
 CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false)
 CONFIG_VARIABLE (long, font_scale, "font-scale", 102400)
 

paul

2008-04-21 12:44

administrator   ~0004882

applied and committed to svn. thanks!

Issue History

Date Modified Username Field Change
2007-11-26 13:02 colinf New Issue
2007-11-26 13:02 colinf File Added: name-new-markers.patch
2007-11-26 14:41 nowhiskey Note Added: 0004576
2008-01-09 22:43 colinf File Added: name-new-markers-2858.patch
2008-01-09 22:45 colinf Note Added: 0004629
2008-04-11 12:52 colinf File Added: name-new-markers-3247.patch
2008-04-17 16:14 colinf File Added: name-new-markers-config-var.patch
2008-04-21 12:44 paul Status new => resolved
2008-04-21 12:44 paul Resolution open => fixed
2008-04-21 12:44 paul Assigned To => paul
2008-04-21 12:44 paul Note Added: 0004882
2008-11-21 00:03 seablade Status resolved => closed