Commit Graph

34651 Commits

Author SHA1 Message Date
Ben Loftis
563dc9ae21 triggerbox: setup_stretcher must be called for stretch_mode to have any effect 2022-02-12 11:12:08 -06:00
Ben Loftis
d20dfe8f88 clip_picker: fix logic to show MIDI file properties 2022-02-12 09:35:24 -06:00
Ben Loftis
227815ebab fix crash introduced in d8b3 2022-02-12 09:34:42 -06:00
Ben Loftis
6bc881086b Fix a bug where the spinner skipped values because it was always rounding down
Until we have a trimmer, the clip length spinner sets integer beats (beatcnt)
This allows the user some minimal ability to fix a clip of the wrong bpm.
We assumed that 'clips' are already be pre-trimmed to a beat length.
Our internal heuristic always forced tempo to match an integer beatcnt

However: when bouncing a Range to a Trigger Clip, you can know the tempo, and also have a non-integer beat length.
In those cases, the clip-length spinner could behave oddly.

While it's arguably wrong to show integer beats when the internal value is something else,
  we still want to show the spinner in integer beats, so it remains usable for its main purpose
2022-02-12 09:10:23 -06:00
Ben Loftis
d8b3fbb94e beatcnt is a derived property from tempo and segment-length 2022-02-12 09:04:48 -06:00
Paul Davis
b3ec5df8a8 triggerbox: some additional DEBUG_TRACE messages 2022-02-11 15:22:45 -07:00
Ben Loftis
40b483e71e trigger_ui: move the patch-dialog to the properties area.
* patch-dialog is now launched from a button and stays open
* patch-dialog now tracks the current selection
2022-02-11 15:32:00 -06:00
Ben Loftis
a8cf442bc9 pixel-pushing: clean up the dialog for Range->Bounce to Trigger Clip 2022-02-11 15:32:00 -06:00
Ben Loftis
a02689f41e Range->Bounce to Trigger Clip: use UISTate api to set tempo of clip
* also use the desired name without the extra stuff that bouncing adds to the filenam
2022-02-11 15:32:00 -06:00
Ben Loftis
02e9222221 trigger_ui: implement new UIState api for drag&drop 2022-02-11 15:32:00 -06:00
Ben Loftis
40a1997c0e triggerbox: reimplement enqueue_trigger_source using a map of UISTate entries
* "Range->Bounce to Trigger Clip" needs to set tempo
* Range->bounce can operate on multiple tracks (regions) in one operation
2022-02-11 15:31:54 -06:00
Ben Loftis
742e3659ff triggerbox: add name, color and tempo to UIState; used for gui operations like d+d 2022-02-11 15:25:59 -06:00
Ben Loftis
37a5edb2cd triggerbox: initialize values of UIState (c++11 style) 2022-02-11 15:25:59 -06:00
Paul Davis
76ae8f29f7 triggerbox GUI: stop-all cue marker uses INT32_MAX now 2022-02-11 13:37:14 -07:00
Paul Davis
1777f9af0c triggerbox: working (?) "stop all cues" cue marker 2022-02-11 13:36:58 -07:00
Paul Davis
17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
Paul Davis
98f1b4364d triggerbox: implement function for translatable marker names 2022-02-11 11:33:27 -07:00
Paul Davis
914b2447b8 triggerbox: a cue marker/event with cue-id < 0 means "stop all" 2022-02-11 11:33:06 -07:00
Paul Davis
a1384d2789 triggerbox; fast-forward should do nothing if we are not use cue markers 2022-02-11 10:33:11 -07:00
Paul Davis
d18426ee95 debug output to show contents of trigger property changes 2022-02-11 10:32:50 -07:00
Paul Davis
f7881af554 do not recurse 2022-02-11 10:21:48 -07:00
Paul Davis
008f0d4e4c triggerbox: do not send Trigger property updates while fast forwarding 2022-02-11 10:16:04 -07:00
Paul Davis
e14b8a142d triggerbox: a cue marker that refers to an empty slot ends a previously playing slot (in fast forward) 2022-02-11 09:11:43 -07:00
Paul Davis
9f39cca21f remove debug output 2022-02-11 08:47:59 -07:00
Paul Davis
3553d56f05 tempo map: fix loading 6000-version or earlier tempo maps
Probably a copy-n-paste error meant the reversed logic was used
to decide if we had found an inital tempo and meter
2022-02-11 08:46:49 -07:00
Paul Davis
2bf8b7ce11 triggerbox: mostly working fast-forward for MIDI triggers 2022-02-10 19:59:48 -07:00
Paul Davis
395b759f42 midi state tracker: extend, fix, improve API for flushing state 2022-02-10 19:59:48 -07:00
Robin Gareus
9b3d0ddd11 Fix incorrect check for existing directory
Glib::file_test returns true if **any** of the tests in the
bitfield test are true (not *all*).
2022-02-10 22:04:40 +01:00
Robin Gareus
ff56cd61b3 Do not switch to Clip Library when moving a file into the dropzone 2022-02-10 21:59:53 +01:00
Robin Gareus
a63a18a338 Do not allow to add the same folder to the clip library path twice 2022-02-10 18:25:11 +01:00
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