Commit graph

11650 commits

Author SHA1 Message Date
Julien "_FrnchFrgg_" RIVAUD
08f3ef4ecd Set \imprecise when a configuration is chosen
Instead of setting \imprecise at the end of the loop if a configuration
was found (which clobbered valuable information, see dae2406187), set it
each time a new configuration is chosen.

In the second loop that tries harder, resetting \imprecise also avoids a
previous "imprecise->set(AUDIO, 0)" to last even if another
configuration is chosen later.

Last but not least, it will enable correctly setting the midi input
count hoped for by the configuration.
2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
865ab375d6 Merge some cases to avoid duplicated logic
Merge the cases in == -1 and in == -2 since those are both wildcards,
almost symmetric in the AU spec, and handled completely symmetrically by
the code here considering it accepts invalid or unspecified demands.

Also merge the cases in > 0 and in < -2 since they are handled exactly
the same as far as outputs are concerned.
2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
f7c3156960 Remove code with no actual effect
That code modifies \imprecise if it is not NULL, but
 - if a configuration is found, \imprecise will be set to in, clobbering
   the tentative changes done here;
 - if a configuration is not found, a last-resort loop will be run that
   will set the same member of \imprecise, also clobbering our changes.

Remove it since it does nothing that is looked at before being
forgotten. A way to get the intended outcome will be introduced later.
2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
0f00d51471 Move a MIDI test in the table handling loop...
...to later enable that condition truthiness to depend on the
loop iteration. The goal here is to prepare for the upcoming rewrite,
without introducing any policy change for now.

There is no behavior change because if all loop iterations are skipped,
then \found will be false, and with \imprecise being null the last
attempt will be skipped and we will return false.
2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
4c7242545b Replace the exact_match logic by a negative penalty
Instead of doing an initial loop for detection of exact matches, then
letting the following loop set \audio_out yet ignore its value, merge
the two loops but give exact matches a negative penalty so that the
\audio_out value they set won't change afterwards.

No policy change.
2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
dde13d288e Remove wrong asserts 2016-08-06 19:38:09 +02:00
Julien "_FrnchFrgg_" RIVAUD
b6c3e55372 LuaProc::can_support_io_configuration: don't mix int and int32_t 2016-08-06 19:38:09 +02:00
Len Ovens
a992ac0b75 OSC: make sure this is c++98 compatible. 2016-08-06 09:25:57 -07:00
Edgar Aichinger
595684ddf7 update german translation 2016-08-06 16:49:41 +02:00
Robin Gareus
8da9000cbc C++98 compat for 032139ac3 2016-08-06 14:40:18 +02:00
Robin Gareus
f0a54d0f9c mark session dirty when changing plugin presets 2016-08-06 14:28:45 +02:00
Len Ovens
032139ac30 osc: provide human readable reading for gain. 2016-08-05 19:08:43 -07:00
Len Ovens
e78a177dbb OSC: provide human readable level for sends. 2016-08-05 17:24:09 -07:00
Nils Philippsen
65c2e089ab workaround changes in glibmm 2.49.x
Glib::RefPtr defines the operator bool() as explicit which breaks
comparisons like "some_ref_ptr == 0" or "... != 0".

https://bugzilla.gnome.org/show_bug.cgi?id=769502
2016-08-04 09:52:22 +02:00
Robin Gareus
d6fd0486ae add support for VST default values (instantiation time value) 2016-08-03 20:53:49 +02:00
Damien Zammit
3cda7bcbfb ptformat: Decrypt ptf files exported from ptx sessions 2016-08-02 22:25:20 +10:00
Paul Davis
480e0b2a5f make Session::get_remote_nth_stripable() ignore hidden stripables unless asked.
this more closely matches the semantics of ye olde get_*_by_rid() from ardour 4.x and earlier
2016-08-01 12:02:30 -04:00
Julien "_FrnchFrgg_" RIVAUD
e168664167 Be more tolerant to missing values or errors in io_config() 2016-08-01 09:46:20 +02:00
Julien "_FrnchFrgg_" RIVAUD
91414f52e2 Remove redundant condition
Since can_replicate is true at loop start, and in the loop body there is
a break; after every can_replicate=false, there's no point to test its
value in the loop condition.
2016-08-01 09:46:20 +02:00
Julien "_FrnchFrgg_" RIVAUD
eb7a364628 Remove duplicate setters that don't affect the outcome
There is no code that read the set value in between the removed line and
its exact counterpart below. There is no similar duplicate in the
AudioUnit code due to the way AudioUnit handles midi.
2016-08-01 09:46:20 +02:00
David Robillard
ae599f0a79 Fix state features array 2016-07-31 22:48:15 -04:00
David Robillard
7c23026515 Support thread-safe LV2 state restoration
The original LV2 state extension required that run() is suspended during
restore().  Ardour violates this rule, which can lead to crashes and
other issues.

