ardour.git
7 years agoNO-OP: whitespace
Robin Gareus [Fri, 17 Mar 2017 15:03:59 +0000 (16:03 +0100)]
NO-OP: whitespace

7 years agodrop lua documentation for deprecated "sameinstance()"
Robin Gareus [Thu, 16 Mar 2017 19:56:32 +0000 (20:56 +0100)]
drop lua documentation for deprecated "sameinstance()"

7 years agoUpdate scripts to use == operator
Robin Gareus [Thu, 16 Mar 2017 19:55:41 +0000 (20:55 +0100)]
Update scripts to use == operator

7 years agoLua: provide instance-equal check as '==' comparator.
Robin Gareus [Thu, 16 Mar 2017 19:08:17 +0000 (20:08 +0100)]
Lua: provide instance-equal check as '==' comparator.

This deprecated explicit the "sameinstance()" method

7 years agoSanitize cubic-interpolation code (NO-OP safe for float inaccuracies)
Robin Gareus [Thu, 16 Mar 2017 13:22:00 +0000 (14:22 +0100)]
Sanitize cubic-interpolation code (NO-OP safe for float inaccuracies)

Prefer fmod(x, 1) over (x - floor (x))

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Thu, 16 Mar 2017 10:20:27 +0000 (10:20 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoFix note-grid, canvas bounding-box offset.
Robin Gareus [Thu, 16 Mar 2017 02:47:46 +0000 (03:47 +0100)]
Fix note-grid, canvas bounding-box offset.

Note lines on a MIDI-track were able to exceed the time-axis' height
towards the top. If a MIDI track was at the top, the TAV's canvas-group
would increase the overall bounding-box of the track-area and allow
tracks to visually bleed into the time markers group.

7 years agoconsolidate context-menu popup methods
Robin Gareus [Thu, 16 Mar 2017 01:25:53 +0000 (02:25 +0100)]
consolidate context-menu popup methods

7 years agoconsistent use of context-menu popups
Robin Gareus [Thu, 16 Mar 2017 01:24:57 +0000 (02:24 +0100)]
consistent use of context-menu popups

7 years agoPlugin another menu memory leak.
Robin Gareus [Thu, 16 Mar 2017 00:50:30 +0000 (01:50 +0100)]
Plugin another menu memory leak.

7 years agoManage some Menus (memory leaks)
Robin Gareus [Wed, 15 Mar 2017 23:48:36 +0000 (00:48 +0100)]
Manage some Menus (memory leaks)

7 years agoOSC: fix pan stuck at centre.
Len Ovens [Wed, 15 Mar 2017 20:24:13 +0000 (13:24 -0700)]
OSC: fix pan stuck at centre.

7 years agoOSC amend access_action with action in line to ignore if param is 0
Len Ovens [Wed, 15 Mar 2017 16:20:42 +0000 (09:20 -0700)]
OSC amend access_action with action in line to ignore if param is 0

7 years agofix windows builds
Robin Gareus [Wed, 15 Mar 2017 11:52:16 +0000 (12:52 +0100)]
fix windows builds

7 years agoamend c9b1e6dbe
Robin Gareus [Wed, 15 Mar 2017 11:47:14 +0000 (12:47 +0100)]
amend c9b1e6dbe

7 years agoTweak idle-o-meter: reset-button & acquisition time display
Robin Gareus [Wed, 15 Mar 2017 11:38:11 +0000 (12:38 +0100)]
Tweak idle-o-meter: reset-button & acquisition time display

7 years agoAdd GUI-Idle debugging/profiling util
Robin Gareus [Wed, 15 Mar 2017 10:34:05 +0000 (11:34 +0100)]
Add GUI-Idle debugging/profiling util

7 years agoOSC: add new /access_action/group/action f 1 for float only controllers
Len Ovens [Wed, 15 Mar 2017 01:47:41 +0000 (18:47 -0700)]
OSC: add new /access_action/group/action f 1 for float only controllers

7 years agoUpdate stripable color on the fly
Robin Gareus [Tue, 14 Mar 2017 16:03:14 +0000 (17:03 +0100)]
Update stripable color on the fly

7 years agoFix Faderport Proj button (show-editor action)
Ben Loftis [Tue, 14 Mar 2017 14:27:59 +0000 (09:27 -0500)]
Fix Faderport Proj button (show-editor action)

7 years agoBundle a session-callback script
Robin Gareus [Tue, 14 Mar 2017 02:29:03 +0000 (03:29 +0100)]
Bundle a session-callback script

7 years agoOSC debug: "ALL" == all messages incl. invalid ones
Robin Gareus [Mon, 13 Mar 2017 21:35:07 +0000 (22:35 +0100)]
OSC debug: "ALL" == all messages incl. invalid ones

7 years agoUse a label for required script instance parameters
Robin Gareus [Mon, 13 Mar 2017 20:25:16 +0000 (21:25 +0100)]
Use a label for required script instance parameters

7 years agoClean up existing bindings on reset
Robin Gareus [Mon, 13 Mar 2017 19:09:10 +0000 (20:09 +0100)]
Clean up existing bindings on reset

7 years agoAdd track/bus rename safeguards to the backend (handy for scripting)
Robin Gareus [Mon, 13 Mar 2017 17:44:37 +0000 (18:44 +0100)]
Add track/bus rename safeguards to the backend (handy for scripting)

7 years agoDefault to a pastel color tetrad palette.
Robin Gareus [Mon, 13 Mar 2017 17:01:08 +0000 (18:01 +0100)]
Default to a pastel color tetrad palette.

7 years agoplugin scan tweaks: don't verbosely log by default, bump timeout
Robin Gareus [Mon, 13 Mar 2017 15:13:38 +0000 (16:13 +0100)]
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)

