Commit graph

12719 commits

Author SHA1 Message Date
John Emmas
f18f7dca43 Accommodate newly introduced source(s) in our MSVC project (libpbd) 2017-04-16 12:53:11 +01:00
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
58726cedf8 Fix indentation in ARDOUR::Amp::set_state 2017-04-16 14:02:28 +10:00
Tim Mayberry
50ccd15d72 Fix indentation in MonitorProcessor::state 2017-04-16 14:02:20 +10:00
Tim Mayberry
31b4fae88b Fix indentation in ardour/enums.cc 2017-04-16 14:02:12 +10:00
Tim Mayberry
f1a4767ac5 Fix indentation and make comment style consistent in PBD::PropertyList header 2017-04-16 14:02:03 +10:00
Robin Gareus
4d9690930a Silence -Wunused-value 2017-04-16 00:15:53 +02:00
Robin Gareus
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
Robin Gareus
18dcd4d7ff FP8: Configuration UI layout & design (add image, separators) 2017-04-15 15:19:58 +02:00
Robin Gareus
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
Robin Gareus
74c8ba5c9a FP8: assign toggled plugin-parameters to buttons 2017-04-14 23:03:31 +02:00
Robin Gareus
7197231f4c FP8: Allow binding "Select" to a controllable or functor 2017-04-14 23:03:31 +02:00
Robin Gareus
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
John Emmas
0489b5f302 Accommodate newly introduced source(s) in our MSVC project (libardour) 2017-04-14 11:00:58 +01:00
Robin Gareus
181b85c95c Exclude MB EQ/Comp from visible processors de/activate. 2017-04-14 00:52:43 +02:00
Robin Gareus
ddf7ceaaea Don't A/B en/disable invisible processors, nor MB channelstrip 2017-04-14 00:32:51 +02:00
Robin Gareus
ba2e80134b Convert polarity-invert from older session-formats 2017-04-14 00:19:33 +02:00
Robin Gareus
d43a23fe28 Faderport8 control surface support 2017-04-13 21:21:59 +02:00
Robin Gareus
d64ca9be08 Properly expose "well known" comp_redux output. 2017-04-12 21:14:50 +02:00
Robin Gareus
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
Robin Gareus
64f40c09fa Fix setting Plugin-Owner (route) for analysis plugins 2017-04-12 17:37:26 +02:00
Robin Gareus
85c587d702 fix mb32 well-known EQ (4 bands, different ports) 2017-04-12 15:01:13 +02:00
Robin Gareus
efca1ca0d6 add FileSource Lua Bindings 2017-04-11 01:31:31 +02:00
Robin Gareus
6968c9f909 Drain ALSA raw-midi buffers after 64 bytes
Very long sequence of *concurrent* events may otherwise be truncated
because the backend requests a buffer-size of 64 bytes via
snd_rawmidi_params_set_buffer_size().
2017-04-09 05:03:19 +02:00
Robin Gareus
65ff43d0a7 Emit Session::MuteChanged() if a mutes route is removed. 2017-04-08 23:44:18 +02:00
Robin Gareus
f9db9bf5fd Retain order of concurrent MIDI events
This fixes an issue with FaderPort8 (and maybe other surfaces or synths).
2017-04-08 23:43:50 +02:00
Robin Gareus
ea8eb956ff Add session signal to track mute-changes
In preparation for Faderport8 "Mute Clear" LED Button.
2017-04-07 23:26:59 +02:00
Paul Davis
7dde6c3b8f do not save or restore MIDI port "pretty-names" from XML
This is a job for the backend, which should really get the names from the hardware/driver
and make a mapping between a device UUID and the name. Neither the ALSA, JACK or ASIO
backends can do this at present
2017-04-03 10:50:27 +02:00
John Emmas
7e224236e6 Patch the QM source code to make it buildable with MSVC 2017-04-02 15:32:26 +02:00
Robin Gareus
0ed1a88af1 avoid C++11 - fixes OSX/PPC builds 2017-04-02 15:23:24 +02:00
Robin Gareus
5ebe6fcde8 Add option for record-only metronome. 2017-04-01 23:52:43 +02:00
Robin Gareus
4b1c288f87 update qm-vamp-plugins (git v1.7.1-10-g76bc879) 2017-04-01 21:50:32 +02:00
Robin Gareus
b6768b4616 Update qm-dsp library (v1.7.1-20-g4d15479) 2017-04-01 21:13:57 +02:00
Robin Gareus
c0c24aff72 Hotfix crashes for [extreme] time-stretch -- #7305
e.g. stretch-shrink 3712 samples down to 1780.
The filter order defines nFact which can become larger than length - 2
leading to out-of-bounds array access.

e.g. m_ord = 2 -> nFilt = 2, nFact = 6;  process < 7 samples (here 6)
2017-04-01 19:16:12 +02:00
Ben Loftis
6b8be8fa71 Fix set-*-from-edit-range actions, when accessed from control surfaces. 2017-04-01 09:57:06 -05:00
Robin Gareus
727ac30dd2 Unregister ports at session close.
This fixes issues when re-loading a session without taking the
engine down.
2017-04-01 13:14:17 +02:00
Robin Gareus
d61683809d Connect route-template insert i/o ports #5778 2017-03-31 19:53:14 +02:00
Robin Gareus
f2c0b0ee3f Add an API to query if the audible frame is latent pending a locate
eg. at the end of a loop, the session may already be playing the
beginning of the loop. The TransportLooped signal was emitted.
Yet due to playback latency, the audible frame is still at the end of
the loop.

To interpolate the playhead position the UI needs to be able to know:
Relying on the TransportLooped signal is not sufficient because it
does not take playback latency into account.
2017-03-31 14:01:50 +02:00
Robin Gareus
7807869a68 Fix count-in for non 4/4 time signatures 2017-03-30 22:07:06 +02:00
Robin Gareus
478f26b2ad Count-in is a no-roll operation. 2017-03-30 22:07:06 +02:00
Ben Loftis
6e4eed51ca Shortcut editor: include a raw list of the currently-available actions in the printout. 2017-03-30 11:02:06 -05:00
Robin Gareus
ea8c6e9fc8 Fix hiding Lua __metatable -- prevent setmetatable() override 2017-03-30 05:06:34 +02:00
Robin Gareus
33b859a807 Add proper Lua bindings for RouteGroupList 2017-03-30 04:15:28 +02:00
Robin Gareus
412b6a4cb9 Lua: make external (static) functions available for const objects.
This fixes iterators on const std::lists<>& and const std::map<>&
2017-03-30 04:15:28 +02:00
Len Ovens
eb1bd9d8e2 OSC: don't skip when deleting cue observers 2017-03-29 16:24:43 -07:00
Len Ovens
8de580c123 OSC: Clear devices should clear cue observers as well. 2017-03-29 16:07:21 -07:00
Robin Gareus
c0b6d8bfdf Fix Patch Change Naming when plugins change (Route::reset_instrument_info) 2017-03-29 23:53:56 +02:00
Len Ovens
e7ca514887 OSC: reduce feedback noise for surfaces using /strip/list 2017-03-26 21:16:45 -07:00
Robin Gareus
b66d31891b Revert "profile instant.xml save"
This reverts commit e965e5edcd.
2017-03-27 05:08:30 +02:00