13
0
Commit Graph

11457 Commits

Author SHA1 Message Date
2dc7b5189c Merge pass 2 (imprecise) into pass 1
Still no policy change, since when a configuration is chosen that would
have belonged to the second pass, then its penalty will be increased by
1000 and it will be selected only as last recourse.
2016-08-06 19:38:09 +02:00
b90baf2176 Move MIDI filters imprecise handling from 2nd pass to 1st
This doesn't change the policy since configurations are given an
additional 1000 penalty if audio_in != possible_in, and will thus be
trumped by any "precise" configuration (unless the latter has 1000
excess or missing outputs which should be less than likely).
2016-08-06 19:38:09 +02:00
946a99f554 Rearrange condition for pure midi plugins 2016-08-06 19:38:09 +02:00
19b82b8a83 Use FOUNDCFG* instead of setting the configuration by hand 2016-08-06 19:38:09 +02:00
8311607e5c Enable overriding the configuration penalty
This is useful for exact matches that would otherwise need to duplicate
the bookeeping done by FOUNDCFG()
2016-08-06 19:38:09 +02:00
80541de283 Introduce a macro for imprecise configurations
It enables only setting the imprecise audio channel count if the
configuration is indeed selected.
2016-08-06 19:38:09 +02:00
961b9c8be8 Set \imprecise midi channel count in FOUNDCFG
So that it can depend on the actual configuration selected.
2016-08-06 19:38:09 +02:00
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
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
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
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
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
dde13d288e Remove wrong asserts 2016-08-06 19:38:09 +02:00
b6c3e55372 LuaProc::can_support_io_configuration: don't mix int and int32_t 2016-08-06 19:38:09 +02:00
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
8da9000cbc C++98 compat for 032139ac3 2016-08-06 14:40:18 +02:00
f0a54d0f9c mark session dirty when changing plugin presets 2016-08-06 14:28:45 +02:00
032139ac30 osc: provide human readable reading for gain. 2016-08-05 19:08:43 -07:00
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
d6fd0486ae add support for VST default values (instantiation time value) 2016-08-03 20:53:49 +02:00
3cda7bcbfb ptformat: Decrypt ptf files exported from ptx sessions 2016-08-02 22:25:20 +10:00
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
e168664167 Be more tolerant to missing values or errors in io_config() 2016-08-01 09:46:20 +02:00
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
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
ae599f0a79 Fix state features array 2016-07-31 22:48:15 -04:00
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
ae71e57e24 Support LV2 log trace messages 2016-07-31 20:58:47 -04:00
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
46a69ade78 Update French translation 2016-07-29 22:10:49 +02:00
3f88a660b3 OSC: make send enables work in MB 2016-07-28 17:51:12 -07:00
7c5a8dea7c OSC: eq bands off by one fix 2016-07-28 08:51:15 -07:00
04029a656e OSC: MB spelling mistakes stopped compile fix 2016-07-28 07:44:58 -07:00
f93f388845 Fix whitespace 2016-07-28 07:51:55 -04:00
8419c7b79c initialize uninitialized variable 2016-07-28 13:28:38 +02:00
316e9409d0 fix thinko-typo in SoloControl::soloed_by_others() 2016-07-26 21:47:04 -04:00
c10e57129d OSC: Fix cut-n-paste mistake 2016-07-26 14:47:12 -07:00
69752813db OSC: Make sends work for MB. Add pan to /path/strip 2016-07-26 14:11:06 -07:00
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
c2f5abc91e OSC: Fix forward detection to include >0 and <1 2016-07-26 08:02:03 -07:00
b36192aba8 OSC: Remove redux control 2016-07-26 08:00:04 -07:00
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
43e20fd3e8 add Sidechain change handler for automatically added initial SC ports 2016-07-26 04:20:18 +02:00
7cc2e8c969 add initial midi sidechain if plugin has one. 2016-07-26 04:20:18 +02:00
5f994c07a8 32bit compat (amend 90a67d04) 2016-07-26 02:26:42 +02:00
90a67d04d5 another attempt to fix playhead position with varispeed. 2016-07-25 19:46:19 +02:00
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
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
23a2cc4b71 prepare region RMS (loudness) normalization 2016-07-24 20:30:23 +02:00
80bd3e7279 OSC: Make pan controls work properly with MB too. 2016-07-24 09:06:59 -07:00
c21ba6f457 libs/ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
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
a76607486c kilo is a lower-case 'k' 2016-07-24 16:54:08 +02:00
bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00
nick_m
299709cbbc Make Region's _beat a PBD::Property.
- fixes incorrect beat setting on undo for various region operations.
2016-07-23 02:23:08 +10:00
87c38e1a26 properly handle meter channel count changes
* reset peak when switching type (audio/midi) or total count
* clamp to +40dBFS to prevent endless falloff for HUGE signals
2016-07-22 12:57:24 +02:00
d53d0faf93 a more reliable/robust/less complex version of previous commit 2016-07-21 14:00:18 -04:00
3bf7c4ef49 do not delete MIDIControllable* when dealing with pending MIDI Control requests - the MIDIControllable belongs to the surface code in controllables 2016-07-21 13:42:11 -04:00
bd80b2f144 fix issue with solo-in-place
Monitor outs cannot be muted by other soloing. Duh.
2016-07-21 13:16:05 -04:00
78296d2c18 tentative fix for a crash that occurs when switching backends.
Session::process() returns early with Session::_silent set to true. AudioBuffer::set_data()
was never set for (at least) the LTC output port. PortManager::cycle_end() calls
AudioBuffer::silence() which used to assume that get_buffer() must have been called. But it
was not, because that should have happened in Session::process().

