71f7f7a09b
triggerbox: add stretching property, virtualize computation of expected end sample, maybe fix position_as_fraction()
2021-12-15 10:21:28 -07:00
97eb164b91
triggerbox: clean up part of the state machine for audio triggers
2021-12-14 21:59:33 -07:00
12847b0125
remove Session::bbt_time() and use TempoMap::use()->bbt_at() explicitly everywhere
2021-12-14 21:59:33 -07:00
3335757276
triggerbox: add Properties for velocity and probability
2021-12-14 13:11:08 -06:00
977f6aec94
Triggerbox: save and recall the follow_count property (lib part)
2021-12-14 10:40:37 -06:00
58796e6b19
fix likely crash in faderport8 support, from calling TempoMap::use() and not TempoMap::fetch()
2021-12-13 21:07:18 -07:00
Marijn Kruisselbrink
0e799357a8
Fix crash in mackie strip code.
...
Strip::notify_property_changed accesses _stripable without verifying
that is not null. However it is possible for this to be null, so
add a null check.
2021-12-13 21:03:38 -07:00
d04d25e7c7
Mackie Control: Clean up detection of QCon master display and meter.
...
Only enable the master display and meter modes for Qcon devices if this
surface is in the master position. Extenders don't have master meters
or master displays.
2021-12-13 21:26:45 -06:00
d60a5187bd
Mackie Control: Fix detection of QCon Extenders so 2nd LCD is correct
...
Logic to detect an extender has to be based on if this surface object is
the master position. Has master fader is true for all surfaces in this
"device".
2021-12-13 21:25:07 -06:00
5f810843bb
triggerbox: only require a MIDI output if the data type is MIDI
...
This was a thinko that occured when I added the sidechain for audio tracks to handle
trigger input
2021-12-13 16:50:31 -07:00
0fcc873ec5
correctly hide/show/position triggerbox in route processors
2021-12-13 16:24:13 -07:00
2a9ab18f7b
triggerbox: not visible by default in processor box
2021-12-13 15:27:58 -07:00
087bdaa87b
triggerbox: remove static signal added in dd842fdc5c
...
Bad design idea. Signal would be emitted from the triggerbox thread, and cannot
return a value from the GUI. Would also be problematic for clip loading
initiated from a control surface
2021-12-13 15:12:36 -07:00
dd842fdc5c
triggerbox: add static signal to let the GUI do something when we cannot determine tempo
2021-12-13 09:20:32 -07:00
e7569eabe7
Trigger Cues: implement master Stop button (libardour part)
2021-12-13 07:26:47 -06:00
9d4a1f080d
triggers: return a segment descriptor
2021-12-12 11:20:58 -07:00
483bdd99cc
libardour: new SegmentDescriptor type added (but not used)
2021-12-12 10:55:05 -07:00
96e1735646
triggerbox: add heuristic to extract bpm from filename
...
If found, we do not do analysis of the audio data
2021-12-11 21:05:32 -07:00
3753d97599
Add Lua binding for Temporal::TempoMap::write_copy
2021-12-11 18:30:29 +01:00
ce15b6ed66
Cont'd work on TempoMap Lua bindings
2021-12-11 17:43:12 +01:00
3b18b025e3
Fix Lua TempoMap bindings
...
* Resolve ambiguity between typef'ed ARDOUR::timepos_t and
Temporal::timepos_t (and timecnt_t, superclock_t)
* Add missing classes TempoPoint, MeterPoint, which are
return value for various TempoMap methods.
* Change TempoMap into a shared_ptr<> class.
* Move Tempo and Meter out of ARDOUR into Temporal namespace.
* add various bindings to access the TempoMap
* move Temporal enums out of ARDOUR::Temporal namespace
2021-12-11 16:49:28 +01:00
60be0c27a1
Use updated temporal API 1/2
2021-12-11 14:42:36 +01:00
506bc3a6f6
Disambiguate zero(bool)
constructor and is_zero()
comparison
...
This is mainly for the benefit of Lua bindings, but also increases
overall API naming consistency with functions and methods
`is_XYZ()` being used elsewhere.
This API change breaks builds!
2021-12-11 14:33:45 +01:00
6f91dc0799
canvas: fix an issue with event coordinate translation by ScrollGroup
...
If there's a grabbed item (GtkCanvas only at present) then unless it belongs to the scroll
group used for scroll offset translation, the event coordinates should not be translated,
even if the mouse pointer moves into the scroll group.
2021-12-10 18:17:58 -07:00
08e50934c9
canvas: add scroll offset info to Item::dump()
2021-12-10 17:16:10 -07:00
972229a02f
Remove some spurious printouts
2021-12-08 13:39:38 -06:00
3918ee2ed6
Add New Region variables for Clips
...
Properties are created for announcing changes, but values are not actually stored as undo-able properties.
2021-12-08 12:57:48 -06:00
dc826c6521
ArdourCanvas Rectangle: allow subclasses access to _rect
2021-12-07 16:32:49 -06:00
0ee628d170
Add preference to show fader on meter-bridge
2021-12-07 17:56:35 +01:00
7b8be04623
triggerbox: fix mis-designed handling of dest_offset when a trigger starts within the same run() call as another
2021-12-06 14:06:48 -07:00
bc7e14c8ac
remove misleading content from a comment
2021-12-06 14:05:59 -07:00
0a0ca81e11
triggerbox: add missing property defn
2021-12-06 10:36:57 -07:00
ef9cca2c07
triggerbox: add missing property defn
2021-12-06 10:27:59 -07:00
a14bcc455b
triggerbox: more properties for Triggers
2021-12-06 09:26:18 -07:00
4918e4bcb9
triggerbox: change return type for Triggerbox::currently_playing(); add position-as-fraction to Triggerbox
2021-12-06 09:06:46 -07:00
9a89dd8981
triggerbox: add TriggerBox currently_playing property, and rename ::currently_running() to ::currently_playing
2021-12-06 08:57:06 -07:00
86f239f185
triggerbox: add 3 additional property descriptors for Triggers
2021-12-06 08:47:29 -07:00
96b21c4824
fix crash in Playlist::relayer() when there are no regions
2021-12-05 10:36:26 -07:00
17832e9f86
remove another instance of std::numeric_limits<timecnt_t>::max()
2021-12-05 09:24:13 -07:00
887cd070b0
remove another instance of std::numeric_limits<timepos_t>::max()
2021-12-05 09:23:33 -07:00
a72108636b
remove another instance of std::numeric_limits<timecnt_t>::max()
2021-12-05 09:23:05 -07:00
646d1e9a22
remove use of std::numeric_limits<time{pos,cnt}_t> from Playlist
...
::max() is time-domain dependent, and cannot be encapsulated via a single value.
2021-12-05 09:01:49 -07:00
d29d40c1ec
Fix stacked region view
...
Previously this looped endlessly in RegionView::update_coverage_frame()
if the return value was undefined (or wrong time-domain) and smaller
than pos.
2021-12-05 15:05:12 +01:00
af0e6872b4
triggerbox: handle None trigger follow action
2021-12-04 13:33:32 -07:00
c1de82f833
triggerbox: fix return value from MidiTrigger::run() when there was an event
...
last_event_samples was being set to buffer/process()-relative samples, but
needed to be timeline-relative samples.
2021-12-04 13:25:33 -07:00
65c69b6818
triggerbox: resolve MIDI notes at end of buffer, not one beyond the end
2021-12-04 11:50:31 -07:00
b3f866b86e
triggerbox: more debug trace statements
2021-12-04 11:50:31 -07:00
4a13a1fa62
triggerbox: fix up what happens at the end of a MIDI trigger
2021-12-04 11:50:31 -07:00
050b046e4d
triggerbox: stop immediately when stop_all() is used
2021-12-04 11:50:31 -07:00
0c7d578199
NOOP: comments to document Trigger state enum and some methods
2021-12-04 11:50:31 -07:00