7 years agoremove cruft; superseded by ControlGroup::use_me
Robin Gareus [Sun, 12 Mar 2017 19:15:55 +0000 (20:15 +0100)]
remove cruft; superseded by ControlGroup::use_me

7 years agoPrevent multiple color-picker dialogs for a single stripable
Robin Gareus [Sun, 12 Mar 2017 15:54:38 +0000 (16:54 +0100)]
Prevent multiple color-picker dialogs for a single stripable

7 years agoPreparations to keep track of stripable color-dialogs.
Robin Gareus [Sun, 12 Mar 2017 15:54:18 +0000 (16:54 +0100)]
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,..)

7 years agoFix issue with automation-playback constantly marking a session dirty.
Robin Gareus [Sun, 12 Mar 2017 01:37:30 +0000 (02:37 +0100)]
Fix issue with automation-playback constantly marking a session dirty.

7 years agoOptimize Session::set_dirty()
Robin Gareus [Sun, 12 Mar 2017 01:36:33 +0000 (02:36 +0100)]
Optimize Session::set_dirty()

7 years agoPrepare for graceful case-by-case fallback of VST Bypass
Robin Gareus [Sun, 12 Mar 2017 00:24:40 +0000 (01:24 +0100)]
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.

7 years agoUpdate selection-clock when region properties change
Robin Gareus [Sun, 12 Mar 2017 00:20:49 +0000 (01:20 +0100)]
Update selection-clock when region properties change

7 years agoAdd API to check if a given region is part of the region-selection
Robin Gareus [Sun, 12 Mar 2017 00:20:14 +0000 (01:20 +0100)]
Add API to check if a given region is part of the region-selection

7 years agoImprove a-delay to follow tempo-ramps & BPM changes
Robin Gareus [Sat, 11 Mar 2017 22:10:44 +0000 (23:10 +0100)]
Improve a-delay to follow tempo-ramps & BPM changes

This is a bit of a hotfix, not a proper solution

7 years agoFader Group override (allow to enable on disabled groups/predicates)
Robin Gareus [Sat, 11 Mar 2017 18:00:06 +0000 (19:00 +0100)]
Fader Group override (allow to enable on disabled groups/predicates)

7 years agoFix Controllable::InverseGroup behavior.
Robin Gareus [Sat, 11 Mar 2017 17:48:37 +0000 (18:48 +0100)]
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()

