Commit Graph

34992 Commits

Author SHA1 Message Date
Caleb Potter
1a2d229d7b adds support for iCon Platform X+ extenders with iCon Platform M+
Adds three new device profiles for using the iCon Platform X+ extenders
with the iCon Platform M+ controller as the master unit. Profile added for
one extender on left, one on right, and two on left.
2022-03-17 15:37:07 -06:00
Caleb Potter
d1f4679abc adds support for iCon Platform M+ controller
Adds a device profile for iCon Platform M+ controller and new function
that flips between editor and mixer window. This function is mapped to
"mixer" button on controller.
2022-03-17 15:37:07 -06:00
Caleb Potter
fc961f1622 adds support for MCP device-specific button to function remapping
Adding this function so that different devices can remap their buttons
to functions based on device profile.
2022-03-17 15:37:07 -06:00
7633005a22 Fix solo control activation 2022-03-17 13:51:30 -07:00
bd32243ec7 lua/superclocks: use accessor rather than static var 2022-03-17 14:15:59 -06:00
e3b66825eb superclock_ticks_per_second: GUI edition changes 2022-03-17 14:15:59 -06:00
a803dd0df8 superclock_ticks_per_second: use an (inline) accessor, change value
We do not want a value as large as the previous one, which limits the time
range that can be represented in 62 bits unnecessarily. The new value is
9 times smaller than the previous value, and loses only 384000 as a significant
factor.

This commit also switches to using an (inline) accessor for superclock_ticks_per_second,
making it possible in debug/testing phases to spot early/illegal uses of the value.
2022-03-17 14:15:59 -06:00
641589c56a Revert "change clock_display_limit default value, to fit within an int62_t"
This reverts commit 0d84d32792.
2022-03-17 14:15:59 -06:00
f78b54a06d
Fix AutomationLine editing (range based editing)
This fixes various offset issues when editing MIDI (CC)
automation as well as RegionGain range and point based editing.