So check AudioBuffer::data() and call get_buffer() if required.
2016-07-20 23:26:50 -04:00
9c323c59ef messages sent to info/warning/error/fatal should end with endmsg, not endl 2016-07-20 16:34:00 -04:00
54730c2aa5 remove long-lived debug output related to RT-setting of controls 2016-07-20 16:21:03 -04:00
52d746c5fb MuteMaster should (a) use a Muteable's own ::muted_by_others_soloing() (b) not try to use its own _solo_ignore to track Muteable::can_solo() or solo isolate state 2016-07-20 16:10:11 -04:00
316562ee9e ensure that Route::_phase_control has its state restored, and also re-arrange Route::set_state() to avoid duplicated control set_state() calls 2016-07-20 14:47:24 -04:00
b502d689e2 OSC: comp mode control text needs to be changed by signal too. 2016-07-20 08:59:06 -07:00
72a91ae274 add LocaleGuard while restoring RC configuration.
Should fix issues with reloading various RC variables that use float
2016-07-20 10:48:07 -04:00
81211a91b1 minor safety fix for the Pane 2016-07-20 10:48:07 -04:00
82d3afb851 Gtkmm2ext::Pane: attempt to track child lifetime, since Gtkmm 2.4 doesn't do this correctly 2016-07-20 10:48:07 -04:00
541e6aaeb1 Fix previous commit
A spurious space change was included by mistake.
2016-07-20 14:01:13 +02:00
522b288526 Make bus's trim control also affect sends to the bus
The trim processor was moved to the front after the internal return was,
so the trim setting was applied before the signal coming from other
tracks/busses sends was mixed in. Change the order so that trim applies
to audio from internal sends as well.
2016-07-20 13:58:42 +02:00
b648ad9cc7 a-Delay: Smooth transition on LPF changes and set max feedback 100 2016-07-20 21:17:51 +10:00
62cd4d43bf a-Comp: Fix bug with DSP in the knee processing region 2016-07-20 20:10:46 +10:00
f371ac1beb Add a dedicated export method to MidiRegion
To export a MIDI region to a file, the code used MidiRegion::clone()
since it takes care of creating a new file-backed source with the wanted
contents. Nevertheless, it had several side-effects:
- it created and registered a new region which is confusing to users
- it only exported notes that were in the region range, but didn't
  remove the region start offset from MIDI events, essentially producing
  a spurious silence at the beginning of the exported file (this is not
  a problem for region cloning because the newly created region is made
  aware of the offset and caters for it).