7 years agocreate_action_group -> get_or_create_action_group
Robin Gareus [Sat, 11 Mar 2017 14:32:55 +0000 (15:32 +0100)]
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 6af51b52ffd6 (both window_manager.cc
and ardour_ui_ed.cc use the "Window" group.

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 11 Mar 2017 11:52:22 +0000 (11:52 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoTweak tempo-marker grab-handle (extend left/right)
Robin Gareus [Sat, 11 Mar 2017 04:14:32 +0000 (05:14 +0100)]
Tweak tempo-marker grab-handle (extend left/right)

7 years agoDisable Retina/Appple pango text-width workaround
Robin Gareus [Sat, 11 Mar 2017 04:13:17 +0000 (05:13 +0100)]
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.

7 years agoFix possible segfault in multi-bus AUs.
Robin Gareus [Sat, 11 Mar 2017 04:09:25 +0000 (05:09 +0100)]
Fix possible segfault in multi-bus AUs.

7 years agoAllow to customize color-picker-palette
Robin Gareus [Sat, 11 Mar 2017 01:23:34 +0000 (02:23 +0100)]
Allow to customize color-picker-palette

7 years agoShow Stripable name in color-picker dialog.
Robin Gareus [Fri, 10 Mar 2017 23:52:17 +0000 (00:52 +0100)]
Show Stripable name in color-picker dialog.

7 years agoNO-OP whitespace
Robin Gareus [Fri, 10 Mar 2017 23:36:47 +0000 (00:36 +0100)]
NO-OP whitespace

7 years agoRemove old modal get_color API.
Robin Gareus [Fri, 10 Mar 2017 23:35:26 +0000 (00:35 +0100)]
Remove old modal get_color API.

7 years agoUpdate color stripable color-picker(s)
Robin Gareus [Fri, 10 Mar 2017 22:51:39 +0000 (23:51 +0100)]
Update color stripable color-picker(s)

* consistent behavior (Route, VCA)
* non-modal
* a single color picker for each RouteUI/VCA at most
* fix bug: VCA picker staying around even when VCA was deleted

7 years agoFix solo/mute when loading old (4.x) sessions.
Robin Gareus [Fri, 10 Mar 2017 20:42:02 +0000 (21:42 +0100)]
Fix solo/mute when loading old (4.x) sessions.

7 years agoSave/Restore TimeInfoBox clock modes
Robin Gareus [Fri, 10 Mar 2017 19:39:46 +0000 (20:39 +0100)]
Save/Restore TimeInfoBox clock modes

The clocks are not transient, so ARDOUR_UI::store_clock_modes takes
care of saving the state and the clock restores itself.

7 years agoFix LocationUI clock-mode save/load & caching
Robin Gareus [Fri, 10 Mar 2017 18:37:02 +0000 (19:37 +0100)]
Fix LocationUI clock-mode save/load & caching

(sidebar uses explicit LocationUI::set_state(), Location Window
implicit set_session)

7 years agoUse dedicated "show editor/mixer" actions
Robin Gareus [Fri, 10 Mar 2017 16:50:44 +0000 (17:50 +0100)]
Use dedicated "show editor/mixer" actions

7 years agoUse Tempo Curve color for measure line beats. Fixes 4930.
Ben Loftis [Fri, 10 Mar 2017 15:46:37 +0000 (09:46 -0600)]
Use Tempo Curve color for measure line beats. Fixes 4930.

7 years agoFix likely thinko in bbt ruler.
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.

7 years agocompute_bbt_ruler_scale should not be necessary for every redraw of the timeline...
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...

7 years agofix incorrect property change in AudioRegion::set_fade_out()
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

7 years agoFix crash when removing time from track with automation
Tim Mayberry [Fri, 10 Mar 2017 12:59:58 +0000 (22:59 +1000)]
Fix crash when removing time from track with automation

Resolves : #7287

7 years agoFaderport uses the Mix and Proj buttons to summon mixer and editor; there is no longe...
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.

7 years agofix potential crash in LV2Plugin::connect_and_run() when music starts after 0
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

7 years agoAllow Edit -> Crop to work with edit point set to mouse
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

7 years agoAllow Separate using Loop/Punch range to work with edit point set to mouse
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

7 years agofix a-reverb, cut tail on deactivate, plug memory-leak
Robin Gareus [Wed, 8 Mar 2017 22:04:16 +0000 (23:04 +0100)]
fix a-reverb, cut tail on deactivate, plug memory-leak

7 years agoConsolidate code
Robin Gareus [Wed, 8 Mar 2017 21:17:16 +0000 (22:17 +0100)]
Consolidate code

7 years agoThe return of the Mixbus Send-options (allow aux-feedback override)
Robin Gareus [Wed, 8 Mar 2017 18:00:04 +0000 (19:00 +0100)]
The return of the Mixbus Send-options (allow aux-feedback override)

7 years agoDon't show Group UI for the master-bus
Robin Gareus [Wed, 8 Mar 2017 17:37:36 +0000 (18:37 +0100)]
Don't show Group UI for the master-bus

7 years agoPrevent adding "master" to a group
Robin Gareus [Wed, 8 Mar 2017 16:49:01 +0000 (17:49 +0100)]
Prevent adding "master" to a group

7 years agoMixer sidebar: show group context menu on right-click only
Robin Gareus [Wed, 8 Mar 2017 15:22:17 +0000 (16:22 +0100)]
Mixer sidebar: show group context menu on right-click only

7 years agoPop down dialog before re-scanning VSTs
Robin Gareus [Wed, 8 Mar 2017 11:15:42 +0000 (12:15 +0100)]
Pop down dialog before re-scanning VSTs

7 years agoVST UI sizeing rework
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)

7 years agoPrepare moving to a dedicated x-thread signal for VST UI resizing
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)