(It does not fix a related issue that region start-trim
offsets region-gain. Historically region-gain _offset is always
zero, regardless of region->start().
2022-03-17 20:16:07 +01:00
e72cff4ab1 triggerbox: reset all trigger states when locating/stopping
We also exclude anything from happening during TriggerBox::run() while locating/stopping
is taking place.
2022-03-17 12:20:34 -06:00
2b630c4887 triggerbox: add TriggerBox::dump() to check trigger states 2022-03-17 12:20:34 -06:00
1af0e7cc4f triggerbox: provide ::shutdown_from_fwd() method
This does the internal shutdown of a Trigger that is shared between
a normal shutdown and when stopping for a locate/stop. There's no
output to buffers possible.

This method/design may need to change if/when we add declicking for
various conditions
2022-03-17 12:20:34 -06:00
1cc8a3f92c extend Session API to provide ::transport_locating() 2022-03-17 12:20:34 -06:00
9f29986a16
Fix Wreorder 2022-03-17 17:12:08 +01:00
13da06feb9 triggerbox: remove debug messages 2022-03-16 11:21:29 -05:00
92024cac99
Remove debug messages (2/2) 2022-03-16 17:08:15 +01:00
e603b2e12d
Remove debug messages (1/2) 2022-03-16 17:08:14 +01:00
0d84d32792 change clock_display_limit default value, to fit within an int62_t
New value is just over 1 day @ 96kHz
2022-03-15 17:24:33 -06:00
2572a24172 auditioner: fix thinko in midi file length 2022-03-15 17:57:15 -05:00
22b81901b0
Re-import exported files at the export-range's start time. 2022-03-15 22:52:58 +01:00
3ae73eb242
Extend Session::Exported signal
Include timespan start position. This will allow to re-import
the file at the export-position.
2022-03-15 22:52:58 +01:00
87354918a1
Allow Lua bindings of static signals with 4 parameters 2022-03-15 22:52:58 +01:00
93207d45c5 editor: clip picker expects set_session(0) to avoid dangling session-handle refs 2022-03-15 15:59:35 -05:00
7f89db9f36 primary clock should show BBT now 2022-03-15 09:03:40 -05:00
2a611f1d40 editor: add clip-picker list to the editor 2022-03-15 09:03:40 -05:00
5802fd52eb triggerbox: use all_trigger_props (gui part) 2022-03-15 09:03:40 -05:00
d9773e5788 triggerbox: add PropertyChange::all_trigger_props() 2022-03-15 09:03:40 -05:00
26e79edaa3 trigger_ui: implement per-slot UI for allow_patch_changes
* TODO: provide an action to enable/disable for ALL the slots in a TB
2022-03-15 09:03:40 -05:00
0bfa7e1b30 triggerbox: implement allow_patch_changes 2022-03-15 09:03:40 -05:00
f7d17c6aca mini_timeline: round to bars and show slightly less digits 2022-03-15 09:03:40 -05:00
4e55c77d23 Speed up code signing during osx builds
Use xargs to parallelize calls to codesign for much faster results.
The thread count should really be turned into an env variable
or auto detected.
2022-03-14 23:02:33 -05:00
77233f1ff9 Lock mode: region-drags should not be totally prevented in Lock mode:
* the user can override with a modifier; this is checked later
* the user may drag a region up&down across tracks, just not < >
2022-03-14 22:05:52 -05:00
20dad3f520 ripple: Lua bindings for ripple enums (no funcs to use them yet) 2022-03-14 21:35:35 -05:00
f0372e0b17 ripple (gui part) ripple_marks should work without a plist (Range cut) 2022-03-14 21:35:35 -05:00
f8f53a4cae ripple (gui part) changes to Range + RippleAll behavior on markers
Range->Delete is the most common type of ripple-editing imho
... so we need to implement ripple_marks for that common action

* markers inside a deleted range should be removed
* range markers (start+end) need special handling
* remaining markers to the right can be rippled by libardour
* implement undo
2022-03-14 21:35:35 -05:00
b0276fd524 ripple (gui part): when Ripple is selected, RippleMode widget appears 2022-03-14 21:35:30 -05:00
01ef5a5b24 ripple (gui part): should_ripple_all() encapsulates modes Ripple+RippleAll 2022-03-14 19:26:41 -05:00
3a6210696d ripple (gui part): remove config-option for Interview mode 2022-03-14 19:26:41 -05:00
4cbdb30d56 ripple: tweak behavior of Locations::ripple
* ignore session, punch and loop ranges
* support positive and negative ripple distances
* move either or both (start+end) of a range marker
2022-03-14 19:26:41 -05:00
ba9bbf81ba ripple: create RippleMode and associated enums
* RippleAll is no longer an EditMode
* RippleSelected, RippleAll and RippleInterview are now subtypes of Ripple
2022-03-14 19:26:41 -05:00
54367e5aef playlist: use C++11 style iterators wherever possible 2022-03-14 14:52:46 -06:00
a336e87df8 when loading a session, catch up on tb_with_filled_slots correctly 2022-03-14 14:10:29 -06:00
2ea75e88a2 sync cue markers when tempo map changes
This generates the _cue_events list, which is timestamped in samples, from all
current locations that are cue markers
2022-03-14 14:03:07 -06:00
22b50c1716 ensure that Session handles tempo map changes synchronously in the main RT process thread 2022-03-14 14:03:07 -06:00
10dc09fcd4 temporal: extend TempoMap thread local ptr API a little
This allows checking to see if the map has changed compared with the thread's
current local pointer.
2022-03-14 14:03:07 -06:00
da95a0a0ee replace sample rate callback used for superclock<=>sample conversion
Now using a globally-scoped static variable which is updated by the
AudioEngine whenever an SR change occurs. Defaults to 48kHz and can
be used even before there is a backend.
2022-03-14 14:03:07 -06:00
a4fd4cdaf0 triggerbox: enhance utility of a fatal message 2022-03-14 14:03:07 -06:00
00d8b08300 triggerbox: track empty slot status and ignore stop-at-session-end when appropriate 2022-03-14 14:03:07 -06:00
a435d4d18e Auditioner: round-up midi region length to seconds, at least 2 seconds long 2022-03-13 19:42:00 -05:00
7321248916 triggerbox: do not try to set the {segment} tempo if there is no region
* divide-by-zero was resulting in NaNs in the snapshot file
2022-03-13 19:42:00 -05:00