Commit graph

11386 commits

Author SHA1 Message Date
Robin Gareus
ac05f05023 Import libfluidsynth into the Ardour codebase 2016-08-23 22:21:03 +02:00
nick_m
88f723e8d8 Tempo marker movement snaps to the future grid, rather than the current one.
- fixes jittery tempo movement when snapping within large gradients.
2016-08-24 03:38:46 +10:00
nick_m
9a66e1e2c6 Round to bar correctly in TempoMap::exact_beat_at_frame_locked(). 2016-08-24 03:23:04 +10:00
Robin Gareus
0a975eba29 Nyquist (pronounce it like Klopstock!) 2016-08-23 13:46:11 +02:00
Robin Gareus
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
Len Ovens
81c481f975 OSC: Tweak GUI to be more user obvious. 2016-08-22 13:23:04 -07:00
Robin Gareus
957f59f351 print a warning if CoreAudio falls back to non realtime priority 2016-08-22 17:38:45 +02:00
Paul Davis
636522bd79 new libardour API for Session::new_route_from_template to allow specifying insertion point 2016-08-22 09:41:59 -04:00
Len Ovens
88e98a63c7 OSC: populate check boxes with default settings at session start 2016-08-21 16:31:22 -07:00
Len Ovens
1cfd8b2203 OSC: set global variables in global space - crash fix 2016-08-21 14:15:54 -07:00
Len Ovens
adb492b914 OSC GUI: Add Strip types and feedback check boxes 2016-08-21 13:25:11 -07:00
Robin Gareus
7aa5ada0e0 Lua bind MonitorProcessor 2016-08-21 00:24:23 +02:00
Len Ovens
d1ed84e44e OSC: Add setup to GUI 2016-08-19 14:22:55 -07:00
Robin Gareus
a83febb268 fix optimized build compilation 2016-08-19 22:38:10 +02:00
Robin Gareus
0016920347 and another typo gone in in 9702020 2016-08-19 17:22:09 +02:00
Robin Gareus
adf290446f fix typo in 9702020 2016-08-19 16:23:49 +02:00
Paul Davis
972dc6aaca ad rest of Stripable API to lua 2016-08-19 09:40:20 -04:00
John Emmas
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
John Emmas
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
John Emmas
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
Robin Gareus
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
Paul Davis
45cd3482a2 fix failure to remove keyvalue from Keyboard::state on key release 2016-08-19 08:32:44 -04:00
Paul Davis
26f1578568 MIDI polyphonic pressure, part 2 2016-08-19 08:32:44 -04:00
Paul Davis
d6691a80e9 attempt to handle poly-pressure (polyphonic aftertouch) similarly to other MIDI messages 2016-08-19 08:32:44 -04:00
Len Ovens
c229e31720 OSC:: needs the .h file too... 2016-08-18 19:16:53 -07:00
Len Ovens
7c43d2bb0e OSC: make remote port setting possible, add default surface variables 2016-08-18 19:15:57 -07:00
Robin Gareus
756674f4f9 initialize uninitialized variable 2016-08-19 03:32:07 +02:00
Robin Gareus
ba1058aca6 Update automated Plugin Controlls when seeking and not rolling 2016-08-19 03:32:07 +02:00
Robin Gareus
ef4facca11 fix Aux-Send Panner Linking 2016-08-19 01:14:21 +02:00
Paul Davis
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
Len Ovens
8708da2d19 OSC: Add value feedback to strip fader and trim 2016-08-17 08:24:57 -07:00
Robin Gareus
613ff66042 fix ramped BPM reporting to AU and VST plugins 2016-08-17 17:17:00 +02:00
Robin Gareus
b3cec2716e fix LV2 BPM report (use ramped tempo) 2016-08-17 17:04:02 +02:00
Damien Zammit
6bf40e3a44 a-Reverb: Fixed bug with the reverb all pass filters causing bad sound 2016-08-18 00:41:43 +10:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Robin Gareus
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
Robin Gareus
7b993ef138 turn comments into doxygen doc 2016-08-16 00:26:06 +02:00
Robin Gareus
bc0bb6cae9 extend lua-doc to show properties 2016-08-16 00:25:59 +02:00
Robin Gareus
29feb8dec7 add some missing enum bindings (for config variables) 2016-08-16 00:20:36 +02:00
Robin Gareus
11da4a83e4 expose SessionConfiguration as lua bindings 2016-08-15 22:25:56 +02:00
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Robin Gareus
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