f721655916
libtemporal: to quote the matrix, there is no lock
2021-08-13 12:51:35 -06:00
8d67be784a
remove #ifdef'ed out initialization from session.cc (possible rebase leftover, but redundant no matter the origin
2021-08-13 12:51:35 -06:00
bcca1ad289
minor fixups post-rebase
2021-08-13 12:51:35 -06:00
bccdc95f32
libtemporal: fix logic for ::get_tempo_and_meter() if starting point is the timeline start
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
1f8290f154
generalize repeated code into a template method, add lots of const-ness to facilitate this
2021-08-13 12:51:35 -06:00
c5ecd14622
temporal: fix logic errors in setting up TempoMetric objects
...
will likely revisit this to avoid code-duplication and "optimize" traversal of _points list
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
8bada4b5e1
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
...
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
53e411c011
fix logic error in conditional
2021-08-13 12:51:35 -06:00
6f2fdc2695
functioning loading of older tempo map XML data
2021-08-13 12:51:35 -06:00
552484978c
fix call to ::bbt_at() inside LV2 plugin
2021-08-13 12:51:35 -06:00
092a454648
fix timepos_t::string_to (wrong argument to samples_to_superclock()
2021-08-13 12:51:35 -06:00
445ad2e383
rearrange if/else logic to avoid NOTREACHED condition
2021-08-13 12:51:35 -06:00
b84402f4f8
intial steps for adding legacy (v0-5) tempo map deserialization support
2021-08-13 12:51:35 -06:00
344dd26788
improved DEBUG_TRACE statements for tempo map
2021-08-13 12:51:35 -06:00
cd34695944
fix TempoMap::quarters_at_superclock (superclock_t)
2021-08-13 12:51:35 -06:00
74ff3b22b8
fix TempoPoint::superclock_at(Beats)
2021-08-13 12:51:35 -06:00
216945a89c
move TempoMap::write_copy() into .cc file instead of .h
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
99c8c0b658
initial, tentative, untested implementation of TempoMap::remove_time()
2021-08-13 12:51:35 -06:00
68959643e8
fix minor errors from rebase fixups
2021-08-13 12:51:35 -06:00
af4ba1cc01
fix start, length/position for recorded MIDI regions
...
Note that we should really set the position value as part of the
length, but then Playlist::add_region() would need to drop its
second argument (position). Maybe in a future commit
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
991a7bf8a7
add TempoMap::count_bars() to allow bar counting even with position (BBT) markers in the tempo map
...
This just reuses the algorithm in TempoMap::get_grid() by asking for just the bar grid, and counting the
size of the result
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
0ab2308523
reimplement TempoMap::midi_clock_beat_at_or_after()
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
b276254551
reimplement quantization without (much) floating point
2021-08-13 12:51:35 -06:00
48e68de180
remove another NUTEMPO warning by actually setting region time domain
2021-08-13 12:51:35 -06:00
5f0ba5b404
fix recently added Location API to use timeline types
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
0b1d44f422
temporal: fix timepos_t::decrement() to not switch domains
2021-08-13 12:51:35 -06:00
b42727b92a
temporal: fix use of std::abs on 64 bit value
2021-08-13 12:51:34 -06:00
97e4a4f04a
change semantics of Region::set_length() to preserve current position
...
Before the nutempo changes, a call to Region::set_length() only set the length
of the region. Now that Region::_length is a duple of (duration,position),
maintain thesame semantics so that the call only affects the duration part of
the duple. Theoretically we might at some point want/need
Region::set_length_and_position() but that is not the case at this point,
2021-08-13 12:51:34 -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
56cde042cd
Region::_start should be a timepos_t not a timecnt_t
...
It is an offset from an *implicit* origin (the source zero), not from an explicit origin,
and this fits with the concept underlying timepos_t. A timecnt_t requires an explicit origin,
which makes no sense in this context (just as it doesn't for the timeline as a whole).
2021-08-13 12:51:34 -06:00