Add a dedicated code path for export, that uses the new offsetting
capabilities of MidiModel::write_section_to().
2016-07-20 02:01:40 +02:00
728e6027d1 Make MidiModel::write_section_to able to offset event times
MidiModel::write_section_to() only wrote events to the given source if
those events had a time in the given range. Make it able to optionally
offset event times so that the start of the written range corresponds to
time 0 in the source.
2016-07-20 02:01:40 +02:00
2bad0e5c55 Make MidiModel::write_section_to() more type-independant
Replace hard-coded Evoral::Beats by TimeType which is currently the same
thing but might change in the future.
2016-07-20 02:01:40 +02:00
8338c1ccf5 save/restore track monitoring, rec-enable and rec-safe states 2016-07-19 18:56:37 -04:00
0fd2d82a6d add missing header include 2016-07-19 20:33:36 +02:00
55bd8ff4d8 and now with "d" 2016-07-19 16:33:48 +02:00
96ac896db0 revert inadvertently committed debug settings 2016-07-19 15:49:55 +02:00
ae2ce3053f and plain realloc (not mlocked) as baseline 2016-07-19 15:34:06 +02:00
cf89f645ab another TLSF vs realloc-pool shootout
..since memory-size and segmentation increased.
(large sizes favor TLSF, smaller segments are in favor realloc-pool)
2016-07-19 15:06:20 +02:00
c1aef0084a tweak realloc-pool realloc behavior.
* ignore provided old-size from lua, use internal segment size.
* fix behavior on OOM (leave memory untouched)
2016-07-19 15:05:16 +02:00
d13435a4e1 re-add TLSF 2016-07-19 15:03:51 +02:00
f8207524e9 a-Delay: Add feedback control 0 to 90 percent 2016-07-19 14:43:43 +10:00
0017837b02 OSC: check if pan exists, fixes MB crash. 2016-07-18 15:57:27 -07:00
a09fec0213 add a const - just because. 2016-07-18 23:52:40 +02:00
520dcf8cdf rework lua-bridge C++ variable references
Since lua functions are closures, C++ methods that pass arguments by
reference cannot be used directly. The previous approach (boost::ref)
failed with clang. Assume the following:

  void foo (float&) { }
  static inline float& bar () {
    boost::reference_wrapper<float> r (42);
    return r.get ();
  }

  foo ( bar () );

With gcc, "r" goes out of scope after foo's arguments are processed
and all is well.
But with clang,  "r" already leave scope when *inlined* bar() returns.

Solution: allocate some user-data on the lua-stack to hold the reference.
There is no reference to this user-data so lua will eventually
garbage collect it.

(theoretically, creating the table which holds the return-values
could trigger an emergency garbage collection when memory is low and
free the reference just while they're being pushed to the table, then
gain FuncArgs<Params> already dereferenced them all as variable on the
C stack -- probably again compiler specific)
2016-07-18 23:52:40 +02:00
bb29478aa2 stop using Gestalt() on OS X (deprecated and no longer operating correctly)
The incorrect behaviour was documented and did not cause issues in Ardour, but we should
still stop using this ancient call.
2016-07-18 15:56:28 -04:00
727613b4b7 fix a compile of annoying compiler warnings with elcap clang 2016-07-18 14:42:34 -04:00
9f3a9ef02d before pushing keybindings to GTK for menu display, make sure that we add back the META modifer that GTK expects 2016-07-18 14:42:13 -04:00
1a55e83e98 move show_gdk_event_state() utility function from gtk2_ardour to libs/gtkmm2ext 2016-07-18 14:41:25 -04:00
b8f5306d5b fix incorrect restoration of pane positions on Apple.
Code to check if we were to close to an edge (for window resizing) blocked all divider setting,
because it would be called with a current widget allocation of 1x1
2016-07-18 12:49:36 -04:00
1364cd6a30 OSC: Get rid of meter noise in MB. 2016-07-18 09:47:33 -07:00
8c944c08ea Normalize API rename part 2 2016-07-18 17:37:13 +02:00
b64dcac17e No-Op: rename Normalizer to Intermediate
post-processing is no longer just Normalization. RealtimeExport
does Encoding - faster than realtime - using the same infrastructure.
2016-07-18 17:37:13 +02:00
ee2d7a2d0c add exception handling in LocaleGuard, to try to cover more OS X wierd/corner cases 2016-07-18 10:56:43 -04:00
855618eb5f amend previous commit (forgotten checkin) 2016-07-18 13:11:18 +02:00
c5fb7e1d83 update to lua-5.3.3 2016-07-18 12:28:36 +02:00
062712c691 Remove 'i18n.h' from some VC projects where it's no longer needed 2016-07-18 09:41:46 +01:00
defb46d0fd Add a newly introduced source file to our MSVC project (libpbd) 2016-07-18 09:39:36 +01:00
nick_m
5f2ee3328f Fix stored type confusion in Meter/TempoSection::get_state(). 2016-07-18 02:58:59 +10:00
21bb604fc1 fix build of test suite
Fix build of audiographer tests after changes to TmpFile in 77687519.
2016-07-17 17:04:35 +01:00
7d7755ffb6 expose PBD::open_uri bindings to lua 2016-07-17 17:04:02 +02:00
dd9c99026d Another translation pass 2016-07-17 02:10:09 +02:00
8e48655981 handle no audio-output AUs 2016-07-16 18:44:05 +02:00
faefc3ba9a improve AU Latency PropertyChange Events 2016-07-16 18:43:10 +02:00
b7d730433b add a note to self 2016-07-16 14:48:49 +02:00
25a4cae8ad AU: install latency listener
Don't query after every cycle, some plugins inject license checks
when a host queries latency (!)
2016-07-16 05:05:52 +02:00
8219fdee07 AU: remove cruft, fix parameter initialization 2016-07-16 05:01:26 +02:00
19a9d8415f allow inserts to connect it itself - #6924 2016-07-16 04:14:27 +02:00
bd50bfa967 add a realtime-export session property 2016-07-16 02:14:54 +02:00
9eaced4c9d allow to query export profile type 2016-07-16 02:14:27 +02:00
f8a6213454 libardour support for timespan realtime export 2016-07-16 02:14:18 +02:00
77687519b6 Refactor TmpFile into an abstract base class
This allows a TmpFile pointer to be either a Sync or Async (Threaded)
writer. As result we must be able to handle both RT and non RT processing.

