Commit graph

12719 commits

Author SHA1 Message Date
Ben Loftis
dc98fa6f3f Fix Faderport Proj button (show-editor action) 2017-03-14 09:27:59 -05:00
Robin Gareus
248521221c OSC debug: "ALL" == all messages incl. invalid ones 2017-03-13 22:35:07 +01:00
Robin Gareus
9cc068756b Clean up existing bindings on reset 2017-03-13 20:09:10 +01:00
Robin Gareus
333e3c6019 Add track/bus rename safeguards to the backend (handy for scripting) 2017-03-13 18:44:37 +01:00
Robin Gareus
ce7d001ebd plugin scan tweaks: don't verbosely log by default, bump timeout
Some VSTs (e.g. waves) can take a rather long time to scan.
(VST-shell: many plugins + online license check)
2017-03-13 16:13:38 +01:00
Robin Gareus
60ad8e21cf remove cruft; superseded by ControlGroup::use_me 2017-03-12 20:15:55 +01:00
Robin Gareus
be6bfd12eb Preparations to keep track of stripable color-dialogs.
This follows the same concept as plugin-UIs (keep a pointer in the backend)
to prevent multiple instances to be created from various TAVs
and RouteUIs (mixer, editor-mixer, meterbridge,..)
2017-03-12 16:54:18 +01:00
Robin Gareus
52b203ad36 Fix issue with automation-playback constantly marking a session dirty. 2017-03-12 02:37:30 +01:00
Robin Gareus
37bcbcad41 Optimize Session::set_dirty() 2017-03-12 02:36:33 +01:00
Robin Gareus
3e92347057 Prepare for graceful case-by-case fallback of VST Bypass
VST's effSetBypass may fail even though a plugin CanDo "bypass",
and it can be case-by-case (depending on plugin-settings).

This codepath is not yet active, pending testing.
2017-03-12 01:24:40 +01:00
Robin Gareus
0b6e2d1e46 Improve a-delay to follow tempo-ramps & BPM changes
This is a bit of a hotfix, not a proper solution
2017-03-11 23:10:44 +01:00
Robin Gareus
c29568f4c5 Fix Controllable::InverseGroup behavior.
use_group(), use_me() filters group behavior beforehand.
ControlGroup::set_group_value() lacks context to make the decision itself
and should always apply to the group (regardless of active state):
InverseGroup allows to override both: inactive predicate and inactive group.

This needs testing, particularly since  RouteGroupMember::use_group()
is no longer used and was superseded by RouteGroup::push_to_groups()
2017-03-11 18:58:50 +01:00
Robin Gareus
d6d1074565 create_action_group -> get_or_create_action_group
Since adding an action-groups hides existing actions with the same name,
this adds a way to look up actions first.

