13
0
Commit Graph

18407 Commits

Author SHA1 Message Date
243ddae928 triggerbox: implement trigger gain as a save-able property (libardour) 2021-12-17 13:09:49 -06:00
dd7f474125 triggerbox: scene-isolate property for triggers (libardour part) 2021-12-17 13:09:49 -06:00
ec04ab3865
Fix Triggerbox mono to stereo playback 2021-12-17 17:50:50 +01:00
6b6ae5dedb
Fix file-extension check
If the extension is not found, string::rfind() returns -1,
That can still match unrelated file if the file-name is one
char longer than an arbitrary extension.

eg. "foo" matched ".aiff" because
-1 = strlen("foo") - strlen(".aiff")

Also due to a missing comma ".VOC.vwe" matched any file shorter
than 7 chars in length.
2021-12-16 19:08:03 +01:00
9f7114f761
Add dir names for media-folder 2021-12-16 19:08:03 +01:00
21ed6a2626 add Config variable for trigger enable 2021-12-16 10:39:43 -07:00
f7792cb425 triggerbox: fix typo that caused crash when handling unstretched audio 2021-12-16 10:39:43 -07:00
899c217511 triggerbox: fix passthru handling and default to off 2021-12-16 09:31:12 -07:00
f8432d0647 Triggerbox: these properties will not be stored in Region (reverts 3918ee) 2021-12-16 08:15:29 -06:00
fc0dfd5d38
Wreturn-type, fixes unconfigured processors 2021-12-16 14:47:10 +01:00
8a58155dcf triggerbox: use Session::import_files() to load from file
This uses the SRC infrastructure set up for normal imports, which
is desirable.
2021-12-15 18:19:20 -07:00
02eb39325f triggerbox: fix channel handling for audio
We do not modify the audio I/O of the parent route, and process
at most std::min (route_inputs,region_channels).
2021-12-15 18:19:20 -07:00
382f73fa51 triggerbox: use stretching() internally but change property name to stretchable (libardour) 2021-12-15 18:08:22 -06:00
40c1a7016a triggerbox: NOOP - add explanatory comment 2021-12-15 15:39:28 -07:00
ca7b418281 triggerbox: NOOP - commented out extra debugging info 2021-12-15 14:58:24 -07:00
1ecdc5c515 triggerbox: try to avoid tempo that results in fractional bar cnts
If minibpm's estimate of tempo implies that the clip has a duration measured in
fractional bars, use the estimate as a starting point to get to a tempo that
will lead to an integer number of bars (and quarters)
2021-12-15 14:58:03 -07:00
ed6121d76e triggerbox: continued work on Repeat trigger mode 2021-12-15 12:26:46 -07:00
2688c02e0e triggerbox: do not use follow action if Trigger::_use_follow is not set 2021-12-15 11:19:36 -07:00
347a17cdb2 triggerbox: telling a Toggle/Gate/Repeat launch mode slots to not use a follow action when stopped 2021-12-15 11:03:53 -07:00
ab03e09a79 triggerbox: publish the loop_cnt for the gui 2021-12-15 11:43:48 -06:00
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