Commit Graph

16764 Commits

Author SHA1 Message Date
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
Robin Gareus
5c94bd00b5 NO-OP: mixbus codebase unification 2019-04-12 19:22:59 +02: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
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
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
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
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
Robin Gareus
46f0b75e12 Undo more incorrect sample/frame replacements 2019-04-08 04:10:04 +02:00
Robin Gareus
889bd35f4f NO-OP: whitespace 2019-04-08 03:45:12 +02:00
Robin Gareus
a5009bfed3 Indicate automation-latch as "touch" on the CC121
Without a dedicated "Latch" control, this does at least consistently
indicate "Touch", rather than show some arbitrary LED state.
2019-04-08 02:05:36 +02:00
Robin Gareus
94409c80f3 NO-OP: whitespace 2019-04-08 01:56:52 +02:00
Robin Gareus
e4f18c1771 NO-OP: whitespace & revert samples -> [stack]frames 2019-04-08 00:35:00 +02:00
Robin Gareus
eeb2cddd26 NO-OP: indent 2019-04-08 00:29:13 +02:00
Robin Gareus
4b86d19b27 Add missing semicolon (Mixbus) 2019-04-08 00:22:13 +02:00
Robin Gareus
3cc30c73af Revert some incorrect frames -> samples replacements 2019-04-08 00:18:08 +02:00
Robin Gareus
7e0f6be1ed Enable midi-to-audio bounce when processing w/synth 2019-04-07 19:54:29 +02:00
Robin Gareus
8f9c1df183 Prepare midi-export for midi-to-audio bouncing.
* shift event time into process cycle before calling processors
* reset note-trackers when exporting, don't allow any pending
  events into the queue
2019-04-07 19:54:24 +02:00
Robin Gareus
1ba391ab11 Fix bounce-process: skip all processors before disk-reader 2019-04-07 19:52:12 +02:00
Robin Gareus
73816d3e38 Bounce process always uses speed 1.0 2019-04-07 19:52:02 +02:00
Robin Gareus
a1c19911db NO-OP/Optimize Bounce: Lookup data-type only once
This is to prepare for midi-to-audio bounce: allow to change the
data-type to be used as output.
2019-04-07 19:51:56 +02:00
Robin Gareus
7450d69189 Verify Freeze/Export/Bounce polarity invert buffers
When using bounce w/process, the initial bufferset can [wrongly] be
  buffers.set_count (track.max_processor_streams())
Since the polarity-processor is first in the chain, iterations
over all buffer that don't have a matching _current_gain[]
or _control[] leads to memory-corruption or segfault.
2019-04-07 19:51:49 +02:00