new code to support creating skip markers
This commit is contained in:
parent
4130513689
commit
9331aa69bd
|
@ -4463,6 +4463,7 @@ RangeMarkerBarDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (_operation) {
|
switch (_operation) {
|
||||||
|
case CreateSkipMarker:
|
||||||
case CreateRangeMarker:
|
case CreateRangeMarker:
|
||||||
case CreateTransportMarker:
|
case CreateTransportMarker:
|
||||||
case CreateCDMarker:
|
case CreateCDMarker:
|
||||||
|
@ -4489,6 +4490,9 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
|
||||||
ArdourCanvas::Rectangle *crect;
|
ArdourCanvas::Rectangle *crect;
|
||||||
|
|
||||||
switch (_operation) {
|
switch (_operation) {
|
||||||
|
case CreateSkipMarker:
|
||||||
|
crect = _editor->range_bar_drag_rect;
|
||||||
|
break;
|
||||||
case CreateRangeMarker:
|
case CreateRangeMarker:
|
||||||
crect = _editor->range_bar_drag_rect;
|
crect = _editor->range_bar_drag_rect;
|
||||||
break;
|
break;
|
||||||
|
@ -4506,7 +4510,7 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
|
||||||
|
|
||||||
framepos_t const pf = adjusted_current_frame (event);
|
framepos_t const pf = adjusted_current_frame (event);
|
||||||
|
|
||||||
if (_operation == CreateRangeMarker || _operation == CreateTransportMarker || _operation == CreateCDMarker) {
|
if (_operation == CreateSkipMarker || _operation == CreateRangeMarker || _operation == CreateTransportMarker || _operation == CreateCDMarker) {
|
||||||
framepos_t grab = grab_frame ();
|
framepos_t grab = grab_frame ();
|
||||||
_editor->snap_to (grab);
|
_editor->snap_to (grab);
|
||||||
|
|
||||||
|
@ -4562,17 +4566,24 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
_drag_rect->hide();
|
_drag_rect->hide();
|
||||||
|
|
||||||
switch (_operation) {
|
switch (_operation) {
|
||||||
|
case CreateSkipMarker:
|
||||||
case CreateRangeMarker:
|
case CreateRangeMarker:
|
||||||
case CreateCDMarker:
|
case CreateCDMarker:
|
||||||
{
|
{
|
||||||
_editor->begin_reversible_command (_("new range marker"));
|
|
||||||
XMLNode &before = _editor->session()->locations()->get_state();
|
XMLNode &before = _editor->session()->locations()->get_state();
|
||||||
_editor->session()->locations()->next_available_name(rangename,"unnamed");
|
if (_operation == CreateSkipMarker) {
|
||||||
if (_operation == CreateCDMarker) {
|
_editor->begin_reversible_command (_("new skip marker"));
|
||||||
|
_editor->session()->locations()->next_available_name(rangename,_("skip"));
|
||||||
|
flags = Location::IsRangeMarker | Location::IsSkip;
|
||||||
|
_editor->range_bar_drag_rect->hide();
|
||||||
|
} else if (_operation == CreateCDMarker) {
|
||||||
|
_editor->session()->locations()->next_available_name(rangename, _("CD"));
|
||||||
|
_editor->begin_reversible_command (_("new CD marker"));
|
||||||
flags = Location::IsRangeMarker | Location::IsCDMarker;
|
flags = Location::IsRangeMarker | Location::IsCDMarker;
|
||||||
_editor->cd_marker_bar_drag_rect->hide();
|
_editor->cd_marker_bar_drag_rect->hide();
|
||||||
}
|
} else {
|
||||||
else {
|
_editor->begin_reversible_command (_("new skip marker"));
|
||||||
|
_editor->session()->locations()->next_available_name(rangename, _("unnamed"));
|
||||||
flags = Location::IsRangeMarker;
|
flags = Location::IsRangeMarker;
|
||||||
_editor->range_bar_drag_rect->hide();
|
_editor->range_bar_drag_rect->hide();
|
||||||
}
|
}
|
||||||
|
@ -4608,7 +4619,7 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
/* didn't drag, but mark is already created so do
|
/* didn't drag, but mark is already created so do
|
||||||
* nothing */
|
* nothing */
|
||||||
|
|
||||||
} else { /* operation == CreateRangeMarker */
|
} else { /* operation == CreateRangeMarker || CreateSkipMarker */
|
||||||
|
|
||||||
|
|
||||||
framepos_t start;
|
framepos_t start;
|
||||||
|
|
|
@ -991,6 +991,7 @@ class RangeMarkerBarDrag : public Drag
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Operation {
|
enum Operation {
|
||||||
|
CreateSkipMarker,
|
||||||
CreateRangeMarker,
|
CreateRangeMarker,
|
||||||
CreateTransportMarker,
|
CreateTransportMarker,
|
||||||
CreateCDMarker
|
CreateCDMarker
|
||||||
|
|
Loading…
Reference in New Issue
Block a user