13
0
Commit Graph

24313 Commits

Author SHA1 Message Date
13bfd1527a Make boolean string values 0 and 1 to maintain backwards compatibility
I would prefer "yes" and "no" as it distinguishes boolean values from numeric
but using "yes and "no" results in PBD::Property<T>::from_string failing to
parse the correct values when opening in an older Ardour version as there is no
specialization for bool.

Using 0 and 1 also results in less change to the Session file.
2017-04-19 07:49:57 +10:00
362303f793 FP8: Fix sort-order 2017-04-18 16:09:44 +02:00
a372fcbe51 prevent crash when loading midi port info about ports that no longer exist 2017-04-18 14:22:51 +01:00
5dce10500c FP8: handle backend changes + reconnect
When the backend is dropped or changed, on engine-restart
the connection_handler() re-establishes already connected ports.
There's no disconnect when the backend dies or is hard-stopped.
2017-04-18 15:14:00 +02:00
3243e17c71 FP8: allow to re-initialize the Strips w/o restart 2017-04-18 15:01:54 +02:00
bce08cf4f3 FP8: experiment with selection-mode 2017-04-18 13:39:42 +02:00
629b5e0446 clear + re-init faderport at disconnect 2017-04-18 03:20:33 +02:00
dbb3c47eee Only check active_state when potentially skipping the route processing.
In the past, we skipped processing if the routes had no inputs or outputs.
But:
  A route with a generator plugin should work even if it has no inputs.
  A route with "sends" should work even if it has no outputs.
2017-04-17 19:36:31 -05:00
8e5a972a24 Managed to trigger an assert()
Create new Mixbus session, initially incrementally adding Busses to
the session triggers a series of "assign_stripables()"
2017-04-17 23:50:11 +02:00
d6b36a13a1 Flush processor (re-activate) on route active change
(flush reverb tails etc)

