13
0
Commit Graph

14648 Commits

Author SHA1 Message Date
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
997f126643 more games with bbgui gui layout 2021-08-13 12:51:27 -06:00
f2e2cce343 fix an unfortunate "side-effect" of the frame->sample renaming 2021-08-13 12:51:27 -06:00