7 years agoremove cruft
Robin Gareus [Tue, 7 Mar 2017 01:55:22 +0000 (02:55 +0100)]
remove cruft

7 years agoFix copy/paste typo -- MacOSX builds
Robin Gareus [Tue, 7 Mar 2017 04:46:21 +0000 (05:46 +0100)]
Fix copy/paste typo -- MacOSX builds

7 years agosnapped pencil drawing of new midi regions cannot be zero (7271).
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.

7 years agotwo new action scripts (no icons yet)
Robin Gareus [Mon, 6 Mar 2017 23:32:19 +0000 (00:32 +0100)]
two new action scripts (no icons yet)

7 years agoRework VST initialization:
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)

7 years agoallow setting end bpm in new tempo from tempo dialog.
nick_m [Mon, 6 Mar 2017 17:00:38 +0000 (04:00 +1100)]
allow setting end bpm in new tempo from tempo dialog.

7 years agorework tempo dialog formatting, add end bpm entry.
nick_m [Mon, 6 Mar 2017 16:59:42 +0000 (03:59 +1100)]
rework tempo dialog formatting, add end bpm entry.

7 years agofix crash when dragging region from list.
nick_m [Mon, 6 Mar 2017 15:30:48 +0000 (02:30 +1100)]
fix crash when dragging region from list.

7 years agoFix save-as progress dialog.
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.

7 years agoannounce what changed correctly in MidiRegion::model_shifted()
nick_m [Mon, 6 Mar 2017 14:21:45 +0000 (01:21 +1100)]
announce what changed correctly in MidiRegion::model_shifted()

7 years agomore linked midi region trim drag fixes.
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.

7 years agoMore fun with LinuxVSTs & threading
Robin Gareus [Mon, 6 Mar 2017 00:48:46 +0000 (01:48 +0100)]
More fun with LinuxVSTs & threading

7 years agoAdd support for VST effSetBypass #7266
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.

7 years agoClose the LXVST X11 connection for good measure
Robin Gareus [Sun, 5 Mar 2017 21:15:30 +0000 (22:15 +0100)]
Close the LXVST X11 connection for good measure

7 years agoWork around a crash at exit for Linux VST UIs abusing pthread-keys.
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.

7 years agoFix AFL/PFL from MIDI tracks without audio (zero buffers)
Robin Gareus [Sun, 5 Mar 2017 20:18:18 +0000 (21:18 +0100)]
Fix AFL/PFL from MIDI tracks without audio (zero buffers)

7 years agoRevert "some further debugging, just in case"
Robin Gareus [Sun, 5 Mar 2017 16:01:17 +0000 (17:01 +0100)]
Revert "some further debugging, just in case"

This reverts commit 04ed05ecc4629d85d8f1fd3d6756669a42fb762b.

7 years agosome further debugging, just in case
Robin Gareus [Sun, 5 Mar 2017 15:45:34 +0000 (16:45 +0100)]
some further debugging, just in case

7 years agoPrevent duplicate self-delete.
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)

7 years agoNO-OP: whitespace
Robin Gareus [Sun, 5 Mar 2017 15:35:16 +0000 (16:35 +0100)]
NO-OP: whitespace

7 years agoensure no movement when draggin regions with x constrained.
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

7 years agofix undo if a midi region start trim changed the source offset.
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)

7 years agoRemove space between _ and (
Len Ovens [Sat, 4 Mar 2017 20:33:22 +0000 (12:33 -0800)]
Remove space between _ and (

7 years agofix uninitialised variable (fixes linked midi region negative start oatch)
nick_m [Sat, 4 Mar 2017 18:38:47 +0000 (05:38 +1100)]
fix uninitialised variable (fixes linked midi region negative start oatch)

7 years agono-op - comment/whitespace fixes.
nick_m [Sat, 4 Mar 2017 18:34:41 +0000 (05:34 +1100)]
no-op - comment/whitespace fixes.

7 years agotempo editing updates
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.

7 years agoNotify UI when plugin state is copied/replaced
Robin Gareus [Sat, 4 Mar 2017 17:25:37 +0000 (18:25 +0100)]
Notify UI when plugin state is copied/replaced

7 years agoDon't allow GMCP to override loading_state_version
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)

7 years agoundoing a create note drag restores screen position.
nick_m [Sat, 4 Mar 2017 15:06:49 +0000 (02:06 +1100)]
undoing a create note drag restores screen position.

7 years agorework percussive hit spraying.
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()