rework snap
authornick_m <mainsbridge@gmail.com>
Thu, 26 Jan 2017 13:41:17 +0000 (00:41 +1100)
committernick_m <mainsbridge@gmail.com>
Sat, 4 Feb 2017 11:57:36 +0000 (22:57 +1100)
commit59daffea1d78cb55b35fe19c135cc4ab472bd01d
tree45e514f2e4f5a1935e360fd4fa3e2475ec217006
parenta21a414615505269bf770ad2358482e698e841af
rework snap

snap now fills in a struct (MusicFrame) which contins a snapped frame
along with a music divisor.
this gives useful information wrt magnetic snap which may or may not
have rounded to an exact musical position.

region position may now be set musically (using quarter notes for now).

this patch fixes several problems in the current code:

- dragging a list of music-locked regions now maintains correct
  musical offsets within the list.

- splitting regions using magnetic snap works correctly (#7192)

- cut drag should now work correctly with magnetic snap.

- musical length of split midi regions is no longer frame based.
33 files changed:
gtk2_ardour/audio_region_view.cc
gtk2_ardour/automation_time_axis.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_drag.h
gtk2_ardour/editor_keys.cc
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
gtk2_ardour/midi_region_view.cc
gtk2_ardour/midi_time_axis.cc
gtk2_ardour/midi_time_axis.h
gtk2_ardour/public_editor.h
gtk2_ardour/region_view.cc
gtk2_ardour/step_editor.cc
gtk2_ardour/tempo_dialog.cc
libs/ardour/ardour/audioregion.h
libs/ardour/ardour/midi_playlist.h
libs/ardour/ardour/midi_region.h
libs/ardour/ardour/playlist.h
libs/ardour/ardour/region.h
libs/ardour/ardour/region_factory.h
libs/ardour/ardour/tempo.h
libs/ardour/ardour/types.h
libs/ardour/audioregion.cc
libs/ardour/midi_playlist.cc
libs/ardour/midi_region.cc
libs/ardour/playlist.cc
libs/ardour/region.cc
libs/ardour/region_factory.cc
libs/ardour/strip_silence.cc
libs/ardour/tempo.cc