Commit graph

14768 commits

Author SHA1 Message Date
Johannes Mueller
822f55f4af Provide ActionModel::build_custom_action_combo() for Control Protcols
to consolidate code that's identical in several control protocols.
2019-04-20 22:12:52 +02:00
Johannes Mueller
73f8b8d982 Use ActionModel::build_action_combo() for Control Surfaces that need it 2019-04-20 15:25:32 +02:00
Johannes Mueller
de876acc8b Provide a function to fill a Gtk::ComboBox with all available actions 2019-04-20 15:25:32 +02:00
Johannes Mueller
5b7bcec529 Use ActionModel API in the Control Surfaces that can make use of it 2019-04-20 15:25:32 +02:00
Johannes Mueller
b141d17274 Provide an API to get all available actions by one singleton class
The singleton ActionModel provides a Gtk::Treestore of all actions known to
ardour.

To be used for example by surface control editors to implement action bindings.
2019-04-20 15:25:32 +02:00
Johannes Mueller
8cbbd3dd00 Fadeport: Fix User button state save and restore
Since we (since ddfc37e4) set the UserDown flag for the User button actions, we
need to set it also when we lookup actions when saving the state.
Furthermore, we need also look for the UserDown flag, when we set the state
of the configuration combos for the User button.
2019-04-20 00:15:20 +02:00
Johannes Mueller
23b196952b Fix restoring of CC121 configuration
The button ids are in the children of the cc121 protocol node, not in the
protocol node itself.
2019-04-20 00:12:59 +02:00
Robin Gareus
1f982b532d
Update Fluidsynth to v2.0.5 2019-04-19 15:44:14 +02:00
Robin Gareus
bcd33a2381
Remove cruft 2019-04-19 15:03:50 +02:00
Robin Gareus
5553979511
NO-OP: whitespace 2019-04-19 15:03:37 +02:00
Johannes Mueller
6d4d4ccc78 Fix crash when destroying session while control protocol is selected in preferences
The GUI should be notified about the tearing down of the control
surfaces *before* the protocols are actually destroyed.

On ProtocolStatusChange ControlSurfacesOptions::selection_changed() might try
to access protocol->has_editor() of a protocol that happens to be selected in
the preferences GUI. I this protocol already has been destroyed, a crash will
occur.
2019-04-17 13:53:45 +02:00
Johannes Mueller
ca05f03e72 Align port layout and code of a-exp with the one of a-comp 2019-04-15 18:40:27 +02:00
Johannes Mueller
beaaa80d42 Remove switch for different inline displays from a-comp.
Reverts a0a4db47a7

This feature never was in a release.
2019-04-15 12:11:38 +02:00
John Emmas
94036cc7c0 Correct a typo that crept in somewhere 2019-04-14 19:34:37 +01:00
Robin Gareus
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
Robin Gareus
bf3e91e5cf
NO-OP: whitespace 2019-04-13 17:06:29 +02:00
Robin Gareus
ff3b59fb4f
NO-OP: whitespace 2019-04-12 21:38:06 +02:00
Robin Gareus
4199156263
More Ardour/Mixbus codebase unification
Note Presentation-Info bits used by Mixbus to prevent conflicts
when sharing sessions.
2019-04-12 21:37:51 +02:00
Nikolaus Gullotta
6771296362 split refill into refill_display which may speed things up slightly and add some small optimizations 2019-04-12 14:05:57 -05:00
Robin Gareus
5c94bd00b5
NO-OP: mixbus codebase unification 2019-04-12 19:22:59 +02:00
Nikolaus Gullotta
def9a04538 replace gross in array with vector instead 2019-04-12 11:42:52 -05:00
Robin Gareus
c218b65d24
Fix the URI handling (for sfdb) for Windows
This forward ports Mixbus' 4eca3dea47 without additional code to correct
for old (Ardour2) URIs.

A2, used path2uri() which accumulated and left duplicate slashes in place,
eg. "file:////". Mixbus3 auto-corrected this on load in
AudioLibrary::search_members_and().
However sfdb libraries are not shared between major versions, so this
code does no need to be forward ported.
2019-04-12 18:38:49 +02:00
Robin Gareus
6cfb164d7c
Backport backup folder creation
Other parts for auto-backup is already in ardour-git.
2019-04-12 18:32:34 +02:00
Robin Gareus
6631d97ac0
Mixbus likes hyperthreading on Mac 2019-04-12 18:30:52 +02:00
Robin Gareus
3da07e6736
Special case Lua copy-construction of trackable instances
This fixes an crashing issue with ArdourUI.SelectionList a bug
introduced in 6dc3bdf252 and 35dcd46d7d.

