Commit Graph

34721 Commits

Author SHA1 Message Date
Robin Gareus 76a133cdf0
Allow to add folders to the clip-list via DnD 2022-02-10 18:09:45 +01:00
Robin Gareus 9f45e1a1fe
Copy Bank/Patch changes from auditioner to trigger-slot
This will need some refinement, we should only copy the settings
if the file in question was previously auditioned, and perhaps
only if GMsynth.lv2 is used.
2022-02-10 02:22:35 +01:00
Robin Gareus bf273a90ca
Auditioner: collect MIDI Bank/Program changes
This will allow to directly set MIDITrigger PC override
from the auditioner.
2022-02-10 02:22:35 +01:00
Paul Davis 771db9e238 NOOP: remove blank lines 2022-02-09 17:26:25 -07:00
Paul Davis f941041805 triggerbox: use C++11 syntax for iteration 2022-02-09 17:26:25 -07:00
Paul Davis 439e112d32 triggerbox: pay attention to the fact that a trigger may have Stopped while fast-forwarding 2022-02-09 17:26:25 -07:00
Paul Davis baacd3bb50 triggerbox: no need to call reset_stretcher() explicitly in ::_startuo()
Trigger::_startup() calls ::retrigger() and that will call reset_stretcher()
2022-02-09 17:26:25 -07:00
Paul Davis 0b5d449686 triggerbox: slightly improved DEBUG_TRACE output for property setters 2022-02-09 17:26:25 -07:00
Paul Davis 0ad90f826e triggerbox: handle realtime part of transport stop explicitly in TriggerBox 2022-02-09 17:26:25 -07:00
Robin Gareus 46b8b0963e
Fix bounce_range_selection trigger slot dropdown 2022-02-10 00:43:09 +01:00
Paul Davis 19b844e054 triggerbox: sync ui property state with internal for inactive triggers 2022-02-09 16:34:03 -07:00
Robin Gareus a309f237f2
Allow direct trigger -> trigger selection changes
Previously there were two signals for a ::set()
1. Clear Selection -> Emit Signal
2. Select TriggerEntry -> Emit Signal

As result the Trigger Patch Selector was reset and hidden at (1),
only to be set and presented again at (2).

