13
0
Commit Graph

11382 Commits

Author SHA1 Message Date
4a831725af fix threaded state restore (duplicate calls to restore during init)
and also allow immediate work during use latency-compute runs.

At session load, Ardour calls a plugins "set default" state (GUI thread).
Some plugins may schedule work during state-restore. Ardour immediately
proceeded to restore the actual session plugin state without processing
the already scheduled work and without calling run() for a plugin
to apply state synchronously.
2016-08-23 13:46:11 +02:00
81c481f975 OSC: Tweak GUI to be more user obvious. 2016-08-22 13:23:04 -07:00
957f59f351 print a warning if CoreAudio falls back to non realtime priority 2016-08-22 17:38:45 +02:00
636522bd79 new libardour API for Session::new_route_from_template to allow specifying insertion point 2016-08-22 09:41:59 -04:00
88e98a63c7 OSC: populate check boxes with default settings at session start 2016-08-21 16:31:22 -07:00
1cfd8b2203 OSC: set global variables in global space - crash fix 2016-08-21 14:15:54 -07:00
adb492b914 OSC GUI: Add Strip types and feedback check boxes 2016-08-21 13:25:11 -07:00
7aa5ada0e0 Lua bind MonitorProcessor 2016-08-21 00:24:23 +02:00
d1ed84e44e OSC: Add setup to GUI 2016-08-19 14:22:55 -07:00
a83febb268 fix optimized build compilation 2016-08-19 22:38:10 +02:00
0016920347 and another typo gone in in 9702020 2016-08-19 17:22:09 +02:00
adf290446f fix typo in 9702020 2016-08-19 16:23:49 +02:00
972dc6aaca ad rest of Stripable API to lua 2016-08-19 09:40:20 -04:00
8e2d1c7f2a Move 'round()' / 'trunc()' etc so that they won't conflict with any versions already available in MSVC 2016-08-19 14:11:01 +01:00
4ece16f348 For MSVC, 'using namespace whatever' doesn't help us to differentiate between ambiguous type names
so... given that 'Rectangle' is a type name that's commonly found in several different namespaces, we'll need to specify explicitly which one we want.
2016-08-19 14:11:00 +01:00
a0b117b948 'roundf()' wasn't introduced in MSVC until VS2013 - so for the time being, let's emulate it using 'floorf()' 2016-08-19 14:11:00 +01:00
cdcccd8101 handle edge-case where jack-meta-data may be NULL, but the call succeeds
this fixes #6968
2016-08-19 14:38:37 +02:00
45cd3482a2 fix failure to remove keyvalue from Keyboard::state on key release 2016-08-19 08:32:44 -04:00
26f1578568 MIDI polyphonic pressure, part 2 2016-08-19 08:32:44 -04:00
d6691a80e9 attempt to handle poly-pressure (polyphonic aftertouch) similarly to other MIDI messages 2016-08-19 08:32:44 -04:00
c229e31720 OSC:: needs the .h file too... 2016-08-18 19:16:53 -07:00
7c43d2bb0e OSC: make remote port setting possible, add default surface variables 2016-08-18 19:15:57 -07:00
756674f4f9 initialize uninitialized variable 2016-08-19 03:32:07 +02:00
ba1058aca6 Update automated Plugin Controlls when seeking and not rolling 2016-08-19 03:32:07 +02:00
ef4facca11 fix Aux-Send Panner Linking 2016-08-19 01:14:21 +02:00
41cc35cf6e do not allow undo/redo while actively recording 2016-08-17 19:22:26 -04:00
nick_m
9702020929 Report quarter note rather than beat position to AU plugins. 2016-08-18 05:42:30 +10:00
nick_m
6d0208613d Use quarter pulses (quarter notes) for VST's ppqBar, ppqPos and cycleStart/EndPos. 2016-08-18 05:39:44 +10:00
nick_m
b243af48c7 Add methods for plugin APIs to obtsin quarter pulses ('beats' for AU) from the tempo map. 2016-08-18 05:36:24 +10:00
8708da2d19 OSC: Add value feedback to strip fader and trim 2016-08-17 08:24:57 -07:00
613ff66042 fix ramped BPM reporting to AU and VST plugins 2016-08-17 17:17:00 +02:00
b3cec2716e fix LV2 BPM report (use ramped tempo) 2016-08-17 17:04:02 +02:00
6bf40e3a44 a-Reverb: Fixed bug with the reverb all pass filters causing bad sound 2016-08-18 00:41:43 +10:00
08df4e1920 Fix anchored popups with separators in them
The code computing the position of the popup menu used to compare the
given string to each MenuItem::get_label() result, but that method
actually replaces the content (child) of the MenuItem if that child is
not already a Gtk::Label. In particular, this breaks menu separators.