Still, post-processing (normalization and encoding) should always
happen faster than realtime (freewheeling).

Since jack does not allow a client to change to freewheeling from within
the process-callback, the async-writer disk-thread FileFlushed is used
to initiate post-processing.
2016-07-16 02:14:13 +02:00
6626723880 NO-OP session-property comments 2016-07-16 02:13:50 +02:00
dade1f39b7 OSC: LFE is a control not a position. 2016-07-15 11:44:49 -07:00
4203e7c903 fix file-name reported to analyzer when stem-exporting 2016-07-15 16:58:51 +02:00
8c3551341c Make Route and Track ::silent_roll() also flush out ports buffers
So that MIDI in the ports is really made silent.
2016-07-14 21:55:49 -04:00
9ba6e938d8 Also flush buffers of the inner delivery of inserts
When flushing the buffers of Delivery processors owned by a Route/Track,
inner deliveries of PortInsert processors were missed since PortInsert
is not a Delivery subclass, but rather owns a Delivery as a private
member. Expose a flush_buffers() for PortInsert and call it too.

This is correct since (external) Send is a Delivery subclass, so that
just makes the send part of inserts behave as external sends do.
2016-07-14 21:55:49 -04:00
8af589b322 Consolidate delivery buffer flushing of all route types
Route::no_roll(), Route::roll(), Track::no_roll(), AudioTrack::roll()
and MidiTrack::roll() all had the exact same loop for flushing buffers
of their Delivery processors. That was a lot of replicated code that had
to be kept synchronised by hand. Put that code into a protected method
Route::flush_processor_buffers_locked() which is called instead.
2016-07-14 21:55:49 -04:00
82828bd7a6 prevent duplicate symbols (fix OSX compilation) 2016-07-14 23:11:11 +02:00
f71fdd4143 clean up a-comp, remove old prototype UI 2016-07-14 21:41:16 +02:00
941339bdde fix a -Wsign-compare 2016-07-14 21:41:16 +02:00
6f80b40630 OSC: Fix Soloing to disable all solos in SIP mode as well 2016-07-14 12:06:37 -07:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
2b262dbfdd fix a-eq interpolation 2016-07-14 20:44:47 +02:00
b620e5ab3f OSC: Add surface save and restore 2016-07-14 11:41:53 -07:00
1d78150d45 refine a-eq inline display size + grid 2016-07-14 19:44:03 +02:00
fdfff81850 a-EQ: Remove LPF/HPF completely from this plugin 2016-07-15 01:54:50 +10:00
d8a97789c1 fix plugin analysis for variable i/o plugins 2016-07-14 17:47:22 +02:00
205fbb99ad canvas HSV color serialization needs LocaleGuard 2016-07-14 11:46:02 -04:00
58657edfb3 redesign PBD::LocaleGuard to work correctly (i.e. not break translations) 2016-07-14 11:37:48 -04:00
8444837b71 properly sort port-names 2016-07-14 16:52:43 +02:00
311a5f1462 add a natural sort algorithm 2016-07-14 16:52:43 +02:00
1970a8d4de OSC: Fix off by one error 2016-07-14 06:52:09 -07:00
09bd7a4bca another i18n/.po update 2016-07-14 06:21:03 -04:00
bbc3447005 another i18n/.po update 2016-07-14 06:19:20 -04:00
81a10a26e0 regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecessary errors 2016-07-14 06:19:19 -04:00
22de00b247 Remove a (no longer needed) source file from our MSVC project (evoral) 2016-07-14 09:42:55 +01:00
b64fab95e0 a-EQ, a-Reverb: Tweaks to parameter smoothing 2016-07-14 16:41:26 +10:00
e55ef88ee9 refactoring to prepare for real-time export
* add a threaded TmpFile Writer
* update API calls to that process_export_fw() can be used as
  process_function