The state extension has been updated to allow restoring state in a
thread-safe way by using the worker to enqueue state changes.  This
commit supports that new specification, i.e. supports dropout-free state
restoration properly.

However, the bug with old plugins that do not use this facility is still
not fixed.
2016-07-31 21:59:21 -04:00
David Robillard
ae71e57e24 Support LV2 log trace messages 2016-07-31 20:58:47 -04:00
David Robillard
4805747260 Fix possible ringbuffer overflow 2016-07-31 20:06:51 -04:00
pablus
68b78ac357 Update Spanish translation 2016-07-30 12:52:58 +02:00
Julien "_FrnchFrgg_" RIVAUD
46a69ade78 Update French translation 2016-07-29 22:10:49 +02:00
Len Ovens
3f88a660b3 OSC: make send enables work in MB 2016-07-28 17:51:12 -07:00
Len Ovens
7c5a8dea7c OSC: eq bands off by one fix 2016-07-28 08:51:15 -07:00
Len Ovens
04029a656e OSC: MB spelling mistakes stopped compile fix 2016-07-28 07:44:58 -07:00
David Robillard
f93f388845 Fix whitespace 2016-07-28 07:51:55 -04:00
Robin Gareus
8419c7b79c initialize uninitialized variable 2016-07-28 13:28:38 +02:00
Paul Davis
316e9409d0 fix thinko-typo in SoloControl::soloed_by_others() 2016-07-26 21:47:04 -04:00
Len Ovens
c10e57129d OSC: Fix cut-n-paste mistake 2016-07-26 14:47:12 -07:00
Len Ovens
69752813db OSC: Make sends work for MB. Add pan to /path/strip 2016-07-26 14:11:06 -07:00
Julien "_FrnchFrgg_" RIVAUD
9079a6002c Call Plugin::load_preset() from LuaProc::load_preset()
So that the plugin knows that a preset has been loaded, and can send the
signal accordingly.
2016-07-26 18:35:28 +02:00
Len Ovens
c2f5abc91e OSC: Fix forward detection to include >0 and <1 2016-07-26 08:02:03 -07:00
Len Ovens
b36192aba8 OSC: Remove redux control 2016-07-26 08:00:04 -07:00
Julien "_FrnchFrgg_" RIVAUD
ca7d4447de Add missing locale guard for luadsp preset loading
That caused truncation of parameters to int when the decimal separator
is not a period in the user's locale.
2016-07-26 09:52:42 +02:00
Robin Gareus
43e20fd3e8 add Sidechain change handler for automatically added initial SC ports 2016-07-26 04:20:18 +02:00
Robin Gareus
7cc2e8c969 add initial midi sidechain if plugin has one. 2016-07-26 04:20:18 +02:00
Robin Gareus
5f994c07a8 32bit compat (amend 90a67d04) 2016-07-26 02:26:42 +02:00
Robin Gareus
90a67d04d5 another attempt to fix playhead position with varispeed. 2016-07-25 19:46:19 +02:00
Robin Gareus
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
Robin Gareus
3953879d4d add a timeout to flush_pending()
In some circumstances UI::flush_pending never returns, and all UI
interactive ends up being driven by
   while (gtk_events_pending()) { gtk_main_iteration(); }
This has various implications depending on the caller and usually results
in a crash at session-close or exit.
2016-07-25 14:13:52 +02:00
Robin Gareus
23a2cc4b71 prepare region RMS (loudness) normalization 2016-07-24 20:30:23 +02:00
Len Ovens
80bd3e7279 OSC: Make pan controls work properly with MB too. 2016-07-24 09:06:59 -07:00
Colin Fletcher
c21ba6f457 libs/ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
Robin Gareus
85746c528f export rate formatting:
* use the locale (44.1 vs 44,1)
* do not encourage translating SI units and prefixes)
2016-07-24 16:54:08 +02:00
Robin Gareus
a76607486c kilo is a lower-case 'k' 2016-07-24 16:54:08 +02:00
Robin Gareus
bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00