Avoid the issue by checking by hand if the only child of the MenuItem is
a Label, and directly compare the label text.
2016-08-17 01:45:47 +02:00
6a985df81e Replace positioning function with popup helper
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.

Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
18af0dc4cd Also send lv2:timePosition whenever BBT or Tempo changes
This mostly fixes an issue with notifying plugins about tempo-ramps
and BPM changes.

remaining to be fixed (in tempo.h):
```
_session.tempo_map().metric_at(frame_position).tempo().beats_per_minute()
```
currently returns the most recent *fixed* tempo at or before
`frame_position`. All other Plugin types are affected by this as well.
2016-08-16 13:11:49 +02:00
7b993ef138 turn comments into doxygen doc 2016-08-16 00:26:06 +02:00
bc0bb6cae9 extend lua-doc to show properties 2016-08-16 00:25:59 +02:00
29feb8dec7 add some missing enum bindings (for config variables) 2016-08-16 00:20:36 +02:00
11da4a83e4 expose SessionConfiguration as lua bindings 2016-08-15 22:25:56 +02:00
3b7dbdfeb8 Re-enable luabridge addProperty()
In preparation to expose ARDOUR::SessionConfiguration.
Also change the return-type to bool to match Ardour's set/get API
2016-08-15 22:25:56 +02:00
nick_m
4848cb6d42 Enforce rounding to beat as >= 0.0 2016-08-16 00:43:08 +10:00
46cbb9084e Expose Stripable Color & Ordering API to Lua
We can't easily use C++ references with Lua closures, so
new API (pointer to PresentationInfo) was added.
2016-08-15 16:37:44 +02:00
09ed9c44e7 change PBD::Transmitter code to use PBD::Signal<> not sigc::signal<>, since the latter is not thread safe 2016-08-14 08:33:23 -04:00
f77d1e0a36 Don't call any Transmitter from realtime context
This fixes a crash when TempoMap::bbt_at_frame_rt() is called
for a latent effect at position 00:00:00:00 and frame is < 0.
2016-08-14 00:47:03 +02:00
nick_m
c62026b567 Ensure RelevantModifierKeyMask is updated on each modifier change.
- fixes bug where changing prefs in User Interaction
	  only took effect on restart.
2016-08-14 03:04:54 +10:00
nick_m
3f24d5d96e Always send start property changes when a midi region trim alters position.
- ensures gui updates correctly.
2016-08-14 03:04:53 +10:00
nick_m
172bcc8165 Audio-locked midi region fixes.
- don't alter region frame length on tempo change or position change.

	- set region _start correctly (see comments) on tempo map change.

	- ensure audio-locked region's beat is set on tempo map change
2016-08-14 03:04:53 +10:00
nick_m
5c2ccc4f3e Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.
- audio-locked midi regions can be start-trimmed properly
	  when close to 1|1|0
	- a midi region placed before the first meter
	  will continue the tempo curve and first meter.

Only a couple of callers require change, as bbt_at_beat() already
deals with this.
2016-08-14 03:04:53 +10:00
613ae0c110 Nobody expects the LV2 inquisition! 2016-08-13 14:51:57 +02:00