13
0
Commit Graph

12446 Commits

Author SHA1 Message Date
46fe83cfff Prevent adding "master" to a group 2017-03-08 17:49:01 +01:00
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
50f408adf2 remove cruft 2017-03-08 13:03:46 +01:00
5956e864e7 Fix copy/paste typo -- MacOSX builds 2017-03-07 05:46:21 +01:00
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
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
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
044cfab946 Notify UI when plugin state is copied/replaced 2017-03-04 18:25:37 +01:00
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
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
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
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
ce2c3a9c70 c89 compat (gcc4, mingw..) 2017-02-28 21:33:13 +01:00
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
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
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
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
nick_m
d06e710402 add TempoMap::next_tempo_section() 2017-02-27 20:16:10 +01:00
nick_m
393f095d95 fix TempoMap::frame_at_tempo(). 2017-02-27 20:16:10 +01:00
nick_m
97c4c2a28c complete changes to tempo type.
- this implements in the intention behind the previous commit.
	  a tempo mark is constant until its end has been changed by a
	  shift-drag on the next marker.
2017-02-27 20:16:10 +01:00
ac19a51d38 compile fix 2017-02-27 20:16:10 +01:00
nick_m
959f76c843 make new (ramped) tempi indidstiguishable from constant to the novice user.
- stretch drag (using shift on the curve) operates on
	  the true meaning of constant. in other words,
	  the only way you can make a tempo ramped is by adjusting the end
	  tempo (shift drag on the *next* mark). from this point onwards.
	  shift-drag the curve will change the start tempo and ctrl-drag
	  the curve will change the end (needs work). to reset the
	  curve to constant, 'make constant' should simply set the end
	  tempo (unimplemented).
2017-02-27 20:16:10 +01:00
nick_m
8b1baa2406 correct (?) behaviour of TempoMap::replace_tempo 2017-02-27 20:16:10 +01:00
nick_m
ccb51a8ddb rework tempo editing.
most changes are due to a new design where tempo discontinuities at the
beginning of a ramped section may be set.
this allows easier mapping of live performance, especially in
the common case of a ramped ritard before the beginning of a new section.

feature summary:

holding constraint modifier (shift) while dragging the BBT ruler area
drags the tempo lines by changing the start tempo (as before)

holding copy modifier (control) while dragging the BBT ruler area
drags the tempo lines by changing the end tempo (ahem. not quite there)

dragging a tempo mark while holding constraint (shift) will change the
previous end tempo to match the marker position *worth trying*.

holding constraint and copy modifier (control + shift) while dragging
the BBT ruler area attempts to'pinch' or twist the surrounding tempi
sp that later ones are not repositioned (currently suffereng from
rounding errors)
2017-02-27 20:16:10 +01:00
e5c6f16126 fix crash caused by trying to connect monitor section before it has ports.
This does not fix the ordering issues caused by things happening
before the monitor section gaining ports
2017-02-27 16:40:53 +01:00
67ba18d154 selected Stripables now have a counter to indicate the order they were selected in 2017-02-26 18:24:56 +01:00
f1e6cc50b0 Revert "libs: debug output for faderport/editor mixer strip sync"
This reverts commit 6fb91b1ac2.
2017-02-25 19:56:51 +01:00
7d08584415 Add some missing luabridge::ClassInfo<>::getClassKey() - fix windows builds 2017-02-25 18:38:27 +01:00
df52c8c748 OSC: correct busses spelling in GUI 2017-02-25 08:49:18 -08:00
6fb91b1ac2 libs: debug output for faderport/editor mixer strip sync 2017-02-24 23:10:03 +01:00
2b9525c991 try to make sure faderport shows the same strip as the editor mixer strip 2017-02-24 22:54:25 +01:00
74548604be no-op: move method order in file 2017-02-24 22:54:25 +01:00
cd609fb9d8 add a missing class-key 2017-02-24 17:53:06 +01:00
24f070610c Save Lua script origin (for later updates) -- DSP plugin 2017-02-24 16:10:14 +01:00
81a0bdcc40 Add static class-keys for windows 2017-02-24 16:10:14 +01:00
febd1d5c88 remove misleading/incorrect comment
The previously-commented code is precisely what gets invoked
when solo state changes, and had nothing to do with actually
changing solo state in any way.
2017-02-24 10:18:57 +01:00
6fbdfa353b OSC: remove invalid feedback for solo and pan az. 2017-02-23 15:45:28 -08:00
d3c43b88ae fix solo + mute controls when slaved
clamp/scale by masters only applies to non-boolean controls
2017-02-23 22:57:23 +01:00
d6ad3b3c08 Add static Class-Keys for Windows build 2017-02-23 22:32:32 +01:00
71fd94b422 LuaBridge: Dedicated type for pointer-lists and const version
"class C*" cannot be defined nor resolved, so STL containers
to class instance pointers need to be special-cased.
2017-02-23 22:32:32 +01:00