Commit graph

24019 commits

Author SHA1 Message Date
nick_m
589c13c0eb allow setting end bpm in new tempo from tempo dialog. 2017-03-07 04:00:38 +11:00
nick_m
30dd692d13 rework tempo dialog formatting, add end bpm entry. 2017-03-07 03:59:42 +11:00
nick_m
4512b67fa5 fix crash when dragging region from list. 2017-03-07 02:30:48 +11:00
Robin Gareus
e8ea0548e0 Fix save-as progress dialog.
ScopedConnection and label,bar went out of scope.
2017-03-06 15:42:58 +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
e7c85706e5 More fun with LinuxVSTs & threading 2017-03-06 01:48:46 +01: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
3cba51df26 Close the LXVST X11 connection for good measure 2017-03-05 22:15:30 +01:00
Robin Gareus
e9385c2297 Work around a crash at exit for Linux VST UIs abusing pthread-keys. 2017-03-05 22:14:49 +01:00
Robin Gareus
9089c1c6bf Fix AFL/PFL from MIDI tracks without audio (zero buffers) 2017-03-05 21:18:18 +01:00
Robin Gareus
115987a29b Revert "some further debugging, just in case"
This reverts commit 04ed05ecc4.
2017-03-05 17:01:17 +01:00
Robin Gareus
04ed05ecc4 some further debugging, just in case 2017-03-05 16:45:55 +01:00
Robin Gareus
9b6aebe842 Prevent duplicate self-delete.
debug-prints indicat it was at least possible for the same Window to
receive  FloatingTextEntry::entry_focus_out twice (without idle)
2017-03-05 16:45:55 +01:00
Robin Gareus
abdadb0906 NO-OP: whitespace 2017-03-05 16:45:55 +01:00
nick_m
fc47da6511 ensure no movement when draggin regions with x constrained.
- should fix 7260
2017-03-06 01:57:12 +11:00
nick_m
a445e82776 fix undo if a midi region start trim changed the source offset.
- this diffs all playlists that use the same source.

	- the secons part hould be a no-op, but needs testing
	  (trim drag undo on audio and midi regions)
2017-03-06 01:01:37 +11:00
Len Ovens
992ab1a273 Remove space between _ and ( 2017-03-04 12:33:22 -08:00
nick_m
c73e231443 fix uninitialised variable (fixes linked midi region negative start oatch) 2017-03-05 05:38:47 +11:00
nick_m
2780662432 no-op - comment/whitespace fixes. 2017-03-05 05:34:41 +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
345f38f1de undoing a create note drag restores screen position. 2017-03-05 02:06:49 +11:00
nick_m
1f9c26136c rework percussive hit spraying.
- the spray is limited to the first entered note.

	- all new notes are selected (requires a selection change to
	  MRV::create_note_at()
2017-03-05 01:57:10 +11:00
nick_m
fb4b72231a spraying percussive hits has one undo step per drag.
- should fix 7134
2017-03-05 01:50:04 +11:00
nick_m
2012cf0d1a remove bogus variable from last commit 2017-03-05 01:23:12 +11:00
Tim Mayberry
ddb4b8a7c3 Add reset region gain action for selected regions 2017-03-04 15:26:00 +10: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
645441d093 Add 7890 aka tom- to contributor list 2017-03-03 20:07:26 +01:00
Robin Gareus
f0a3c84e8c Fix crash when inserting time with split intersected regions 2017-03-02 21:20:09 +01:00
Robin Gareus
5524bac04b Don't try to auto-start engine for new sessions
Work around logic-flow in EngineDialog which should already have
done that, but may no longer heed this special-case if sample-rate
dropdown is refreshed to only devices supported ones.
2017-03-02 20:01:48 +01:00
Robin Gareus
12d99f6f6e Ship system_config with bundles again.
This partially reverts commit ac40945ff9.
re-add system_config, but not instant.xml
2017-03-02 19:41:09 +01:00
Robin Gareus
ea4bbcf529 Empty system_config (pre-seed XML nodes, use built-in settings)
Hotfix work around:
 1) Launch without existing user-config and no system_config
 2) Load or create session.  save/quit.
 3) re-load session. save.   user-config file is corrupted in <Extra>
2017-03-02 19:37:36 +01:00
Paul Davis
05b0102668 ArdourButton: if _act_on_release is true, only trigger actions/signal clicks on key release, and vice versa
This should really be split in separate semantics for key and button events.

Fixes a subtle but nasty bug in the EngineDialog where the change of the default focus
widget from a Gtk::Button (acts on press) to an ArdourButton (acts on release) caused
events occuring after a dialog has grabbed focus to trigger button clicks
2017-03-01 22:30:20 +01: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
96b3f8ec92 Don't automatically open generic UIs for plugins w/o controls 2017-03-01 17:17:27 +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
88a22d40b5 Fix implicit selection when operating track-header ctrl buttons
Stop event propagation. Otherwise, on release the event is passed
up and handled by the TAV which scrolls the editor viewpoint
and the button is no longer under the mouse.
2017-03-01 11:55:32 +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
f1571ab7ed initialize some uninitialized vars 2017-02-28 16:29:10 +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
Robin Gareus
5c4a2025f1 Fix touching mute automation (mostly)
controllable->set_value() from GUI context will eventually queue
a session-rt command. By the time the realtime command runs, the
controllable needs to be in "touch" mode.

The AutomationController "toggle" UI worked around this by directly using
the underlying API (ignoring slaved-controls and ignoring groups).
The RouteUI's GUI wasn't able to write mute-automation at all.

This commit is a compromise: press + hold (touch) + release button.

(it may need further special-casing for _desc.toggled in
AutomationControl::actually_set_value(), also undoing automation-writes
is currently  not working correctly)
2017-02-28 05:01:17 +01:00
Ben Loftis
1071c0e788 Likely fix for bug: cannot change track colors in older 4.x sessions. 2017-02-27 20:51:17 -06:00
nick_m
d5fad959e6 probable fix for importing tempo maps that use non-quarter note pulse.
- actually i'm not certain that this is correct,
	  but it works ok Beethoven's fifth.
2017-02-27 20:16:10 +01:00