ardour.git
7 years agoAllow to selectively use NSGLView Canvas
Robin Gareus [Tue, 21 Mar 2017 04:37:44 +0000 (05:37 +0100)]
Allow to selectively use NSGLView Canvas

Various GdkEvents are not yet handled correctly, eg. unpacking a widget
from its container does not unmap it, nor are remaining widgets in the
contained re-positioned (size allocation does not change, nor does the
mapping). This affects eg. Mixbus Strips

7 years agomatch name of synthesized property (fixed i386 builds)
Robin Gareus [Tue, 21 Mar 2017 02:46:32 +0000 (03:46 +0100)]
match name of synthesized property (fixed i386 builds)

7 years agoFix gcc4 builds
Robin Gareus [Tue, 21 Mar 2017 02:43:00 +0000 (03:43 +0100)]
Fix gcc4 builds

7 years agoMCP Add X-Touch Mini MCP map
Len Ovens [Tue, 21 Mar 2017 01:51:12 +0000 (18:51 -0700)]
MCP Add X-Touch Mini MCP map

7 years agofix OSX/PPC compilation
Robin Gareus [Tue, 21 Mar 2017 00:58:45 +0000 (01:58 +0100)]
fix OSX/PPC compilation

7 years agoTowards a consistent render() API.
Robin Gareus [Mon, 20 Mar 2017 16:11:56 +0000 (17:11 +0100)]
Towards a consistent render() API.

This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45

  void render (cairo_t*, cairo_rectagle*)
  void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)

ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.

7 years agoUse NSGLView for EditorSummary
Robin Gareus [Mon, 20 Mar 2017 15:32:05 +0000 (16:32 +0100)]
Use NSGLView for EditorSummary

7 years agoForward un/map events to NSGLView
Robin Gareus [Mon, 20 Mar 2017 15:31:42 +0000 (16:31 +0100)]
Forward un/map events to NSGLView

7 years agoNSGLView: default to hidden, add API to un/hide
Robin Gareus [Mon, 20 Mar 2017 15:31:01 +0000 (16:31 +0100)]
NSGLView: default to hidden, add API to un/hide

7 years agoEditor: forward unmap events to widgets
Robin Gareus [Mon, 20 Mar 2017 15:30:33 +0000 (16:30 +0100)]
Editor: forward unmap events to widgets

7 years agoAdd a EventBox wrapper to forward unmap events.
Robin Gareus [Mon, 20 Mar 2017 15:30:01 +0000 (16:30 +0100)]
Add a EventBox wrapper to forward unmap events.

7 years agoBasicUI moved toggle_click,toggle_roll and stop_forget from menu action to session...
Len Ovens [Mon, 20 Mar 2017 06:09:45 +0000 (23:09 -0700)]
BasicUI moved toggle_click,toggle_roll and stop_forget from menu action to session calls

7 years agoAllow CairoWidget to be backed by NSGLView
Robin Gareus [Mon, 20 Mar 2017 04:19:38 +0000 (05:19 +0100)]
Allow CairoWidget to be backed by NSGLView

7 years agoMove NSGlView into libgtkmm2ext
Robin Gareus [Mon, 20 Mar 2017 03:21:08 +0000 (04:21 +0100)]
Move NSGlView into libgtkmm2ext

This allows to re-use the concept with CairoWidget

7 years agoFix OSX canvas when used without openGL NSView
Robin Gareus [Mon, 20 Mar 2017 02:37:37 +0000 (03:37 +0100)]
Fix OSX canvas when used without openGL NSView

7 years agoUse NSGLView with patched gdk
Robin Gareus [Mon, 20 Mar 2017 01:15:15 +0000 (02:15 +0100)]
Use NSGLView with patched gdk

Special case Ardour's Canvas NSView to forward gdk-events
which are otherwise special-cased to read AU-views..

