Commit Graph

33753 Commits

Author SHA1 Message Date
Paul Davis 305c9ba6e9 triggerboxGUI: use new API and tweak add route dialog to allow choice to add triggerbox 2021-10-08 13:45:27 -06:00
Paul Davis 6326222a48 triggerbox: change APIs so that we can add a triggerbox to either type of track 2021-10-08 13:45:27 -06:00
Paul Davis 7e35714886 triggerbox: change default MIDI note triggers to match first vertical row of Push 2 2021-10-08 13:45:26 -06:00
Robin Gareus 13168bb5b2
Disambiguate error message 2021-10-08 04:13:06 +02:00
Robin Gareus 8e5af55ae5
Prevent identical port-names when renaming tracks
Audio ports are sorted using PBD::naturally_less.
PBD::naturally_less is also used as compare function
for port-lists, port-sets, and port-maps.

So in sets and maps, the function is used to test
for uniqueness. This lead to issues since naturally_less
treats whitespace and underscores as identical.

While it was possible to have routes named "Audio_1",
and "Audio 1", this resulted in missing ports for one
of the routes.

see also 60ff3ef764
2021-10-08 04:12:55 +02:00
Robin Gareus ba2a2cb654
Implement natural-sort spaceship operator 2021-10-08 04:12:32 +02:00
Paul Davis 97f323137c triggerbox: initial (incorrect) attempt at handling tempo map changes 2021-10-07 08:03:46 -06:00
Paul Davis 3ddfdbc790 triggerboxUI: start adding per-slot event handling 2021-10-07 07:57:47 -06:00
Paul Davis 6daf0f0451 triggerbox UI: fix usual ambiguity on macOS etc. when using "Rect" 2021-10-07 07:48:07 -06:00
Paul Davis 7e2dd8a718 triggerbox: add follow count support 2021-10-07 07:48:07 -06:00
Robin Gareus 05df62ed79
Amend fdf1c1aba2, don't unconditionally show plugin-manager 2021-10-07 03:47:00 +02:00
Robin Gareus fdf1c1aba2
Show plugin-manager when missing plugins are found 2021-10-07 03:10:48 +02:00
Robin Gareus 1c1f48fd98
VST: Remove accidentally added factory reference 2021-10-07 01:46:44 +02:00
Robin Gareus 789949ed8e
VST3: properly take references, ignore controll == component cases
This is mainly motivated by DPF's new VST3 implementation, but
also takes a leaf out of JUCE's book, unconditionally initializing
the VST::IEditController even if it is-a VST::IComponent.
and likewise calling terminate().
2021-10-07 01:08:27 +02:00
Paul Davis 28784a0da7 triggerboxUI: change progress display to partial width, thin horizontal line 2021-10-06 15:21:44 -06:00
Paul Davis 0bace97916 triggerboxUI: shrink font size 2021-10-06 15:21:44 -06:00
Paul Davis d4d4298320 triggerbox: add Chris Cannam's minibpm and use to determine tempo and thus stretch 2021-10-06 15:21:44 -06:00
Paul Davis 1c4e1d01a7 triggerbox: an attempt at parameterizing the expected trigger duration 2021-10-06 15:21:44 -06:00
Paul Davis 0199a4e561 triggerbox: basic stretch test using assumption that slot holds s 4 bar region 2021-10-06 15:21:44 -06:00
Robin Gareus bbbfadb832
VST3: initialize controller even if it is-a component 2021-10-06 21:35:08 +02:00
Robin Gareus cc084ef0a7
Fix setting custom path to the video monitor on macOS 2021-10-06 05:06:39 +02:00
Paul Davis 89c17dfe7d remove debug output 2021-10-05 14:00:34 -06:00
Paul Davis dadf530243 temporal: change loading of session format 3x tempo maps
We were attempting to add the initial tempo and meter twice, which was unwise
2021-10-05 13:57:10 -06:00
Paul Davis 248d7e5980 prevent trim-dragging that doesn't change region duration from incorrectly resetting fades 2021-10-05 10:43:24 -06:00
Paul Davis 8bdb8f51fd remove debug output 2021-10-04 17:47:55 -06:00
Paul Davis 0acc1a3fec temporal: use correct implementation of timepos_t::operator+ (timecnt_t) (and +=)
If time domains differ, it is necessary to first convert the argument duration into a duration
at the position of "this", in the correct time domain. Then we recursively call the operator
again, but this time we will use the fast path that just adds two timepos_t values.
2021-10-04 17:45:02 -06:00
Robin Gareus 5925ee0b7c
Prevent processing until buffersize change is complete
This fixes async callback from CoreAudio via
AudioDeviceAddPropertyListener. Apparently in rare cases it can
happen that the property listener calls back concurrently with
processing on M1 machines using Rosetta.