Since removal of the special cases in 35dcd46d7d, when using
a C-pointer in a std::list<>,
  std::list<class*>::push_back(TypeListValue)
TypeListValues<>'s Head was expanded to  "class*& const"
implied by void ::push_back(const T& value);

This resulted in lifetime issues with a classes that derive
from sigc::trackable (e.g. Ardour's Selection).
The reference leaves scope and isn't duplicated when it is pushed back
to the std::list<>.

The script scripts/select_every_2nd_region.lua crashed because entries
in the SelectionList were no longer valid.

Previously (before 6dc3bdf252) TypeListValues explicitly
copy-constructed the value to work around the lifetime issue.
This new solution bypasses the issue by directly using the c-pointer
without dereferencing it.
2019-04-12 05:45:27 +02:00
Nikolaus Gullotta
22b602282d sanitize node is smarter about just removing 'important' nodes due to conflicts with mixbus's version of route.cc - now we try to simply remove the parts that overwrite them 2019-04-11 15:14:55 -05:00
Nikolaus Gullotta
ae92331986 add checks for MIXBUS for certain features, and reconcile that with the GUI parts as well 2019-04-11 11:04:57 -05:00
Nikolaus Gullotta
52b172e013 add flag checks to sanitize_node 2019-04-11 09:48:56 -05:00
Nikolaus Gullotta
0f0d27f723 NO-OP: rename functions to better reflect what they do 2019-04-11 09:15:37 -05:00
Nikolaus Gullotta
4a3bc090cc flags should start out all checked 2019-04-11 09:15:06 -05:00
Robin Gareus
2a8bda01b1
NO-OP: whitespace 2019-04-11 02:32:45 +02:00
Robin Gareus
01024e2b4c
Add API to render a reflection
This is to be used sparingly because the pattern is dynamically
created every time. Mainly for the benefit of some Mixbus
widgets -- compared to ArdourButton::convex_pattern
2019-04-11 02:06:32 +02:00
Nikolaus Gullotta
fc66cc1efa Merge branch 'master' into mixer-snapshots 2019-04-10 14:57:30 -05:00
Nikolaus Gullotta
a5ef2cd27e allow flags to be setable from the MixerSnapshotDialog 2019-04-10 14:51:13 -05:00
Nikolaus Gullotta
b683546ab7 set up recall flags for later usage 2019-04-10 10:47:51 -05:00
David Robillard
d465a2b012 Cleanup: Simplify conditionals 2019-04-10 10:24:33 +02:00
David Robillard
30d59c8f6e Remove support for building against LV2 older than 1.2.0
LV2 1.2.0 was released in 2012, over 6 years ago now.
2019-04-10 10:24:33 +02:00
Robin Gareus
7fc7c18a07
LV2: check required feature and options
When discovering LV2 plugins, verify if a plugin's required features
and required options can be be satisfied.

This replaces a previous blacklist with a whitelist of supported
features/options.
2019-04-10 00:22:20 +02:00
Nikolaus Gullotta
8ce2f68942 Merge branch 'master' into mixer-snapshots 2019-04-09 10:59:25 -05:00
Robin Gareus
59b1193b56
Disable auto-input by default for new installs
This prevents audible feedback on laptops when adding new tracks
with default settings.
2019-04-09 14:36:56 +02:00
Robin Gareus
1780cbe179
Backport Mixbus delivery patch 2019-04-09 14:33:27 +02:00
Robin Gareus
57ebb5c1ba
Remove cruft: unused typedef 2019-04-09 02:23:17 +02:00
Robin Gareus
b840feb721
NO-OP: whitespace 2019-04-09 02:20:06 +02:00
Nikolaus Gullotta
bc61645258 Merge branch 'master' into mixer-snapshots 2019-04-08 15:32:14 -05:00
Robin Gareus
9f77a6f7fe
NO-OP: more libardour whitespace tweaks 2019-04-08 19:36:22 +02:00
Robin Gareus
2f727a6a32
Undo yet more frame/sample replacements 2019-04-08 18:32:09 +02:00
Robin Gareus
aef75f87b7
NO-OP: whitespace, comments 2019-04-08 18:32:03 +02:00
Robin Gareus
0a329ffe73
NO-OP name change: CD-frames (not samples) 2019-04-08 14:44:22 +02:00
Robin Gareus
84272b4e27
NO-OP: whitespace
Fix space-alignment, mostly due to "frame" -> "sample" changes.
2019-04-08 05:16:33 +02:00
Robin Gareus
f4c5e21a7a
Undo incorrect sample/frame replacements in clearlooks 2019-04-08 04:10:12 +02:00