Ben Loftis [Fri, 10 Mar 2017 15:09:30 +0000 (09:09 -0600)]
Fix likely thinko in bbt ruler.
This fixes a bug for me:
Measure lines appear & disappear during playback, at certain zoom scales.
I think this is because the unecessary offset was causing beat_density to vary unnecessarily while rolling.
Ben Loftis [Fri, 10 Mar 2017 14:37:26 +0000 (08:37 -0600)]
compute_bbt_ruler_scale should not be necessary for every redraw of the timeline. Works OK here without it...
nick_m [Fri, 10 Mar 2017 14:11:25 +0000 (01:11 +1100)]
fix incorrect property change in AudioRegion::set_fade_out()
- should fix 7283
Tim Mayberry [Fri, 10 Mar 2017 12:59:58 +0000 (22:59 +1000)]
Fix crash when removing time from track with automation
Resolves : #7287
Ben Loftis [Thu, 9 Mar 2017 20:29:08 +0000 (14:29 -0600)]
Faderport uses the Mix and Proj buttons to summon mixer and editor; there is no longer a Toggle.
nick_m [Thu, 9 Mar 2017 16:59:25 +0000 (03:59 +1100)]
fix potential crash in LV2Plugin::connect_and_run() when music starts after 0
Tim Mayberry [Thu, 9 Mar 2017 01:51:00 +0000 (11:51 +1000)]
Allow Edit -> Crop to work with edit point set to mouse
Crop is currently only dependent on having a valid time/range selection.
Resolves : #7278
Tim Mayberry [Thu, 9 Mar 2017 00:10:07 +0000 (10:10 +1000)]
Allow Separate using Loop/Punch range to work with edit point set to mouse
These operations are not dependent on the mouse position.
Resolves: #7276
Robin Gareus [Wed, 8 Mar 2017 22:04:16 +0000 (23:04 +0100)]
fix a-reverb, cut tail on deactivate, plug memory-leak
Robin Gareus [Wed, 8 Mar 2017 21:17:16 +0000 (22:17 +0100)]
Consolidate code
Robin Gareus [Wed, 8 Mar 2017 18:00:04 +0000 (19:00 +0100)]
The return of the Mixbus Send-options (allow aux-feedback override)
Robin Gareus [Wed, 8 Mar 2017 17:37:36 +0000 (18:37 +0100)]
Don't show Group UI for the master-bus
Robin Gareus [Wed, 8 Mar 2017 16:49:01 +0000 (17:49 +0100)]
Prevent adding "master" to a group
Robin Gareus [Wed, 8 Mar 2017 15:22:17 +0000 (16:22 +0100)]
Mixer sidebar: show group context menu on right-click only
Robin Gareus [Wed, 8 Mar 2017 11:15:42 +0000 (12:15 +0100)]
Pop down dialog before re-scanning VSTs
Robin Gareus [Tue, 7 Mar 2017 17:38:01 +0000 (18:38 +0100)]
VST UI sizeing rework
* prefer signal over timer-poll for VST size changes
* properly offset VST window (Windows)
* constrain window size (Windows)
* explicitly notify re-parent'ed child window (Linux)
Robin Gareus [Tue, 7 Mar 2017 02:22:13 +0000 (03:22 +0100)]
Prepare moving to a dedicated x-thread signal for VST UI resizing
(this changes the internal API, pending follow-up GUI update)
Robin Gareus [Tue, 7 Mar 2017 01:55:22 +0000 (02:55 +0100)]
remove cruft
Robin Gareus [Tue, 7 Mar 2017 04:46:21 +0000 (05:46 +0100)]
Fix copy/paste typo -- MacOSX builds
nick_m [Mon, 6 Mar 2017 23:36:48 +0000 (10:36 +1100)]
snapped pencil drawing of new midi regions cannot be zero (7271).
- fixes a couple of other oddities in the behaviour.
Robin Gareus [Mon, 6 Mar 2017 23:32:19 +0000 (00:32 +0100)]
two new action scripts (no icons yet)
Robin Gareus [Mon, 6 Mar 2017 22:49:40 +0000 (23:49 +0100)]
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)
nick_m [Mon, 6 Mar 2017 17:00:38 +0000 (04:00 +1100)]
allow setting end bpm in new tempo from tempo dialog.
nick_m [Mon, 6 Mar 2017 16:59:42 +0000 (03:59 +1100)]
rework tempo dialog formatting, add end bpm entry.
nick_m [Mon, 6 Mar 2017 15:30:48 +0000 (02:30 +1100)]
fix crash when dragging region from list.
Robin Gareus [Mon, 6 Mar 2017 14:07:19 +0000 (15:07 +0100)]
Fix save-as progress dialog.
ScopedConnection and label,bar went out of scope.
nick_m [Mon, 6 Mar 2017 14:21:45 +0000 (01:21 +1100)]
announce what changed correctly in MidiRegion::model_shifted()
nick_m [Mon, 6 Mar 2017 04:51:53 +0000 (15:51 +1100)]
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.
Robin Gareus [Mon, 6 Mar 2017 00:48:46 +0000 (01:48 +0100)]
More fun with LinuxVSTs & threading
Robin Gareus [Mon, 6 Mar 2017 00:38:49 +0000 (01:38 +0100)]
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.
Robin Gareus [Sun, 5 Mar 2017 21:15:30 +0000 (22:15 +0100)]
Close the LXVST X11 connection for good measure
Robin Gareus [Sun, 5 Mar 2017 21:14:49 +0000 (22:14 +0100)]
Work around a crash at exit for Linux VST UIs abusing pthread-keys.
Robin Gareus [Sun, 5 Mar 2017 20:18:18 +0000 (21:18 +0100)]
Fix AFL/PFL from MIDI tracks without audio (zero buffers)
Robin Gareus [Sun, 5 Mar 2017 16:01:17 +0000 (17:01 +0100)]
Revert "some further debugging, just in case"
This reverts commit
04ed05ecc4629d85d8f1fd3d6756669a42fb762b.
Robin Gareus [Sun, 5 Mar 2017 15:45:34 +0000 (16:45 +0100)]
some further debugging, just in case
Robin Gareus [Sun, 5 Mar 2017 15:42:40 +0000 (16:42 +0100)]
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)
Robin Gareus [Sun, 5 Mar 2017 15:35:16 +0000 (16:35 +0100)]
NO-OP: whitespace
nick_m [Sun, 5 Mar 2017 14:57:12 +0000 (01:57 +1100)]
ensure no movement when draggin regions with x constrained.
- should fix 7260
nick_m [Sun, 5 Mar 2017 14:01:37 +0000 (01:01 +1100)]
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)
Len Ovens [Sat, 4 Mar 2017 20:33:22 +0000 (12:33 -0800)]
Remove space between _ and (
nick_m [Sat, 4 Mar 2017 18:38:47 +0000 (05:38 +1100)]
fix uninitialised variable (fixes linked midi region negative start oatch)
nick_m [Sat, 4 Mar 2017 18:34:41 +0000 (05:34 +1100)]
no-op - comment/whitespace fixes.
nick_m [Sat, 4 Mar 2017 18:21:56 +0000 (05:21 +1100)]
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.
Robin Gareus [Sat, 4 Mar 2017 17:25:37 +0000 (18:25 +0100)]
Notify UI when plugin state is copied/replaced
Robin Gareus [Sat, 4 Mar 2017 16:47:57 +0000 (17:47 +0100)]
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)
nick_m [Sat, 4 Mar 2017 15:06:49 +0000 (02:06 +1100)]
undoing a create note drag restores screen position.
nick_m [Sat, 4 Mar 2017 14:57:10 +0000 (01:57 +1100)]
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()
nick_m [Sat, 4 Mar 2017 14:50:04 +0000 (01:50 +1100)]
spraying percussive hits has one undo step per drag.
- should fix 7134
nick_m [Sat, 4 Mar 2017 14:23:12 +0000 (01:23 +1100)]
remove bogus variable from last commit
Tim Mayberry [Sat, 4 Mar 2017 05:20:56 +0000 (15:20 +1000)]
Add reset region gain action for selected regions
nick_m [Sat, 4 Mar 2017 00:28:49 +0000 (11:28 +1100)]
offset linked regions to compensate for negative start after trim drag.
- should fix 7105
Robin Gareus [Fri, 3 Mar 2017 19:07:26 +0000 (20:07 +0100)]
Add 7890 aka tom- to contributor list
Robin Gareus [Thu, 2 Mar 2017 20:20:09 +0000 (21:20 +0100)]
Fix crash when inserting time with split intersected regions
Robin Gareus [Thu, 2 Mar 2017 19:00:15 +0000 (20:00 +0100)]
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.
Robin Gareus [Thu, 2 Mar 2017 18:39:35 +0000 (19:39 +0100)]
Ship system_config with bundles again.
This partially reverts commit
ac40945ff96f27606ff5d3600cf06b0ba663a5e1.
re-add system_config, but not instant.xml
Robin Gareus [Thu, 2 Mar 2017 18:37:36 +0000 (19:37 +0100)]
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>
Paul Davis [Wed, 1 Mar 2017 21:29:54 +0000 (22:29 +0100)]
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
Robin Gareus [Wed, 1 Mar 2017 17:52:40 +0000 (18:52 +0100)]
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.
Robin Gareus [Wed, 1 Mar 2017 16:17:27 +0000 (17:17 +0100)]
Don't automatically open generic UIs for plugins w/o controls
Robin Gareus [Wed, 1 Mar 2017 16:08:44 +0000 (17:08 +0100)]
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.
Robin Gareus [Wed, 1 Mar 2017 12:04:39 +0000 (13:04 +0100)]
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.
Robin Gareus [Wed, 1 Mar 2017 10:54:52 +0000 (11:54 +0100)]
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.
Robin Gareus [Tue, 28 Feb 2017 20:33:13 +0000 (21:33 +0100)]
c89 compat (gcc4, mingw..)
Robin Gareus [Tue, 28 Feb 2017 19:08:03 +0000 (20:08 +0100)]
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.
Paul Davis [Tue, 28 Feb 2017 16:27:21 +0000 (17:27 +0100)]
when destroying a MidiSource, invalidate any existing MidiCursors
(such as those held in a MidiPlaylist's RegionTrackers
Robin Gareus [Tue, 28 Feb 2017 15:28:44 +0000 (16:28 +0100)]
initialize some uninitialized vars
Robin Gareus [Tue, 28 Feb 2017 15:24:07 +0000 (16:24 +0100)]
Fix loading SMF meta-data > 127 bytes (no more g_critical abort)
nick_m [Tue, 28 Feb 2017 14:58:53 +0000 (01:58 +1100)]
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.
Robin Gareus [Tue, 28 Feb 2017 04:00:34 +0000 (05:00 +0100)]
Update GUI when playing mute-automation
Robin Gareus [Tue, 28 Feb 2017 03:59:45 +0000 (04:59 +0100)]
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)
Ben Loftis [Tue, 28 Feb 2017 02:51:04 +0000 (20:51 -0600)]
Likely fix for bug: cannot change track colors in older 4.x sessions.
nick_m [Mon, 27 Feb 2017 16:11:22 +0000 (03:11 +1100)]
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.
nick_m [Mon, 27 Feb 2017 14:05:39 +0000 (01:05 +1100)]
_group, group.. who cares?
nick_m [Mon, 27 Feb 2017 08:20:50 +0000 (19:20 +1100)]
clicking on curve text does the right thing.
nick_m [Mon, 27 Feb 2017 06:53:31 +0000 (17:53 +1100)]
initial rework of tempo text display (numbers are curve items)
- move tempo numbers to a layer above the curve.
- the offset of the text box in Marker is horrible here.
what to do?
nick_m [Mon, 27 Feb 2017 06:40:20 +0000 (17:40 +1100)]
fix crash in pinch drag
nick_m [Mon, 27 Feb 2017 02:44:23 +0000 (13:44 +1100)]
remove scroll wheel editing nonsense (tempo)
nick_m [Mon, 27 Feb 2017 02:14:53 +0000 (13:14 +1100)]
fix compilation
nick_m [Mon, 27 Feb 2017 01:29:55 +0000 (12:29 +1100)]
remove 'mouse:' verbose cursor when shift-dragging a curve.
nick_m [Mon, 27 Feb 2017 01:00:25 +0000 (12:00 +1100)]
only allow 'ramp to next' if the next tempo is actually different.
nick_m [Mon, 27 Feb 2017 00:59:16 +0000 (11:59 +1100)]
poor man's display of end tempo for ramps.
nick_m [Mon, 27 Feb 2017 00:41:48 +0000 (11:41 +1100)]
harden TempoMap::next_tempo_section () a bit.
nick_m [Mon, 27 Feb 2017 00:10:47 +0000 (11:10 +1100)]
Tempo Marks : set point colour by discontinuity, display non-quarter pulse if we are non-quarter.
- a jump in tempo by more than 1 ntpm results in a red
tempo mark pointer.
- ignore UIConfiguration::get_allow_non_quarter_pulse()
when displaying note type in the marker text (only display
note type if we are non-quarter).
nick_m [Sun, 26 Feb 2017 17:36:48 +0000 (04:36 +1100)]
remove commented line
nick_m [Sun, 26 Feb 2017 17:22:45 +0000 (04:22 +1100)]
fix tempo marker ramp to next.
nick_m [Sun, 26 Feb 2017 17:12:13 +0000 (04:12 +1100)]
amend last commit (don't depend on 0.0)
nick_m [Sun, 26 Feb 2017 17:01:11 +0000 (04:01 +1100)]
hopefully fix legacy session loading (tempo)
nick_m [Sun, 26 Feb 2017 16:03:55 +0000 (03:03 +1100)]
add right-click 'Ramp to Next' tempo marker menu item.
nick_m [Sun, 26 Feb 2017 15:26:08 +0000 (02:26 +1100)]
back to using shift-ctrl for pinch drag. set colours of affected curves.
nick_m [Sun, 26 Feb 2017 15:21:05 +0000 (02:21 +1100)]
add TempoMap::next_tempo_section()
nick_m [Sun, 26 Feb 2017 14:28:59 +0000 (01:28 +1100)]
fix TempoMap::frame_at_tempo().
nick_m [Sat, 25 Feb 2017 20:03:02 +0000 (07:03 +1100)]
highlight the tempo curve that is to be altered, modify text to suit.
nick_m [Sat, 25 Feb 2017 19:01:49 +0000 (06:01 +1100)]
fix verbose cursor display when shift-dragging end tempo.
nick_m [Sat, 25 Feb 2017 18:39:20 +0000 (05:39 +1100)]
restore pinch tempo. it now operates via shift + alt drag on the curve.
nick_m [Sat, 25 Feb 2017 18:07:51 +0000 (05:07 +1100)]
remove tempo end drag (the control drag on the curve). a;ter tempo marker drag.
- holding down shift before initiating a tempo mark drag
alters the end tempo of the previous one as before, but
this is now a separate drag.
- restore vertical dragging of the tempo mark to alter start/
end tempo. shift during the makrker drag alters start tempo.
xontrol + shift during the drag alters end tempo.
nick_m [Sat, 25 Feb 2017 17:02:59 +0000 (04:02 +1100)]
remove "Make Ramped" from right click tempo marker menu.
nick_m [Sat, 25 Feb 2017 15:52:58 +0000 (02:52 +1100)]
fix formatting of bbtruler drag verbose cursor.
nick_m [Sat, 25 Feb 2017 15:22:19 +0000 (02:22 +1100)]
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.
Ben Loftis [Sat, 25 Feb 2017 13:04:15 +0000 (07:04 -0600)]
compile fix
nick_m [Sat, 25 Feb 2017 12:32:02 +0000 (23:32 +1100)]
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).