This fixes an issue introduced in 6af51b52ff (both window_manager.cc
and ardour_ui_ed.cc use the "Window" group.
2017-03-11 15:33:24 +01:00
Robin Gareus
34d6de83a0 Disable Retina/Appple pango text-width workaround
Fix right-alignment (tempo-markers) and oversized bounding-boxes.
_width_correction should be removed after testing on various systems.
2017-03-11 05:13:17 +01:00
Robin Gareus
1203d796de Fix possible segfault in multi-bus AUs. 2017-03-11 05:09:25 +01:00
Robin Gareus
0b966460a5 NO-OP whitespace 2017-03-11 00:36:47 +01:00
Robin Gareus
41216d200a Remove old modal get_color API. 2017-03-11 00:35:26 +01:00
Robin Gareus
7a709f23f1 Fix solo/mute when loading old (4.x) sessions. 2017-03-10 21:42:02 +01:00
Robin Gareus
6af51b52ff Use dedicated "show editor/mixer" actions 2017-03-10 17:52:42 +01:00
nick_m
b3ef0a9e8d fix incorrect property change in AudioRegion::set_fade_out()
- should fix 7283
2017-03-11 01:11:25 +11:00
Ben Loftis
f21111d7df Faderport uses the Mix and Proj buttons to summon mixer and editor; there is no longer a Toggle. 2017-03-09 14:29:08 -06:00
nick_m
87d474b391 fix potential crash in LV2Plugin::connect_and_run() when music starts after 0 2017-03-10 03:59:25 +11:00
Robin Gareus
8f2a5c01dd fix a-reverb, cut tail on deactivate, plug memory-leak 2017-03-08 23:04:16 +01:00
Robin Gareus
46fe83cfff Prevent adding "master" to a group 2017-03-08 17:49:01 +01:00
Robin Gareus
4b982ef895 Prepare moving to a dedicated x-thread signal for VST UI resizing
(this changes the internal API, pending follow-up GUI update)
2017-03-08 13:03:46 +01:00
Robin Gareus
50f408adf2 remove cruft 2017-03-08 13:03:46 +01:00
Robin Gareus
5956e864e7 Fix copy/paste typo -- MacOSX builds 2017-03-07 05:46:21 +01:00
Robin Gareus
e1095310a8 Rework VST initialization:
Set the AEffect* plugin pointer before calling effOpen.
effOpen may call back into the host (masterCallback) and invoke
actions which depend on _plugin (eg. to call back into the plugin again)
2017-03-07 00:13:56 +01:00
nick_m
12f46c7385 announce what changed correctly in MidiRegion::model_shifted() 2017-03-07 01:21:45 +11:00
nick_m
16089bff96 more linked midi region trim drag fixes.
- freeze the correct playlists on fiorst move.

	- only update the start offset of linked regions once the drag
	  has finished.
2017-03-06 15:51:53 +11:00
Robin Gareus
e6f4f179be Add support for VST effSetBypass #7266
This mechanism re-uses internal abstraction (plugin-enable).
Other plugin-specs designate a control-port, for VST we 'emulate'
a control-port.

There is still debug-output to stderr, here while testing.
2017-03-06 01:38:49 +01:00
Robin Gareus
9089c1c6bf Fix AFL/PFL from MIDI tracks without audio (zero buffers) 2017-03-05 21:18:18 +01:00
nick_m
c73e231443 fix uninitialised variable (fixes linked midi region negative start oatch) 2017-03-05 05:38:47 +11:00
nick_m
5c741b7a07 tempo editing updates
- a tempo marker may now be set to always continue (clamped)
	  this means that the end tempo of the previous section will
	  track the start tempo during tempo ops.
	  it mimics the behaviour in 5.8, with the gui indicating
	  the curves to be changed.
2017-03-05 05:21:56 +11:00
Robin Gareus
044cfab946 Notify UI when plugin state is copied/replaced 2017-03-04 18:25:37 +01:00
Robin Gareus
ad6ddf70df Don't allow GMCP to override loading_state_version
- GMPC does not use it directly
- when GMPC was enabled Stateful::loading_state_version was set to 1000
  (the protocol is at 1.0.0)
- it messes up session-loading, particularly various plugin states and
  templates (e.g  Processor::set_state_2X was used)
2017-03-04 17:55:22 +01:00
nick_m
e8b5b4fcf3 offset linked regions to compensate for negative start after trim drag.
- should fix 7105
2017-03-04 11:28:49 +11:00
Robin Gareus
ac9bc19762 Fix crash when adding a plugin immediately after re-order (via script)
The re-order is queued to be performed click-free in realtime-context.
Meanwhile adding plugins will result in a race-condition.
2017-03-01 18:52:40 +01:00
Robin Gareus
ab127d6e70 Don't display "channel-selector" for plugins only pretending to be instruments
If a plugin has 0 audio-outputs, and has the meta-data "InstrumentPlugin",
Ardour would interpret is as "variable number of output synth.
2017-03-01 17:08:44 +01:00
Robin Gareus
6e5cfb665f Fix audition with monitor-section.
When a monitor-section is added, the auditioner automatically connects to
its input. However on session-reload, the connection is explicit
(by saved port-name) and  Auditioner::needs_monitor() was not set.
Session::process_audition() didn't run the monitor-route. Silence.
2017-03-01 13:04:58 +01:00
Robin Gareus
ce2c3a9c70 c89 compat (gcc4, mingw..) 2017-02-28 21:33:13 +01:00
Robin Gareus
a80920c016 Tweak/optimize VST callback:
The audioMasterAutomate callback from plugin to host does include
the parameter-value.

Previously there was a redundant call
Plugin::parameter_changed_externally() -> get_parameter
-> VSTPlugin::get_parameter()   back into the plugin to query the value.

calling back into the plugin from the callback, may explain
oddities and/or crashes with some VSTs.
2017-02-28 20:20:18 +01:00
Paul Davis
c7168b387b when destroying a MidiSource, invalidate any existing MidiCursors
(such as those held in a MidiPlaylist's RegionTrackers
2017-02-28 17:27:51 +01:00
Robin Gareus
29fcca147b Fix loading SMF meta-data > 127 bytes (no more g_critical abort) 2017-02-28 16:29:10 +01:00
nick_m
38b5d88795 allow continuation of tempo via right-click 'Continue' where appropriate.
- this is the opposite of 'Ramp to Next'.
	  it removes discontinuities between the
	  last end tempo and the current by altering the current one.
2017-03-01 01:58:53 +11:00
Robin Gareus
a9bb1afb27 Update GUI when playing mute-automation 2017-02-28 05:01:17 +01:00
nick_m
f457544263 fix crash in pinch drag 2017-02-27 20:16:10 +01:00
nick_m
f3ada6f893 harden TempoMap::next_tempo_section () a bit. 2017-02-27 20:16:10 +01:00
nick_m
e41285668c amend last commit (don't depend on 0.0) 2017-02-27 20:16:10 +01:00
nick_m
b3c68030f4 hopefully fix legacy session loading (tempo) 2017-02-27 20:16:10 +01:00