The idea is to re-use export infrastructure from normalization:
export to a tmp-file and then encode target formats after that.
2016-07-14 04:35:48 +02:00
02852c1980 fix CUE/TOC file creation with non ISO-8859-1 chars in source text (substitute underscores) 2016-07-13 16:39:26 -04:00
7a1084d349 a-EQ: Tweak bandwidth range on parametric eq and use log controls 2016-07-14 05:44:14 +10:00
08bd0da509 use Session::cancel_all_solo() 2016-07-13 14:33:43 -04:00
9766cc7d8b a better, deeper fix for "cancel all solo", as Session::cancel_all_solo() 2016-07-13 14:33:23 -04:00
3c58a674c5 mackie: fix behaviour of clear solo button 2016-07-13 13:43:20 -04:00
08f9fc40dc a-EQ: Fixed transfer functions, now boost/cut cancel out correctly 2016-07-14 03:06:47 +10:00
b77b3cbe22 OSC: Add global soloing indicator/cancel 2016-07-13 09:56:35 -07:00
0fdbbac99d a-EQ: Tidy transfer function calculation 2016-07-14 02:03:08 +10:00
0b3d09b011 a-Reverb: Interpolate parameters, stable version 2016-07-13 23:58:07 +10:00
7dc6c0fc08 a-Reverb: Revert some of previous changes, sound of reverb much improved 2016-07-13 19:30:03 +10:00
5965fedc51 a-Reverb: Using new algorithm based on FreeVerb 2016-07-13 18:08:28 +10:00
81ba187b1a use aligned malloc for luaDSP 2016-07-13 04:31:34 +02:00
a66ad18402 initialize some uninitialized variables 2016-07-13 04:31:34 +02:00
a6ee94ac52 remove old midi-note name API 2016-07-12 23:02:46 +02:00
6b5be3d892 Add a new API to format midi-note-names with translation: Do Re Mi...
This deprecates Evoral::midi_note_name(). we don't maintain i18n
for libevoral.
2016-07-12 23:02:46 +02:00
cd5e86c24a add a safe-guard 2016-07-12 23:02:46 +02:00
577140c0dd OSC: Add /path/band extension for eq_* bands 2016-07-12 13:33:28 -07:00
9d4506716c OSC: Added EQ control, use interface_to_internal to normalize control range 2016-07-12 09:13:53 -07:00
625c589d80 a-Reverb: fix typo in plugin name 2016-07-13 01:27:23 +10:00
472ef8c55c once the user has explicitly set the session range end, playlist/range changes do not move it.
The user may drag the marker, edit in the Location UI, or use nudge, to set the end
2016-07-12 11:19:49 -04:00
49fbb6fa15 a-Reverb: Fix ttl and tweak maximum input gain 2016-07-13 01:16:08 +10:00
af69fd6850 a-EQ: Transfer function curves improvement 2016-07-13 00:55:38 +10:00
c612cea5ea fix a-eq library extension 2016-07-12 16:43:10 +02:00
43f8d2503c a-reverb prototype (based on setBfree b_reverb) 2016-07-12 16:43:10 +02:00
2afaa51717 remove pointless version of Stripable::set_presentation_order() 2016-07-12 09:20:50 -04:00
d9f19ad1fe fix a a-eq ttl typo 2016-07-12 14:38:28 +02:00
8de675d699 fix simple but fatal mistake in defining PBD::Controllable::Flags enums.
This error caused the flags to be saved as an empty string, thus losing all state when the session is reloaded
2016-07-12 08:34:35 -04:00
1f02dd2a85 fix compilation with lv2 < 1.10 (lv2 extended) 2016-07-12 13:44:55 +02:00
157564947b a-eq tweaks:
* shorten e-eq Hz display (no decimals)
* use 16:9 aspect inline display
* fix a compiler warning
2016-07-12 04:01:56 +02:00
e8cd2949bd update MIDIEvent lua bindings/example 2016-07-12 01:46:58 +02:00
3ab200acaa OSC: finish feedback for well known controls. Simplify some others. 2016-07-11 16:00:14 -07:00
db72830691 remove debug output 2016-07-11 22:53:13 +02:00
57df370e2a add a convenient lua forward mapped buffers method 2016-07-11 22:36:00 +02:00
4537f5fb20 proper semantics for variable port-count
Ardour takes the closest pin/port match yet still offers a plugin with
variable i/o access to all port-buffers.

