ccf1c4fb57
some incredibly hasic functionality for the triggerbox UI
2021-08-13 12:51:37 -06:00
d6e9805c93
triggerbox UI: tweaks while working on box packing
2021-08-13 12:51:37 -06:00
44e67c3566
small API change to provide (debug) name to canvas cursor items
2021-08-13 12:51:36 -06:00
2bad9e0a85
do not create timepos_t from timepos_t unnecessarily
2021-08-13 12:51:36 -06:00
40c29640f5
fix crash when dragging markers
2021-08-13 12:51:36 -06:00
1927e4673b
remove StepSequencer, BeatBox and BeatBoxGUI from wscripts and #ifdef code occurences. Files remain
2021-08-13 12:51:36 -06:00
f00e5f3c16
extend Triggerbox GUI with a window (for now)
2021-08-13 12:51:36 -06:00
aed9adceee
display triggerbox GUI window when adding a track that has one
2021-08-13 12:51:36 -06:00
e68c60b407
initial extensions for TriggerBox UI
2021-08-13 12:51:36 -06:00
a63ec8afa2
new files for triggerbox GUI
2021-08-13 12:51:36 -06:00
aa4e578780
no instrument by default on trigger tracks
2021-08-13 12:51:36 -06:00
73e19c8fa7
add triggers to trigger tracks
2021-08-13 12:51:36 -06:00
139a051b18
remove default args to Session::new_midi_track() (gui edition)
2021-08-13 12:51:36 -06:00
b6f290add2
timeline type changes for new ripple code and post-conflict-resolution fixups
2021-08-13 12:51:36 -06:00
bf50d27b68
fix timeline type use
2021-08-13 12:51:36 -06:00
f755174c5f
fix timeline type use
2021-08-13 12:51:36 -06:00
757acf381e
fix typo/thinko with const "division" value
2021-08-13 12:51:36 -06:00
c6370948c4
fix call to RegionMotionDrag constructor
2021-08-13 12:51:36 -06:00
40c9b1482a
region move drag now requires named argument
2021-08-13 12:51:36 -06:00
6a71f9988e
fix timeline type use in brush dragging
2021-08-13 12:51:36 -06:00
90264e1d0d
fix timeline type use
2021-08-13 12:51:36 -06:00
9531878596
remove incorrectly retained code (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
bb87f33506
fix timeline types in region/cue marker operations
2021-08-13 12:51:36 -06:00
7415f5cc18
fix timeline type usage in region/cue markers
2021-08-13 12:51:36 -06:00
dcd3766c33
fix semi-replicated code (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
cedf875a42
fix timeline types
2021-08-13 12:51:36 -06:00
31b7244856
fix timeline types (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
03bfb91aff
fix argument name (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
83b9424082
fix namespace error (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
857ca46a95
fix timeline type usage
2021-08-13 12:51:36 -06:00
1520b53aae
remove obsolete method (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
3c57e4a485
fix timeline type use
2021-08-13 12:51:36 -06:00
9009bbf986
fix declaration of {Public,}Editor::do_import() (post rebase conflict resolution)
2021-08-13 12:51:36 -06:00
dec3b9bc2e
cleanup mess from manual rebase against master (GUI edition)
2021-08-13 12:51:35 -06:00
bc98af7433
fix a subtle detail in loudness analysis after timeline type changes
2021-08-13 12:51:35 -06:00
7938d8de4f
fix (some) editing based on tempo & meter marks
...
After beginning an edit operation with TempoMap::write_copy(), the tempoPoint and meterPoint objects
referenced by markers are incorrect, since they refer to the original map, not the copy we are working
on. Fix this with Editor::reassociate_metric_markers()
Some instances requiring this fix may still remain
2021-08-13 12:51:35 -06:00
52d41fa4e1
fix timeline type usage on macOS
2021-08-13 12:51:35 -06:00
bcca1ad289
minor fixups post-rebase
2021-08-13 12:51:35 -06:00
5f3ad2cde9
follow new const requirements associated with Meter/Tempo
2021-08-13 12:51:35 -06:00
011b5ec61c
remove debug output
2021-08-13 12:51:35 -06:00
36609c4067
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion (GUI edition)
2021-08-13 12:51:35 -06:00
2ec93062d9
use simpler logic to avoid negative values when filling grid
2021-08-13 12:51:35 -06:00
88bed837c0
fix deadlock during tempo marker dragging, and don't start a tempo map update if a tempo point is inactive
2021-08-13 12:51:35 -06:00
ce3fb0507c
change return type of Tempo::set_{ramped,clamped} and fix call sites
2021-08-13 12:51:35 -06:00
68959643e8
fix minor errors from rebase fixups
2021-08-13 12:51:35 -06:00
fed449d54d
various fixes to get time stretching basically working again
...
Time domains are not well respected at present, so more work is needed here
2021-08-13 12:51:35 -06:00
76e5aaea44
remove another NUTEMPO #warning by using TempoMap::count_bars()
2021-08-13 12:51:35 -06:00
f05b2ed93b
remove another NUTEMPO #warning by allow grab starts in rubber band selection to use the default time domain
2021-08-13 12:51:35 -06:00
162d36ffc8
remove some debug output
2021-08-13 12:51:35 -06:00
6bc8a7347f
improve drag behavior on AudioClock
2021-08-13 12:51:35 -06:00
3a94b45b23
rework handling of scroll and drag on AudioClock by using timepos_t rather than samples
2021-08-13 12:51:35 -06:00
6effcc7723
reimplement quantization without (much) floating point (GUI edition)
2021-08-13 12:51:35 -06:00
fb66695081
fix (and improve) drawing of "ghost note" drawn while mouse pointer moves in MidiRegionView in draw mode
2021-08-13 12:51:35 -06:00
1868c4cac5
fix drawing percussive notes in MidiRegionView following nutempo SNAFU with relative time calc.
2021-08-13 12:51:35 -06:00
7244b03385
convert NoteCreateDrag::grid_aligned_beats() into a proxy for Editor::snap_to_bbt()
2021-08-13 12:51:35 -06:00
831c085b2e
remove MidiRegionView::snap_sample_to_grid_underneath() and replace with calls directly into Editor snap method
2021-08-13 12:51:35 -06:00
37eea1da29
fix brace style
2021-08-13 12:51:35 -06:00
b2655d13f1
make Editor::snap_to_bbt() public
2021-08-13 12:51:35 -06:00
0ddfd7c873
force drag-created regions to use beat time for position
2021-08-13 12:51:34 -06:00
49424ab0e3
Region::_start should be a timepos_t not a timecnt_t (GUI edition)
2021-08-13 12:51:34 -06:00
485b74e0b9
rename EditorSummary::Position as Editor::SummaryPosition
2021-08-13 12:51:34 -06:00
e5d505365f
rename ProcessorBox::Position as ProcessorBox::ProcessorPosition
2021-08-13 12:51:34 -06:00
daad7b74ae
libtemporal: rename TempoMap::full_duration_at() to ::convert_duration() and reorder parameters
2021-08-13 12:51:34 -06:00
dad56af802
remove another 3 NUTEMPO #warnings
...
These all involve converting between ControlList-relative time and absolute time
2021-08-13 12:51:34 -06:00
a71ba473f7
fix up post-rebase issues after rebase on master
2021-08-13 12:51:34 -06:00
45a8da77f6
clean up rulers/grid mess after rebase on master
2021-08-13 12:51:34 -06:00
0162d3f9d6
GUI changes to *try* to adapt to a world without explicit beats<->samples converter objects (i.e. use AutomationLine::get_origin() instead
2021-08-13 12:51:34 -06:00
48ac681b03
fix note-resizing-at-front, change variable names
2021-08-13 12:51:34 -06:00
9a9bc3408f
fixups for xrun-marker work, now that Region::sample() and Region::length() so not return sample types
2021-08-13 12:51:34 -06:00
6536655a0a
add explanatory comment
2021-08-13 12:51:34 -06:00
21e6f1cf50
(mostly) fix note drag creation drawing
2021-08-13 12:51:34 -06:00
b66b98ce58
remove 2 more NUTEMPO warnings by use Editor::default_time_domain() appropriately (but perhaps without enough user control)
2021-08-13 12:51:34 -06:00
39f52cd3ce
remove unused and unnecessary Drag::snap_delta_music() code
2021-08-13 12:51:34 -06:00
cb66ae496c
don't even pretend to use non-modal dialog API for the BBT marker dialog
2021-08-13 12:51:34 -06:00
d4f52498fa
somewhat working dialog for BBT/Position marker creation
2021-08-13 12:51:34 -06:00
4911779157
manual fixups after a rebase against master
2021-08-13 12:51:34 -06:00
5153124664
change (GUI) Marker objects to accept any Canvas::Item as parent, and use this to draw BBT position markers in the BBT ruler
2021-08-13 12:51:34 -06:00
4f1ad4ed0d
start adding new BBT marker support
2021-08-13 12:51:34 -06:00
432fbe984a
make "add BBT marker" test case use 3|1|0 for better testing
2021-08-13 12:51:34 -06:00
2445081dcc
remove another NUTEMPO #warning - this one was just unnecessary concern
2021-08-13 12:51:34 -06:00
0f67dbf8cc
remove another NUTEMPO #warning - use time domain of region's track for content trim dragging
2021-08-13 12:51:34 -06:00
18fba5dece
whitespace adjustments
2021-08-13 12:51:33 -06:00
fe352311f6
make shift-leftclick on bbt ruler set that time to be 3|2|0 (experiment - GUI dialog to follow)
2021-08-13 12:51:33 -06:00
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