c22c8ed69f
get TempoMarkerDrag and BBTRulerDrag to compile
2021-08-13 12:51:33 -06:00
c5c14e2416
remove two nutempo #warnings - initialize timecnt_t() using timedomain of route with first selected region (ripple dragging)
2021-08-13 12:51:33 -06:00
9d4d3908e6
remove some nutempo #warnings and fix up Location time domain API
2021-08-13 12:51:33 -06:00
a8f9f268b4
use integer division when computing tempo map positions from SMF data
2021-08-13 12:51:33 -06:00
97a3469972
use new Tempo API in two places where Tempo is explicitly constructed
2021-08-13 12:51:33 -06:00
888239a834
remove dual (x,y) version of AutomationLine::view_to_model_coord()
...
The x-axis coordinate was never transformed or modified anyway (6.x just changed it
from double to integer and back again!)
2021-08-13 12:51:33 -06:00
d131a9aa12
remove debug output
2021-08-13 12:51:33 -06:00
80f543dc17
fix missing conversions between samples & superclock for ruler display
2021-08-13 12:51:33 -06:00
068cc4135f
remove another NUTEMPO #warning (see comment)
2021-08-13 12:51:33 -06:00
f321dd4dac
remove NUTEMPO #warning (comment explains more)
2021-08-13 12:51:33 -06:00
87dfef28f6
allow new locations creation from playhead to use default time domain
2021-08-13 12:51:33 -06:00
874a009d76
remove NUTEMPO #warning (comment explains more)
2021-08-13 12:51:33 -06:00
9c1e88e675
remove NUTEMPO #warning (dealt with in caller)
2021-08-13 12:51:33 -06:00
e4e953df14
no need to copy-construct here
2021-08-13 12:51:33 -06:00
7e6f0ea2bb
remove NUTEMPO warning
2021-08-13 12:51:33 -06:00
b39a771655
start using Editor::canvas_event_time(), initially just in the button release handler
2021-08-13 12:51:33 -06:00
6a44dcbdad
add Editor::canvas_event_time()
...
See comments in header for more
2021-08-13 12:51:33 -06:00
0114059c9d
nutempo warning removal
2021-08-13 12:51:33 -06:00
5074553f15
add Editor::default_time_domain()
...
Not 100% certain about the logic here, but at least the method exists now
2021-08-13 12:51:33 -06:00
6f861c63b5
nutempo #warning removal
2021-08-13 12:51:33 -06:00
c03b588011
nutempo #warning removal
2021-08-13 12:51:33 -06:00
125c20e148
manual fixups for recent rebase conflicts left in the wrong state (GUI edition)
2021-08-13 12:51:33 -06:00
d671dc0fa1
plugins use their route's automation time domain (GUI edition)
2021-08-13 12:51:33 -06:00
a81e2f9ff9
Automatable now requires (and owns) a time domain to be used by automation data (GUI edition)
2021-08-13 12:51:32 -06:00
7762dde95e
remove another NUTEMPO warning by connecting AudioClock to static MapChanged signal
2021-08-13 12:51:32 -06:00
42c74932a5
fixes/improvements for meter marker drags
2021-08-13 12:51:32 -06:00
b0b346c4ac
fix deadlock caused by not unlocking TempoMap when not finishing a meter-marker-drag
2021-08-13 12:51:32 -06:00
e393c5efcf
manual fixups for rebase against master (timeline type changes)
2021-08-13 12:51:32 -06:00
b0725a8ab9
use new TempoMap::abort_update() API when drag does not end in map update
2021-08-13 12:51:32 -06:00
e653e61923
fix up redrawing Tempo/Meter rulers when tempo changes
2021-08-13 12:51:32 -06:00
3c857b697f
fix incorrect call to Tempo constructor that reordered note type and end tempo
...
Probably should find a better API for the constructor that makes this impossible
2021-08-13 12:51:32 -06:00
b5e0bce101
tempo dialog should use integer notes types, not double
...
The days of "it's in Pi" are over.
2021-08-13 12:51:32 -06:00
b516230dd3
listen for tempo map changes in GUI
2021-08-13 12:51:32 -06:00
eaedcd79d4
fix a bunch of undo-able tempo map operations to use RCU
2021-08-13 12:51:32 -06:00
eab0bdfde0
fix next set of tempo map changing code blocks to use RCU
2021-08-13 12:51:32 -06:00
2674057ad6
prototype for new general code structure when editing TempoMap
2021-08-13 12:51:32 -06:00
9c7f2cd642
fixup another NUTEMPO #warning
2021-08-13 12:51:32 -06:00
75d6ea19c4
fix time/position used when applying MIDI ops
2021-08-13 12:51:32 -06:00
8bd52c80dc
fix paste API issue for automation list/tracks
2021-08-13 12:51:32 -06:00
b03cfa2420
rely on exceptions when parsing Beats from AudioClock, not strspn(3)
2021-08-13 12:51:32 -06:00
06f93e65b2
fix timefx to use ratio_t from the beginning of the operation
2021-08-13 12:51:32 -06:00
993186e9fc
start time for whole file regions based on MIDI should be in BeatTime, in AudioTime for audio files
2021-08-13 12:51:32 -06:00
f328fdc56a
adapt to DoubleableBeats and so forth (gui edition)
2021-08-13 12:51:32 -06:00
dee71c0a97
mostly fix region- and note-create drags
2021-08-13 12:51:32 -06:00
b757756e92
BBT ruler: fix error in setting beat count
2021-08-13 12:51:32 -06:00
c0169f37ee
an initial pass (untested) at converting the MIDI list editor to use Temporal::Beats and not floating point
2021-08-13 12:51:32 -06:00
b451a50b95
use explicit timepos_t() for region start property in property lists (gui edition)
2021-08-13 12:51:31 -06:00
fa759d3507
fix direction for trim drags
2021-08-13 12:51:31 -06:00
164b098a21
fix AutomationRegionView::paste()
2021-08-13 12:51:31 -06:00
fbdd93a411
Fix Editor::mouse_add_new_meter_event()
2021-08-13 12:51:31 -06:00
0632ced2d5
fix Region::(region|source)_relative_distance()
2021-08-13 12:51:31 -06:00
313d957eaf
MidiRegionView: restore functioning (?) of snap_sample_to_grid_underneath()
2021-08-13 12:51:31 -06:00
f0ff72c669
remove old call to set libtemporal thread local sample rate
2021-08-13 12:51:31 -06:00
2a6b2dfa7c
cease using BarTime for anything
2021-08-13 12:51:31 -06:00
9412130c01
use cleaned up Temporal ::quarters*_at* API (GUI edition)
2021-08-13 12:51:31 -06:00
84d33f3ec3
manual fixups after rebase against master (GUI edition)
2021-08-13 12:51:31 -06:00
0093ae07b0
cleanup after timecnt_t API changed (GUI edition)
2021-08-13 12:51:31 -06:00
eee0fdf2d5
remove debug output
2021-08-13 12:51:31 -06:00
cce695d33a
changes required by fixing ambiguities in timepos_t/timecnt_t API (GUI edition)
2021-08-13 12:51:31 -06:00
a41a1ffa04
use a better initializer for region creation during import
2021-08-13 12:51:30 -06:00
16382982c5
fixups for AudioClock arising from explicit BBT_Offset (double)
2021-08-13 12:51:30 -06:00
fcdf7018c5
fix incorrect logic check for null session
2021-08-13 12:51:30 -06:00
c2d197a103
use correct initial value of AudioClock::_limit_pos
2021-08-13 12:51:30 -06:00
eec4addcd5
GUI side cleanup forced by explicit BBT_Offset (double)
2021-08-13 12:51:30 -06:00
3a2e6e174b
change default value of UIConfig's clock display limit, and prevent old config files from overriding the limit
...
720 hours was too long to be expressed via superclock in 62 bits. Use 99:59:59 instead.
2021-08-13 12:51:30 -06:00
18d64f0402
change all Region::nt_*() methods to names without the nt_ prefix (GUI version)
2021-08-13 12:51:30 -06:00
ae01dafcce
use Temporal::set_thread_sample_rate() rather than explicit assignment
2021-08-13 12:51:30 -06:00
e1620a22cf
temporal thread init for import thread
2021-08-13 12:51:30 -06:00
53c164f9fd
GUI changes to get libtemporal setup at application startup
2021-08-13 12:51:30 -06:00
d2a94468d4
missing part of RCU update for tempo marker drag
2021-08-13 12:51:30 -06:00
42c38d313d
try to use RCU updating when dragging tempo markers
2021-08-13 12:51:30 -06:00
49781e3b80
nominally fix up TempoMarkerDrag implementation for new TempoMap
2021-08-13 12:51:30 -06:00
90553b315f
fix up memento command use for tempo map undo/redo
2021-08-13 12:51:30 -06:00
3c00fab75e
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition)
2021-08-13 12:51:30 -06:00
60d1c5f722
remove tempo map from Session
2021-08-13 12:51:30 -06:00
9f866a6bbe
consolidate some TempoMap modifier methods
2021-08-13 12:51:30 -06:00
dade9994d8
collect together modifying TempoMap methods, and make ::apply_with_metrics() more clearly const
2021-08-13 12:51:30 -06:00
c434289973
remove lock, _dirty and _generation nonsense from TempoMap (pre-RCU management)
2021-08-13 12:51:30 -06:00
f8df966914
clean up MeterMarkerDrag
2021-08-13 12:51:30 -06:00
1098b27b35
new tempo map API for almost all of the GUI now
2021-08-13 12:51:30 -06:00
f0d055ad4d
more updates for new tempo map API
2021-08-13 12:51:30 -06:00
7ef11dc698
continued work on using new tempo map API (before switch to RCU)
2021-08-13 12:51:30 -06:00
772d70ae4c
use glib event callback to invoke per-thread code every time the GUI event loop does stuff
2021-08-13 12:51:29 -06:00
534c08074d
changes to get program to actually run (missing symbols)
...
Still crashes at startup due to static initialization of initial tempo map.
2021-08-13 12:51:29 -06:00
0d41f87f4b
incorrect printf argument type
2021-08-13 12:51:29 -06:00
cdab3a5e8f
fix a bunch of missing symbols related to temporal
2021-08-13 12:51:29 -06:00
749a49c278
incorporating new tempo map API
2021-08-13 12:51:29 -06:00
f67029bd02
random commit to facilitate trivial move of work from laptop back to main system
2021-08-13 12:51:29 -06:00
5836a4f2b6
timeline types conversion for editor_ops.cc
2021-08-13 12:51:29 -06:00
2a08e4bdaa
continued work on timeline types conversion. in theory, just editor_ops.cc remains
2021-08-13 12:51:29 -06:00
aa56f4a16e
GUI: moving along with timeline type conversion
2021-08-13 12:51:29 -06:00
5b2a435e02
getting editor_drag.cc to compile
2021-08-13 12:51:29 -06:00
9d69fa3820
another day or two's work on timeline type conversion
2021-08-13 12:51:29 -06:00
04e8dbb342
another day of slow timeline type conversion
2021-08-13 12:51:29 -06:00
1b06fcb335
another snapshot of ongoing work on timeline types. still not compilable
2021-08-13 12:51:29 -06:00
1ee38e7a7f
another in-progress snapshot of gtk2_ardour after getting audio_clock.cc to compile
2021-08-13 12:51:29 -06:00
7433bc27e0
intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI
2021-08-13 12:51:29 -06:00
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
0a469527f1
updated Temporal::Beats ... GUI edition
2021-08-13 12:51:28 -06:00
32b77f549f
fix marker positions after an aborted ripple drag
2021-08-13 12:51:28 -06:00
23aa663f9d
when doing a ripple-all drag, move relevant markers during the drag too
...
Note that this is purely GUI-level: the ARDOUR::Locations are changed at the end of the drag
in Editor::ripple_marks()
2021-08-13 12:51:28 -06:00
140c5e818f
somewhat simplify ripple-all by just grabbing all regions-at-or-after as the drag starts.
...
This means that we actually explicitly reposition all regions as part of the drag, and do not need to call
Editor::do_ripple(). We do still need to call Editor::ripple_marks() though
2021-08-13 12:51:28 -06:00
7afc45ac5c
helpful comment
2021-08-13 12:51:28 -06:00
12b536d8f2
add API to fetch all regionviews after a given position
2021-08-13 12:51:28 -06:00
a1ef870866
prevent ripple drag from passing earlier region starts
2021-08-13 12:51:28 -06:00
311db08cc3
manual fixups for rebase-on-master issues
2021-08-13 12:51:28 -06:00
a95b1d2cd1
for RegionMotionDrag, set _earliest_time_limit if rippling (not yet used)
2021-08-13 12:51:28 -06:00
b04ea33f18
move Drag::_earliest_time_limit to be protected, not private
2021-08-13 12:51:27 -06:00
fbd6c7eaee
add earliest_time_limit for Drag class
2021-08-13 12:51:27 -06:00
ac1d5bac0a
improve rippling of marks to include any in the gap between the primary-dragged region and the one before it
2021-08-13 12:51:27 -06:00
fc5143772b
fix deadlock-inducing failure-to-thaw during region drag (no copy)
2021-08-13 12:51:27 -06:00
1ccf272d58
ripple-all now moves markers too
2021-08-13 12:51:27 -06:00
0b06c4dc2b
manually fix rebase error
2021-08-13 12:51:27 -06:00
ddbe0747a9
add whitespace
2021-08-13 12:51:27 -06:00
93982614c4
remove debug output
2021-08-13 12:51:27 -06:00
ff85496b03
we should clear property changes recursively for a region drag, not just toplevel properties
2021-08-13 12:51:27 -06:00
989408626d
at end of no-copy region drag, do ripple if appropriate
2021-08-13 12:51:27 -06:00
6896f7228d
fill ripple-excluded region container (non-copy drag)
2021-08-13 12:51:27 -06:00
4a1d09d474
determine potential ripple range for non-copy drag
2021-08-13 12:51:27 -06:00
6efbcf1ff7
add variables to track potential ripple at end of drag (no-copy)
2021-08-13 12:51:27 -06:00
741a86ccf6
add container for ripple-excluded regions (no-copy drag)
2021-08-13 12:51:27 -06:00
d2ebc58575
at end of copy-region drag, potentially do ripple
2021-08-13 12:51:27 -06:00
76de8ab3f9
fill ripple-excluded regions container
2021-08-13 12:51:27 -06:00
04c03199dc
determine scope of potential end-of-drag ripple
2021-08-13 12:51:27 -06:00
283e2103ba
add variables to determine scope of potential ripple at end of drag
2021-08-13 12:51:27 -06:00
7bd03b68ee
add container for regions to be excluded from ripple
2021-08-13 12:51:27 -06:00
3e6de18919
move point at which to-be-rerippled regionviews are collected in a RegionMotionDrag
2021-08-13 12:51:27 -06:00
27a906444a
clarify comment
2021-08-13 12:51:27 -06:00
e3c7ead943
no cross-track region drags in any ripple mode
2021-08-13 12:51:27 -06:00
0c77a35178
completely remove RegionRippleDrag, and merge Editor::add_region(_copy,}_drag() into one method
2021-08-13 12:51:27 -06:00
9d54bb08e7
remove almost all of RegionRippleDrag, collapsing down to just collecting additional RegionViews that need to be moved during the drag
2021-08-13 12:51:27 -06:00
963d2b6906
use Playlist::rdiff_and_add_command() rather than explicit code
2021-08-13 12:51:27 -06:00
90e4adfed1
ripple drag never allows y motion
2021-08-13 12:51:27 -06:00
77e67809f9
we removed Splice mode from the GUI 7 years ago; now remove all code related to Splice mode (GUI edition)
2021-08-13 12:51:27 -06:00
ece174ca47
region selection toggle in RippleAll mode applies across all tracks
2021-08-13 12:51:27 -06:00
38cb16f521
in ripple all edit mode, extend-region selection operation works across all tracks
2021-08-13 12:51:27 -06:00
e5175f51d6
make region-selection on click apply across tracks if RippleAll is in use
2021-08-13 12:51:27 -06:00
eac366ec8e
remove RegionRippleDrag::allow_moves_across_tracks since this was already unconditionally set to false
...
It was also commented "rippling across all tracks is the future", and created notable technical debt
2021-08-13 12:51:27 -06:00
5c830233ec
implement ripple-all via select-all for selection drags
2021-08-13 12:51:27 -06:00
636f1331e8
stop using ripple callback API, add Editor::should_ripple() and Editor::do_ripple() to manage rippling
2021-08-13 12:51:27 -06:00
8e2c5239c4
add a 2nd glib log handler setup call, because for reasons not entirely clear, g_log_set_handler(NULL, ...) doesn't cover all g_logv messages
2021-08-13 12:51:27 -06:00
27456b93ad
initial addition of Ripple All edit mode to GUI
2021-08-13 12:51:27 -06:00
e7595f2cd5
follow modified Playlist ripple callback API
2021-08-13 12:51:27 -06:00
0e2bd5383c
GUI changes to follow new Playlist::ripple() API
...
Current ripple callback does nothing at all
2021-08-13 12:51:27 -06:00
82bad0725a
libcanvas: reapply LineSet::add_line -> add_coord change after rebase conflicts with master
2021-08-13 12:51:27 -06:00
19768953bf
beatbox: continued work on packing/arranging the GUI
2021-08-13 12:51:27 -06:00
da723e1dd0
Beatbox: continuing work on laying out the GUI using ConstraintPacker
2021-08-13 12:51:27 -06:00
d51893dec6
start repacking beatbox GUI using constraint packing
2021-08-13 12:51:27 -06:00
498458c046
another try at newer-boost::rational fixes
2021-08-13 12:51:27 -06:00
d52fce70bd
export step sequencer pattern to SMF, GUI side
2021-08-13 12:51:27 -06:00