the "reported" (user visible) pin-count now defaults to the actual
selected configuration (precise) and lua_dsp_configure() can
override it.
2016-07-11 22:22:17 +02:00
1f7f7f8597 remove implicit labels from a-eq 2016-07-11 16:58:53 +02:00
b65cb37d24 add a MTC/sysex test sequence 2016-07-11 16:58:53 +02:00
a1bff57695 lua MidiBuffer bindings 2016-07-11 03:04:29 +02:00
5156b8aeb5 White space fix only. (Spaces to tabs) 2016-07-10 08:20:05 -07:00
7dfd39e708 add a single-element ring-buffer write function 2016-07-10 15:56:18 +02:00
140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
cb2c459302 complete ringbuffer bindings 2016-07-10 15:01:29 +02:00
5780e44993 add raw midi buffer binding 2016-07-10 14:45:58 +02:00
509ce07c28 fix plugin bypass -- thinko in 54d8def6 2016-07-10 04:02:02 +02:00
a4a246b41d towards export latency compensation 2016-07-10 03:21:29 +02:00
0a52b325f4 align stem-export (raw track outputs (with and w/p processing) 2016-07-10 03:21:29 +02:00
7c13a16589 possible fix for off-by-one issue with MIDI binding maps etc. 2016-07-09 18:19:27 -04:00
1f3e49e8ee fix initialization order 2016-07-09 17:53:17 -04:00
57f74fbf13 const bool METHOD() const makes no sense 2016-07-09 17:15:17 -04:00
0c2a5dc0b2 better safe than sorry 2016-07-09 18:34:27 +02:00
nick_m
703150d365 Always set the musical position in Region::recompute_position_from_lock_style(). 2016-07-10 02:18:38 +10:00
nick_m
8a676d2bd4 Fix missing note divisor when creating regions, ensure an existing musical time is not altered. 2016-07-10 02:18:38 +10:00
nick_m
33dab757ee Tempo map updates.
- cleanup audio-locked meter removal code

	- recompute and warn if map is left unsolved due to adding a metric

	- handle corner case wrt overlapping audio-locked musical sections.
2016-07-10 02:18:38 +10:00
nick_m
49159e9585 Fix long-standing spelling bug.
- should be a no-op.
2016-07-10 02:18:37 +10:00
nick_m
7a6f8abc1d Fix missing tempi recompute, improve adding meter/tempo failure. 2016-07-10 02:18:37 +10:00
nick_m
828cb52f86 Fail properly when adding a new audio locked meter's tempo. 2016-07-10 02:18:37 +10:00
nick_m
f4ec7f12d1 Fix broken meter manipulation in exact_beat. 2016-07-10 02:18:37 +10:00