This should perhaps be done for other ::set() calls as well.
2022-02-09 21:09:46 +01:00
Robin Gareus 42df6be0fa
Show Trigger Patch Selector on selection 2022-02-09 21:09:46 +01:00
Robin Gareus a4fd29fa7d
Refactor PC Dialog/Window -- non-modal tabbed dialog 2022-02-09 21:09:46 +01:00
Robin Gareus eb674d3b58
Prepare for non-modal PatchChangeTriggerDialog 2022-02-09 21:09:46 +01:00
Ben Loftis 6d64120e0e trigger_ui: move the follow-count text to the right side of trigger-master; it was obscured by the midi 'note' icon
also rethink the update mechanism; TriggerBox.cc generates far too many updates (see comments)
2022-02-09 13:11:31 -06:00
Ben Loftis c8ed5fdef6 revert 'testing' part of e0b14f: always showing the pgm-picker was an annoyance 2022-02-09 13:09:07 -06:00
Paul Davis baf2323798 add PBD::PropertyChange::dump (std::ostream&) to make it easier to see what changed 2022-02-09 10:08:01 -07:00
Paul Davis f58b8e3cb4 fix accidental insertion of "x1" 2022-02-09 10:08:01 -07:00
Paul Davis e77e3b35b8 mackie: fix crash when using thread-local tempo map
TempoMap::use() assumes the thread_local pointer has been set up. This
is not the case for the control protocol event loop, so call ::fetch()
instead which does not require this assumption (and sets the thread_local
pointer too, though nothing else in the Mackie code uses it)
2022-02-09 10:08:01 -07:00
Robin Gareus e3e7f587bd
Use audition synth when creating new trigger tracks via DnD 2022-02-09 14:32:12 +01:00
Paul Davis beffc7eb7f fix another ordering change introduced during a manual rebase fixup 2022-02-08 21:08:15 -07:00
Paul Davis 93e1b77fe2 fix mistake introduced during rebase fixup 2022-02-08 21:07:07 -07:00
Paul Davis 11042914e1 triggerbox: remove a bunch of cerr output and fix up audio stretcher reinitialization 2022-02-08 20:58:27 -07:00
Paul Davis 629efe29f4 triggerbox: initial implementation of start_and_roll_to () for AudioTriggers.
This also required a mechanism to prevent the fact of a non-null "currently_playing" value in
the TriggerBox from starting the transport, which is handled with Triggerbox::_locate_armed. This
is set when _currently_playing is set from TriggerBox::fast_forward()
2022-02-08 20:58:27 -07:00
Paul Davis e8b6728d2e triggerbox: fix looping of MIDI triggers
Problems were caused by a variety of interlocking errors.
DEBUG_TRACE() output has also been enhanced and added.
2022-02-08 20:57:32 -07:00
Paul Davis f77e9aa6c8 triggerbox: architectural changes to facilitate fast-forward 2022-02-08 20:57:32 -07:00
Paul Davis c9607d2fed change non-save button in "Name Session" dialog to be "Cancel" not "Discard" which is confusing 2022-02-08 20:33:46 -07:00
Paul Davis da0d16c712 midi state tracker: invert use of 0x80 to indicate "unset"
If a state variable has the 8th bit set, that indicates that it is unset.
2022-02-08 20:33:46 -07:00
Robin Gareus 19a4f6a437
Fix restoring Trigger state 2022-02-09 02:30:40 +01:00
Robin Gareus 5f84209c30
Add API to ignore PC per TriggerBox 2022-02-09 02:30:40 +01:00
Ben Loftis 43b98524b5 Cue page: cues are timeline rulers so color them(?); pixel-pushing 2022-02-08 17:04:09 -06:00
Ben Loftis 6c6e7ba2ee cue markers: pixel pushing 2022-02-08 17:04:09 -06:00
Ben Loftis 292faff26e Mini-timeline: Cues are events but they are also continuous 2022-02-08 17:04:09 -06:00
Robin Gareus 6b064c1599
NO-OP: whitespace 2022-02-08 23:20:40 +01:00
Robin Gareus ba32ee0e87
Initial version of MIDI Trigger patch override UI 2022-02-08 23:15:24 +01:00
Robin Gareus f57bef7c93
Remove debug message 2022-02-08 23:06:45 +01:00
Robin Gareus f9dbe34900
Add missing include 2022-02-08 21:24:54 +01:00
Ben Loftis 54b3a3bf6b less marimbas! 2022-02-07 19:43:34 -06:00
Ben Loftis e0b14f0231 clip picker: Add midi file properties; only shown when .mid is chosen 2022-02-07 19:33:43 -06:00
Ben Loftis 65f7e158a9 clip picker: tweak layout and rename _dir variable 2022-02-07 19:33:43 -06:00
Robin Gareus 51f458220d
Abstract Patch Change Widget, prepare to reuse for Slots 2022-02-08 01:25:37 +01:00
Robin Gareus 9b21c2be54
Bundle autotune plugin (with mixbus) 2022-02-07 18:54:38 +01:00
Robin Gareus 5f9d0743c9
Allow to loop auditioning 2022-02-07 04:39:05 +01:00
Robin Gareus 2328df23e5
Collect and postpone send delayline updates
In order to detect if route delaylines need to be updated,
aux-send delaylines need to be updated first. This was previously
done directly in the latency-callback, which may be concurrent
with processing.

Now only the information (pending_delay) is set, and the actual
change happens later at the end of process().
2022-02-07 04:31:42 +01:00
Robin Gareus 31b7e18d7d
Fix edge-case race initialize_latencies() vs process()
Due to _init_countdown when the engine starts, it is
extremely unlikely that Session::initialize_latencies(),
which is invoked by AudioEngine::Running runs concurrently
with Session::process, but at least in theory it would be possible.
2022-02-06 00:45:49 +01:00
Robin Gareus 0a49586b1a
Fix macOS builds (incomplete type, missing include in 9eb626cc37) 2022-02-06 00:39:36 +01:00
Robin Gareus 77bca98fc0
Revert "Triggerbox: revert test-code"
This reverts commit 220b1386ab.
because it causes crashes when saving sessions.

_channel_map[] must not be empty, otherwise

Program terminated with signal SIGSEGV, Segmentation fault.
snprintf (buf, sizeof (buf), "%d", _channel_map[chn]);
#0  ARDOUR::MIDITrigger::get_state() (this=0x55d676b4c600) at ../libs/ardour/triggerbox.cc:1962
#1  0x00007f58ccb40b12 in ARDOUR::TriggerBox::get_state() (this=0x55d676b4d720) at ../libs/ardour/triggerbox.cc:33
2022-02-05 19:19:37 +01:00
Robin Gareus 77bfba1281
Revert "Fix playback of initial notes during MIDI audition"
This reverts commit 617697a823.
2022-02-05 19:16:44 +01:00
Robin Gareus c870c22c87
Process Audition: process events before run
Calls DR::set_pending_overwrite() sets DR::run_must_resolve
before the first run.

Previously this variable was set after the first ::run,
which resulted in notes at the beginning of audition to be
cut short.
2022-02-05 19:16:00 +01:00