PS. That comment "from RT audio thread" was wrong.
Route::flush_processors () is called from flush_all_inserts()
from Session::non_realtime_stop() which is not in rt-context.
Besides, the processor-lock regardless of the process_lock.
2017-04-17 21:15:27 +02:00
515c0687b4 amend 649b9e92f, backport MB code 2017-04-17 20:34:18 +02:00
649b9e92ff Backport some MB specifics (to avoid -Wmisleading-indentation) 2017-04-17 20:23:07 +02:00
91e56ee8ca Update well-known controls (Ardour, Mixbus, 32C) 2017-04-17 20:13:46 +02:00
84804f7d90 cont'd FP8 tweaks
* include Mixbus PRE plugin on Mixbusses
* Mixbus master-assign on right-most "S" button
* fix parameter-banking and assignment
* fix typo in 029e963fb (fader range constaint)
2017-04-17 20:06:00 +02:00
272e02b6c8 Fix string-convert tests for Windows and hopefully macOS/OS X
Tests requires a locale installed on the host that uses a comma as the decimal
mark/point.
2017-04-17 13:21:02 +10:00
c6747c9325 NO-OP: whitespace 2017-04-17 01:50:12 +02:00
3d0366d46b Send unmap event when removing a widget
This fixes a crash when hiding an ArdourCanvas Item VCA which
is about to display a tooltip.
2017-04-17 01:46:27 +02:00
aff92a019d Stop tooltip timeout when a canvas-widget or item is hidden. 2017-04-17 01:45:25 +02:00
976e03c15c Fix crashes with empty route-lists e.g. mute_release w/o routes 2017-04-16 23:48:49 +02:00
029e963fb5 FP8: limit fader range
In case of VCA masters or otherwise the value can exceed the max
+6dB and internal_to_interface() returns a value > 1.0 which cannot
be represented on the physical fader (MIDI &0x7f wraps)
2017-04-16 23:48:06 +02:00
55cd96df8d Clean up after generic MIDI surface -- #7311
When there are some non-released MIDIControllables, signal are still
delivered to the objects, even if there's no surface thread to handle
the signals anymore.
2017-04-16 19:06:17 +02:00
licorne-sama
7fe769fd14 Fixed the loop control
Works now perfectly fine with factory defaults
2017-04-16 09:05:14 -07:00
licorne-sama
62a1fd28d5 Create midi map for Arturia's KeyLab 49
Basic midi map for this midi keyboard. Works with device's factory settings, except for the loop button (see end of file). Transport control is available through MMC.
2017-04-16 09:05:14 -07:00
2e1a884d6e Fix Doxygen syntax (amend/revert f1a4767ac)
1st line after /**  brief description.
Doxygen is used for Ardour's online source doc and the Lua class reference.
2017-04-16 17:26:58 +02:00
67f2e4b866 FP8: add metronome level reset 2017-04-16 17:18:23 +02:00
f18f7dca43 Accommodate newly introduced source(s) in our MSVC project (libpbd) 2017-04-16 12:53:11 +01:00
c634daef6a Add locale independent and thread safe string conversion API with tests
All conversions are performed as if in the "C" locale but without actually
changing locale.

This is a wrapper around printf/sscanf for int types which aren't affected by
locale and uses glib functions g_ascii_strtod and g_ascii_dtostr for
float/double types.

My first attempt at this used std::stringstream and
ios::imbue(std::locale::classic()) as it should be thread safe, but testing
shows it is not for gcc/mingw-w64 on Windows, and possibly also some versions
of macOS/OS X.

Use "yes" and "no" when converting a boolean in PBD::string_to<bool> as this
seems to be the convention used throughout libardour which will allow using
string_to<bool> in those cases.

Add accepted bool string values from PBD::string_is_affirmative to
PBD::string_to<bool>

Mark strings in pbd/string_convert.cc as not for translation

Add u/int16_t string conversions to pbd/string_convert.h and tests

Add DEBUG_TRACE output on conversion errors

Add int8_t/uint8_t conversions(using int16/uint16 types) to string_convert.h

Add support for converting an infinity expression to/from string

Follows the C99/C11 standard for strtof/strtod where subject sequence is an
optional plus or minus sign then INF or INFINITY, ignoring case.
2017-04-16 14:02:41 +10:00
78b82b7ff2 Add PBD::DEBUG::StringConvert debug bit
This is for debugging errors with string conversion for cases where errors
aren't handled
2017-04-16 14:02:41 +10:00
58726cedf8 Fix indentation in ARDOUR::Amp::set_state 2017-04-16 14:02:28 +10:00
50ccd15d72 Fix indentation in MonitorProcessor::state 2017-04-16 14:02:20 +10:00
31b4fae88b Fix indentation in ardour/enums.cc 2017-04-16 14:02:12 +10:00
f1a4767ac5 Fix indentation and make comment style consistent in PBD::PropertyList header 2017-04-16 14:02:03 +10:00
4d9690930a Silence -Wunused-value 2017-04-16 00:15:53 +02:00
8a3d9317bd FaderPort8 details:
* make shift buttons equivalent
* 2 x stop: move to session-start
* RTZ: return to zero (not session-start)
* in Pan mode: encoder controls pan-width (w/o shift)
2017-04-15 21:20:51 +02:00
18dcd4d7ff FP8: Configuration UI layout & design (add image, separators) 2017-04-15 15:19:58 +02:00
60c12df517 Fondle Port 8
* only start touch on parameters in "Touch" mode.
* fix "mute clear" (also affect mute-automation in touch)
2017-04-14 23:03:31 +02:00
74c8ba5c9a FP8: assign toggled plugin-parameters to buttons 2017-04-14 23:03:31 +02:00
7197231f4c FP8: Allow binding "Select" to a controllable or functor 2017-04-14 23:03:31 +02:00
cooltehno
57dfc0ffb1 Update blueberry_milk-ardour.colors 2017-04-14 13:22:18 -07:00
43d9feabd3 cont'd FP8 refinement & details
* Access pan-width via shift, press encoder to reset
* Add "touch-start" to encoder events
* Show plugin-param value-bar
* Sends & well-known ctrls: follow strip-selection
* map "select" to strip-selection in Sends-mode
* Fader group override (via shift)
* Prev/Next button tweaks.
* consistent enum naming ...
2017-04-14 19:56:42 +02:00
Robert Schneider
d98f05d335 Added Korg Studio midi-map. Fixed Editor/Common 2017-04-14 16:06:54 +02:00
0489b5f302 Accommodate newly introduced source(s) in our MSVC project (libardour) 2017-04-14 11:00:58 +01:00
a8858ad311 Fix toggle-processors: operate on plugins only 2017-04-14 00:53:45 +02:00
181b85c95c Exclude MB EQ/Comp from visible processors de/activate. 2017-04-14 00:52:43 +02:00
ddf7ceaaea Don't A/B en/disable invisible processors, nor MB channelstrip 2017-04-14 00:32:51 +02:00
ba2e80134b Convert polarity-invert from older session-formats 2017-04-14 00:19:33 +02:00
d43a23fe28 Faderport8 control surface support 2017-04-13 21:21:59 +02:00
d64ca9be08 Properly expose "well known" comp_redux output. 2017-04-12 21:14:50 +02:00
7a489dd553 Add a ReadOnlyControl parameter abstraction
This allows to pass a sperici Controllable alike instance around without
relying on directly exposing the Plugin instance and parameter-id.
2017-04-12 21:14:46 +02:00
64f40c09fa Fix setting Plugin-Owner (route) for analysis plugins 2017-04-12 17:37:26 +02:00