Commit graph

18177 commits

Author SHA1 Message Date
Robin Gareus
72e5ec2c5e
Prototype LV2 dialog-message feature extension 2021-10-07 04:47:47 +02:00
Robin Gareus
eadd98efec
Handle LV2 requestValue calls from DSP context 2021-10-07 03:48:19 +02:00
Robin Gareus
652f99260b
Consolidate plugin API to access parent insert
Previously this was special cased only for VST for callbacks
from the plugin (e.g. check pin connections), but it is generally
useful.
2021-10-07 03:47:38 +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
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
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
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
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
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
Paul Davis
c550a400b1 triggerbox: more properties 2021-10-01 18:39:06 -06:00
Paul Davis
cc09576ef5 canvas table: dramatic fixes/extensions of table packing algorithm 2021-10-01 18:38:18 -06:00
Paul Davis
e265b27f5d triggerbox: add quantization property and notify on changes 2021-09-29 18:00:55 -06:00
Paul Davis
0e779fbec9 canvastable: if a cell is empty, still adjust horiz/vert coordinates so subsequent cells are aligned 2021-09-29 11:20:50 -06:00
Paul Davis
378e4e7a03 canvastable: fix typo that led to mis-sized table (row/col mixup) 2021-09-29 11:20:50 -06:00
Paul Davis
27ca49efd3 canvas: generic Item::_size_allocate() must adjust allocated space to parent-relative coords 2021-09-29 11:20:50 -06:00
Paul Davis
542424e27d triggerbox: minor fixes to get properties working more correctly 2021-09-29 11:20:50 -06:00
Robin Gareus
ed3d374f47
Fix --no-nls compilation 1/2 -- #8802
pbd/i18n.h MUST NEVER be included from header files and always be
the last include. This is because `_` is declared other headers
notably boost and some apple headers.

leading to issues like
../libs/pbd/gettext.h:58:27: error: expected unqualified-id before ‘const’
   58 | # define gettext(Msgid) ((const char *) (Msgid))
2021-09-27 16:28:44 +02:00
Paul Davis
2000bc6ea0 triggerbox: add use_follow and start using actual Properties for trigger properties 2021-09-26 21:59:15 -06:00
Paul Davis
cc6c0f1263 there is no Properties::position any more
Position is a part of a length property (a duple specifying
"duration AT position", and there is no distinct property
for just the position itself.
2021-09-25 16:49:51 -06:00
Paul Davis
64db1367bb Change name of Stateful::apply_changes (PropertyBase) to the singular form.
Makes it slightly easier to read+parse what is happening. Yes, for a
Sequence property, the call could apply several changes, but overwhelmingly
it is used to apply a single change.
2021-09-25 16:49:51 -06:00
Paul Davis
30a00c5e9f Fix implementation of timecnt_t::operator==() to compare both duration and position 2021-09-25 16:49:51 -06:00
Paul Davis
43c7a39f18 Additional removal of a PropertyTemplate::call() site 2021-09-25 16:49:51 -06:00
Paul Davis
2ed1bdd243 Remove PropertyTemplate::call() and replace with code that uses ::set()
This makes undo/redo work correctly.
2021-09-25 16:49:51 -06:00
Robin Gareus
5287bbb31e
Fix horiz meter expose 2021-09-25 00:01:23 +02:00
Robin Gareus
1c34a3dcbb
Add missing includes 2021-09-25 00:01:23 +02:00
Robin Gareus
e165e92268
Remove annoying debug message 2021-09-25 00:01:23 +02:00
Paul Davis
368e98336f gtkmm2ext: if a CairoWidget is used in the canvas, we do not need to realize the Gtk::EventBox
This may be a breaking change, but seems ok from superficial testing.
2021-09-23 11:48:29 -06:00
Paul Davis
d07436b15d canvas: much more work on table layout 2021-09-23 11:48:29 -06:00
Robin Gareus
5a1201f05b
Fix duplicate libs 2021-09-19 23:39:51 +02:00
Robin Gareus
29f96ad13e
Fix cross-compile (undefined references for canvas-tests) 2021-09-19 23:38:44 +02:00
Robin Gareus
5fb54c008d
Fix shortcut display in editor tooltips #8798
After the editor is attached as tab to the main window,
looking up keyboard bindings using get_toplevel() no longer
works.

This uses the widget-hierarchy just like ARDOUR_UI does.
2021-09-19 18:46:06 +02:00
John Emmas
666e62076c Part 2: Complete the changes needed to make 'boost::intrusive::list' work with MSVC
It turned out that 'boost::intrusive::list_base_hook<>' won't compile if its parent class is declared using '__declspec(dllexport)' - so rather than exporting each entire class, let's use the alternative approach and export the various class members individually.
2021-09-18 13:40:22 +01:00
Paul Davis
47f7958714 canvastable: remove unused vars; rename others 2021-09-17 14:36:09 -06:00
Paul Davis
44b1cea54a canvastable: minor optimization 2021-09-17 12:53:16 -06:00