https://pastebin.com/upvc9LTc Thread 44 vs. Thread 32

May also be caused by plugin(s) taking a long time to
change buffersize. Processing continues even though the
buffersize callback has not yet completed.

PS. I have not been able to reproduce this on an Intel
machine, even with excessive buffersize changes. However
since buffersize changes cannot (usually) happen concurrently
with processing, taking the lock is reasonable.
2021-10-04 22:30:08 +02:00
Robin Gareus e2efb698e0
VST3: fix discrete parameters
Some plugins have a min/max range of 1, for stepwise enumerated
values of a control. e.g. waves maps note-names this way.
https://discourse.ardour.org/t/106429/
2021-10-04 17:07:53 +02:00
Robin Gareus 877f56e575
Add Lua binding for ParameterDescriptor::rangesteps 2021-10-04 17:07:53 +02:00
Paul Davis 949e3eadc9 triggerui: fix map/unmap confusion 2021-10-04 01:30:32 -06:00
Paul Davis dc4d94b4ee triggerui: basic progress bar for trigger slots 2021-10-03 23:47:47 -06:00
Paul Davis 5caed9b0a6 trigger: add method to get position while playing as a fraction 2021-10-03 22:44:03 -06:00
Paul Davis a1699ff612 canvas: size_allocate() from GTK gives origin in parent coordinates.
Convert to canvas-relative origin when passing to root group for allocation
2021-10-03 19:47:18 -06:00
Paul Davis b5c584befa triggerbox UI: make it respond to size_allocate() 2021-10-03 16:46:39 -06:00
Paul Davis e670acbb0d canvastable: fix logic error in ::compute_bounding_box()
Since the bbox is determined by ::compute(), do not unconditionally clear it here
2021-10-03 16:46:25 -06:00
Paul Davis bfc3c51052 triggerUI: somewhat functioning inline trigger box UI 2021-10-03 12:29:26 -06:00
Paul Davis 7d0c67e376 Revert "A small experiment to try '#pragma GCC warning'"
This reverts commit 808bfe0916.

This pragma syntax is not compatible with gcc
2021-10-03 09:10:14 -06:00
Paul Davis acac302063 first steps in displaying triggerbox UI inside mixer strip (non-functional) 2021-10-03 09:09:01 -06:00
Paul Davis 6ba8feed15 triggerui: work on colors, fonts and legato button 2021-10-03 09:09:01 -06:00
John Emmas 808bfe0916 A small experiment to try '#pragma GCC warning'
MSVC is happy to ignore the above pragma although it aborts the build if it encounters #warning

#pragma GCC warning seems to work fine here for Clang - so start by changing just 1 x file to see if there's any detrimental effect for the other builds.
2021-10-03 13:29:07 +01:00
Paul Davis b598750c2a triggerui: use new table attach API 2021-10-02 17:45:57 -06:00
Paul Davis 747a49006c canvastable: finish comment 2021-10-02 17:45:43 -06:00
Paul Davis a8cc0be45c canvastable: change some variable names; don't add per-col/row spacing twice 2021-10-02 17:09:01 -06:00
Paul Davis df5699b03e canvastable: fix comment to reflect split row/col homogeneity 2021-10-02 16:24:04 -06:00
Paul Davis 8130d265fd canvas table: separate out row & col homogeneity 2021-10-02 16:19:49 -06:00
Paul Davis 590866f8c1 canvas table; move computation of bounding box 2021-10-02 16:19:49 -06:00
Paul Davis 88443586ef canvas table: clean up attach API; improve comments; move use of padding.right outside loop 2021-10-02 16:19:49 -06:00
Robin Gareus 56056f5590
Remove unused code
It that was apparently accidentally added in a git-rebase
in 6fd791423b.
2021-10-02 23:41:28 +02:00
Paul Davis c550a400b1 triggerbox: more properties 2021-10-01 18:39:06 -06:00
Paul Davis 8cd8e23bef triggerUI: continue extending trigger launch editor 2021-10-01 18:38:42 -06:00