Selection-after-split behavior ( libardour part )

This commit is contained in:
Ben Loftis 2019-02-07 13:29:59 -06:00
parent 983875ffc8
commit 37d28c63db
6 changed files with 23 additions and 0 deletions

View File

@ -1585,6 +1585,13 @@ Editor::region_selection_changed ()
nudge_forward_button.set_name ("generic button");
nudge_backward_button.set_name ("generic button");
}
//there are a few global Editor->Select actions which select regions even if you aren't in Object mode.
//if regions are selected, we must always force the mouse mode to Object...
//... otherwise the user is confusingly left with selected regions that can't be manipulated.
if (!selection->regions.empty()) {
set_mouse_mode( MouseObject, false );
}
}
void

View File

@ -110,6 +110,7 @@ CONFIG_VARIABLE (bool, automation_follows_regions, "automation-follows-regions",
CONFIG_VARIABLE (bool, region_boundaries_from_selected_tracks, "region-boundaries-from-selected-tracks", true)
CONFIG_VARIABLE (bool, region_boundaries_from_onscreen_tracks, "region-boundaries-from-onscreen_tracks", true)
CONFIG_VARIABLE (FadeShape, default_fade_shape, "default-fade-shape", FadeLinear)
CONFIG_VARIABLE (RangeSelectionAfterSplit, range_selection_after_split, "range-selection-after-split", PreserveSel)
CONFIG_VARIABLE (RegionSelectionAfterSplit, region_selection_after_split, "region-selection-after-split", None)
/* monitoring, mute, solo etc */

View File

@ -420,6 +420,12 @@ enum RegionSelectionAfterSplit {
ExistingNewlyCreatedBoth = 7
};
enum RangeSelectionAfterSplit {
ClearSel = 0,
PreserveSel = 1, // bit 0
ForceSel = 2 // bit 1
};
enum RegionPoint {
Start,
End,

View File

@ -55,6 +55,7 @@ DEFINE_ENUM_CONVERT(ARDOUR::DenormalModel)
DEFINE_ENUM_CONVERT(ARDOUR::PositionLockStyle)
DEFINE_ENUM_CONVERT(ARDOUR::FadeShape)
DEFINE_ENUM_CONVERT(ARDOUR::RegionSelectionAfterSplit)
DEFINE_ENUM_CONVERT(ARDOUR::RangeSelectionAfterSplit)
DEFINE_ENUM_CONVERT(ARDOUR::BufferingPreset)
DEFINE_ENUM_CONVERT(ARDOUR::AutoReturnTarget)
DEFINE_ENUM_CONVERT(ARDOUR::MeterType)

View File

@ -97,6 +97,7 @@ setup_enum_writer ()
Session::PullupFormat _Session_PullupFormat;
FadeShape _FadeShape;
RegionSelectionAfterSplit _RegionSelectionAfterSplit;
RangeSelectionAfterSplit _RangeSelectionAfterSplit;
IOChange _IOChange;
AutomationType _AutomationType;
AutoState _AutoState;
@ -524,6 +525,7 @@ setup_enum_writer ()
REGISTER_ENUM(ExistingNewlyCreatedRight);
REGISTER_ENUM(ExistingNewlyCreatedBoth);
REGISTER (_RegionSelectionAfterSplit);
REGISTER (_RangeSelectionAfterSplit);
REGISTER_CLASS_ENUM (DiskIOProcessor, Recordable);
REGISTER_CLASS_ENUM (DiskIOProcessor, Hidden);

View File

@ -2039,6 +2039,12 @@ LuaBindings::common (lua_State* L)
.addConst ("ExistingNewlyCreatedBoth", ARDOUR::RegionSelectionAfterSplit(ExistingNewlyCreatedBoth))
.endNamespace ()
.beginNamespace ("RangeSelectionAfterSplit")
.addConst ("ClearSel", ARDOUR::RangeSelectionAfterSplit(ClearSel))
.addConst ("PreserveSel", ARDOUR::RangeSelectionAfterSplit(PreserveSel))
.addConst ("ForceSel", ARDOUR::RangeSelectionAfterSplit(ForceSel))
.endNamespace ()
.beginNamespace ("ShuttleBehaviour")
.addConst ("Sprung", ARDOUR::ShuttleBehaviour(Sprung))
.addConst ("Wheel", ARDOUR::ShuttleBehaviour(Wheel))