summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-09-14 20:39:03 +0000
committerCarl Hetherington <carl@carlh.net>2011-09-14 20:39:03 +0000
commit315f41f82f1e5e5cf941e83895848a6372670935 (patch)
tree7d8f919229b4b523640f5a19b245d2817f54428e
parent8f39701908660bbf2c7d2f2867ea83638daf33f0 (diff)
Option to glue new markers to bars and beats (part of
#4202). git-svn-id: svn://localhost/ardour2/branches/3.0@10087 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/session_option_editor.cc9
-rw-r--r--libs/ardour/ardour/session_configuration_vars.h1
-rw-r--r--libs/ardour/location.cc3
3 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/session_option_editor.cc b/gtk2_ardour/session_option_editor.cc
index 73663ebe22..bd5f359297 100644
--- a/gtk2_ardour/session_option_editor.cc
+++ b/gtk2_ardour/session_option_editor.cc
@@ -293,6 +293,15 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
sigc::mem_fun (*_session_config, &SessionConfiguration::get_bwf_organization_code),
sigc::mem_fun (*_session_config, &SessionConfiguration::set_bwf_organization_code)
));
+
+ add_option (_("Misc"), new OptionEditorHeading (_("Glue to bars and beats")));
+
+ add_option (_("Misc"), new BoolOption (
+ "glue-new-markers-to-bars-and-beats",
+ _("Glue new markers to bars and beats"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_glue_new_markers_to_bars_and_beats),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_glue_new_markers_to_bars_and_beats)
+ ));
}
void
diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h
index 5924adcc86..acefc92506 100644
--- a/libs/ardour/ardour/session_configuration_vars.h
+++ b/libs/ardour/ardour/session_configuration_vars.h
@@ -61,3 +61,4 @@ CONFIG_VARIABLE (SyncSource, sync_source, "sync-source", JACK)
CONFIG_VARIABLE (InsertMergePolicy, insert_merge_policy, "insert-merge-policy", InsertMergeRelax)
CONFIG_VARIABLE (framecnt_t, timecode_offset, "timecode-offset", 0)
CONFIG_VARIABLE (bool, timecode_offset_negative, "timecode-offset-negative", true)
+CONFIG_VARIABLE (bool, glue_new_markers_to_bars_and_beats, "glue-new-markers-to-bars-and-beats", false)
diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc
index 7095596101..b6a09d863a 100644
--- a/libs/ardour/location.cc
+++ b/libs/ardour/location.cc
@@ -54,6 +54,7 @@ Location::Location (Session& s)
assert (_end >= 0);
}
+/** Construct a new Location, giving it the position lock style determined by glue-new-markers-to-bars-and-beats */
Location::Location (Session& s, framepos_t sample_start, framepos_t sample_end, const std::string &name, Flags bits)
: SessionHandleRef (s)
, _name (name)
@@ -61,7 +62,7 @@ Location::Location (Session& s, framepos_t sample_start, framepos_t sample_end,
, _end (sample_end)
, _flags (bits)
, _locked (false)
- , _position_lock_style (AudioTime)
+ , _position_lock_style (s.config.get_glue_new_markers_to_bars_and_beats() ? MusicTime : AudioTime)
{
recompute_bbt_from_frames ();