7 years agoPrepare NSView/OpenGL Canvas (to speed up rendering on [mac]OS[X]
Robin Gareus [Sun, 19 Mar 2017 21:40:58 +0000 (22:40 +0100)]
Prepare NSView/OpenGL Canvas (to speed up rendering on [mac]OS[X]

This avoids Coregraphics (cairo_quartz_surface..) competely.
The openGL texture bypasses CG's slow argb_image and CGSColorMask
methods.

7 years agoOSC: add feedback for /monitor/mute,dim,mono
Len Ovens [Sun, 19 Mar 2017 15:54:58 +0000 (08:54 -0700)]
OSC: add feedback for /monitor/mute,dim,mono

7 years agobasic_ui send midi_panic directly to session rather than through GUI
Len Ovens [Sun, 19 Mar 2017 14:27:24 +0000 (07:27 -0700)]
basic_ui send midi_panic directly to session rather than through GUI

7 years agoOSC add /monitor/mute,dim,mono
Len Ovens [Sun, 19 Mar 2017 03:05:04 +0000 (20:05 -0700)]
OSC add /monitor/mute,dim,mono

7 years agofix copy/paste issue, typename is not needed here
Robin Gareus [Sat, 18 Mar 2017 22:05:22 +0000 (23:05 +0100)]
fix copy/paste issue, typename is not needed here

7 years agoFix Group assign to new VCA
Robin Gareus [Sat, 18 Mar 2017 21:50:35 +0000 (22:50 +0100)]
Fix Group assign to new VCA

For reasons unknown[1], The vca-counter may not be in sync with
actual number of VCAs present.

[1] possibly some shared-ptr references at the time of session-save, or
old session compatibility.

7 years agoOSC fix toggle_monitor_mute/dim/mono in basic_ui
Len Ovens [Sat, 18 Mar 2017 21:14:02 +0000 (14:14 -0700)]
OSC fix toggle_monitor_mute/dim/mono in basic_ui

7 years agoResolve copy-c'tor and assignment issue with TempoMap
Robin Gareus [Sat, 18 Mar 2017 20:31:34 +0000 (21:31 +0100)]
Resolve copy-c'tor and assignment issue with TempoMap

There are various issues with copy-construction: no readlock is taken,
Tempo/Metric Sections were static-cast to non-const pointers and passed
as references...

This remove the [now] unused copy-c'tor, and fixes various const issues.

7 years agoAdd example script to access midi-region events
Robin Gareus [Sat, 18 Mar 2017 18:10:19 +0000 (19:10 +0100)]
Add example script to access midi-region events

7 years agoLua bindings to access MIDI region/source note-events
Robin Gareus [Sat, 18 Mar 2017 17:37:19 +0000 (18:37 +0100)]
Lua bindings to access MIDI region/source note-events

7 years agoPrefer const references: Beat-Converter does not modify the TempoMap
Robin Gareus [Sat, 18 Mar 2017 17:33:17 +0000 (18:33 +0100)]
Prefer const references: Beat-Converter does not modify the TempoMap

7 years agoFix LuaBindings TypeList copy-ctor
Robin Gareus [Sat, 18 Mar 2017 17:28:44 +0000 (18:28 +0100)]
Fix LuaBindings TypeList copy-ctor

Determining the class type copy constructed references.
Const-references passed to C++ functions were copies.

7 years agoHide SoundCloud uploader in optimized builds until it's fixed
Robin Gareus [Sat, 18 Mar 2017 14:05:54 +0000 (15:05 +0100)]
Hide SoundCloud uploader in optimized builds until it's fixed

7 years agoMake Lua std::set bindings more generic, (prepare for multiset etc)
Robin Gareus [Sat, 18 Mar 2017 13:34:02 +0000 (14:34 +0100)]
Make Lua std::set bindings more generic, (prepare for multiset etc)

7 years agoOh boy!
Robin Gareus [Sat, 18 Mar 2017 13:32:48 +0000 (14:32 +0100)]
Oh boy!

7 years agoDon't push WriteMemoryCallback into global namespace
Robin Gareus [Sat, 18 Mar 2017 13:27:19 +0000 (14:27 +0100)]
Don't push WriteMemoryCallback into global namespace

7 years agoAdd newline to DEBUG::Soundcloud so that it's readable & flushed
Robin Gareus [Sat, 18 Mar 2017 13:26:53 +0000 (14:26 +0100)]
Add newline to DEBUG::Soundcloud so that it's readable & flushed

7 years agoUpdate Japanese translation
Hiroki Inagaki [Sun, 12 Mar 2017 08:28:17 +0000 (00:28 -0800)]
Update Japanese translation

7 years agoLua VAMP plugin list: print value-names
Robin Gareus [Fri, 17 Mar 2017 17:27:45 +0000 (18:27 +0100)]
Lua VAMP plugin list: print value-names

7 years agoAdd example Lua script to print region transients
Robin Gareus [Fri, 17 Mar 2017 17:13:16 +0000 (18:13 +0100)]
Add example Lua script to print region transients

7 years agoLua bindings for libardour transient-analysis
Robin Gareus [Fri, 17 Mar 2017 17:12:50 +0000 (18:12 +0100)]
Lua bindings for libardour transient-analysis

7 years agoSnow White and the Pharaoh (mac rendering)
Robin Gareus [Fri, 17 Mar 2017 15:54:16 +0000 (16:54 +0100)]
Snow White and the Pharaoh (mac rendering)

Once upon a time there was a beautiful Apple tree in palace of
GtkAnkhAmun in Cairo...

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