ardour.git
6 years agoAdd qex + qcon mcp device file (expander on left). Submitted by Michal Barhon.
Ben Loftis [Sun, 11 Feb 2018 00:01:27 +0000 (18:01 -0600)]
Add qex + qcon mcp device file (expander on left). Submitted by Michal Barhon.

6 years agoResolve -Wreorder in qcon code.
Ben Loftis [Sat, 10 Feb 2018 23:59:37 +0000 (17:59 -0600)]
Resolve -Wreorder in qcon code.

6 years agoCopy+Paste thinko: use passed-in variable instead of member variable. Maybe fix...
Ben Loftis [Sat, 10 Feb 2018 15:06:46 +0000 (09:06 -0600)]
Copy+Paste thinko: use passed-in variable instead of member variable.  Maybe fix potential crash.

6 years agoCairo-fix cursor lines so they align perfectly with Rulers, Grids, and region edges.
Ben Loftis [Sat, 10 Feb 2018 13:51:28 +0000 (07:51 -0600)]
Cairo-fix cursor lines so they align perfectly with Rulers, Grids, and region edges.

6 years agoRemove unused code.
Ben Loftis [Fri, 9 Feb 2018 19:44:49 +0000 (13:44 -0600)]
Remove unused code.

6 years agoFix potential crash with EditAtSelectedMarker, when no marker is selected.
Ben Loftis [Fri, 9 Feb 2018 19:43:20 +0000 (13:43 -0600)]
Fix potential crash with EditAtSelectedMarker, when no marker is selected.

6 years agonew_grid: Add grid_lines.cc
Ben Loftis [Fri, 9 Feb 2018 17:21:40 +0000 (11:21 -0600)]
new_grid:  Add grid_lines.cc

6 years agonew_grid: Rewrite of Snap and Grid. (squashed commit)
Ben Loftis [Fri, 9 Feb 2018 15:59:39 +0000 (09:59 -0600)]
new_grid:  Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.

6 years agonew_grid: MidiRegionView::motion should propagate thru RegionView, so snapped_cursor...
Ben Loftis [Wed, 7 Feb 2018 01:49:32 +0000 (19:49 -0600)]
new_grid: MidiRegionView::motion should propagate thru RegionView, so snapped_cursor is updated.  This probably fixes other bugs as well.

6 years agonew_snap: Snapped Cursor ( squashed commit )
Ben Loftis [Fri, 9 Feb 2018 14:21:45 +0000 (08:21 -0600)]
new_snap:  Snapped Cursor ( squashed commit )
Snapped Cursor is a line that follows the edit point, and indicates where the operation will occur.
This replaces and extends the line that appears with the Cut tool.
New associated preferences:  snap_threshold and show_snap_cursor.

6 years agoOSC: clean up jog mode, simplify feedback
Len Ovens [Mon, 5 Feb 2018 18:39:58 +0000 (10:39 -0800)]
OSC: clean up jog mode, simplify feedback

6 years agoMSVC only allows static class members to be initialised in the class declaration
John Emmas [Sat, 3 Feb 2018 14:58:45 +0000 (14:58 +0000)]
MSVC only allows static class members to be initialised in the class declaration

6 years agoMake sure that 'libardour-config,h' only gets #included when building with waf (as...
John Emmas [Sat, 3 Feb 2018 13:55:37 +0000 (13:55 +0000)]
Make sure that 'libardour-config,h' only gets #included when building with waf (as it only gets generated when building with waf)

When building with MSVC this was getting #included in a few places which had the effect of making my session files get generated in a very old format.

6 years agoFurther defer changes of plugin Tags+Status, and consolidate code to call PluginListC...
Ben Loftis [Sat, 3 Feb 2018 01:25:01 +0000 (19:25 -0600)]
Further defer changes of plugin Tags+Status, and consolidate code to call PluginListChanged only once.

6 years agoFixes for the iCON Qcon mcp device - LED rings. Submitted by Michal Barhon : mbarhon...
Ben Loftis [Fri, 2 Feb 2018 15:26:17 +0000 (09:26 -0600)]
Fixes for the iCON Qcon mcp device - LED rings.  Submitted by Michal Barhon : mbarhon@seznam.cz

6 years agoOSC: jog mode and jog mode name should be sent at refresh
Len Ovens [Fri, 2 Feb 2018 06:03:04 +0000 (22:03 -0800)]
OSC: jog mode and jog mode name should be sent at refresh

6 years agoSupport for the iCON Qcon mcp device - sysex strings. Submitted by Michal Barhon.
Ben Loftis [Thu, 1 Feb 2018 20:39:17 +0000 (14:39 -0600)]
Support for the iCON Qcon mcp device - sysex strings.  Submitted by Michal Barhon.

6 years agoUpdated mcp files for iCON Qcon controller.
Ben Loftis [Thu, 1 Feb 2018 20:32:48 +0000 (14:32 -0600)]
Updated mcp files for iCON Qcon controller.

6 years agoAdd a script to jump to a named marker
Robin Gareus [Thu, 1 Feb 2018 01:18:40 +0000 (02:18 +0100)]
Add a script to jump to a named marker

6 years agoOSC: Add group name feedback to strips
Len Ovens [Wed, 31 Jan 2018 19:47:03 +0000 (11:47 -0800)]
OSC: Add group name feedback to strips

6 years agoCreate M-Audio_Axiom_AIR_Mini_32.map
Shawn Doherty [Wed, 31 Jan 2018 15:34:19 +0000 (10:34 -0500)]
Create M-Audio_Axiom_AIR_Mini_32.map

List CC events for transport controls and knobs. List Note events for Trigger Pads. Map transport controls and knobs.

6 years agoRevert "Clean up help-text, use multi-line single labels"
Robin Gareus [Wed, 31 Jan 2018 14:21:00 +0000 (15:21 +0100)]
Revert "Clean up help-text, use multi-line single labels"

This reverts commit 17cdc8114c0efa568f4a2f6f5eefb43c747f3b0c.

Using table row-pacing between labels provides a nicer layout
(less vertical blank space)

6 years agoOnly list hidden plugins with "Show hidden only"
Robin Gareus [Wed, 31 Jan 2018 14:16:49 +0000 (15:16 +0100)]
Only list hidden plugins with "Show hidden only"

6 years agoUse new tag-search API
Robin Gareus [Wed, 31 Jan 2018 13:04:14 +0000 (14:04 +0100)]
Use new tag-search API

This fixes an issue where "By Tag" dropdown contained empty menu-items,
in case a hidden plugin is the only one with a given tag.

6 years agoAllow to filter tags by hidden + favorite
Robin Gareus [Wed, 31 Jan 2018 13:02:44 +0000 (14:02 +0100)]
Allow to filter tags by hidden + favorite

This in preparation to not populate context-menus with unused tags.

6 years agoClean up help-text, use multi-line single labels
Robin Gareus [Wed, 31 Jan 2018 13:01:43 +0000 (14:01 +0100)]
Clean up help-text, use multi-line single labels

6 years agoFix sensitivity of Tag-reset-button and row activation
Robin Gareus [Wed, 31 Jan 2018 03:50:22 +0000 (04:50 +0100)]
Fix sensitivity of Tag-reset-button and row activation

6 years agoconst where const is due
Robin Gareus [Wed, 31 Jan 2018 02:34:21 +0000 (03:34 +0100)]
const where const is due

6 years agoText case change (_VSTInfo::Category needs to be capitalized)
John Emmas [Wed, 31 Jan 2018 11:01:56 +0000 (11:01 +0000)]
Text case change (_VSTInfo::Category needs to be capitalized)

6 years agoFix editing/replacing plugin-tags
Robin Gareus [Tue, 30 Jan 2018 19:03:13 +0000 (20:03 +0100)]
Fix editing/replacing plugin-tags

6 years agoPlugin-Selector: Use ArdourButton instead of Gtk::CheckButton
Robin Gareus [Tue, 30 Jan 2018 18:51:45 +0000 (19:51 +0100)]
Plugin-Selector: Use ArdourButton instead of Gtk::CheckButton

6 years agoArdour Button Toggle explosion
Robin Gareus [Tue, 30 Jan 2018 17:33:15 +0000 (18:33 +0100)]
Ardour Button Toggle explosion

Add option to use ArduorButton as standalone Toggle/Checkbox.
Usually ArdourButton relegates this to Actions or is backed by Config.
This allows to use the Button as standalone Toggle, get_active()
It should maybe be a derived Class, but ArdourButton is already beyond
that..

6 years agoRemove GUI-side LADSPA author-name tweaks.
Robin Gareus [Tue, 30 Jan 2018 18:12:47 +0000 (19:12 +0100)]
Remove GUI-side LADSPA author-name tweaks.

6 years agoMove LADSPA Author string sanitation to libardour.
Robin Gareus [Tue, 30 Jan 2018 18:12:01 +0000 (19:12 +0100)]
Move LADSPA Author string sanitation to libardour.

(Also allow dot as valid char: e.g. "James T. Kirk" but keep stripping
common suffixes like <e@mail>.

6 years agoPlugin-Selector replace Gtk::ComboBox with ArdourDropdown
Robin Gareus [Tue, 30 Jan 2018 15:27:55 +0000 (16:27 +0100)]
Plugin-Selector replace Gtk::ComboBox with ArdourDropdown

6 years agoArdourButton: honor text-ellipsis width for size-request
Robin Gareus [Tue, 30 Jan 2018 15:27:18 +0000 (16:27 +0100)]
ArdourButton: honor text-ellipsis width for size-request

6 years agoAdd ArdourDropdown API for use as dumb text dropdown.
Robin Gareus [Tue, 30 Jan 2018 14:21:45 +0000 (15:21 +0100)]
Add ArdourDropdown API for use as dumb text dropdown.

6 years agotom's-loop: Allow pasting at loop-end (needs future rework after nutempo)
Robin Gareus [Tue, 30 Jan 2018 13:44:00 +0000 (14:44 +0100)]
tom's-loop: Allow pasting at loop-end (needs future rework after nutempo)

6 years agoUse backend-API to reset tags, remove unused category
Robin Gareus [Tue, 30 Jan 2018 12:10:32 +0000 (13:10 +0100)]
Use backend-API to reset tags, remove unused category

6 years agoAdd backend-API to reset plugin tags
Robin Gareus [Tue, 30 Jan 2018 12:10:00 +0000 (13:10 +0100)]
Add backend-API to reset plugin tags

6 years agoDon't automatically open plugin-GUI if there are no controls
Robin Gareus [Tue, 30 Jan 2018 11:40:22 +0000 (12:40 +0100)]
Don't automatically open plugin-GUI if there are no controls

6 years agoFurther tweaks to Plugin-Selector:
Robin Gareus [Tue, 30 Jan 2018 11:40:06 +0000 (12:40 +0100)]
Further tweaks to Plugin-Selector:

* update current search when toggling search_ignore_checkbox
* take filter-view into account when changing plugin-status,
  immediately hide hidden or un-favorerd plugins from view.
* default to "effects only"

6 years agoFix plugin factory tags
Robin Gareus [Tue, 30 Jan 2018 02:59:47 +0000 (03:59 +0100)]
Fix plugin factory tags

* tag-file is loaded early on (before scanning plugin) retain factory
  set tag from file, don't use plugin-categories.
* load user plugin-tag file after factory plugin-tag file

6 years agoPlugin Selector: ui tweaks.
Ben Loftis [Tue, 30 Jan 2018 02:15:06 +0000 (20:15 -0600)]
Plugin Selector: ui tweaks.

6 years agoClean up tag tokenization code
Robin Gareus [Tue, 30 Jan 2018 02:12:09 +0000 (03:12 +0100)]
Clean up tag tokenization code

* accept " ,\n" as separator
* produce only " " as separator
* squelch error message for empty-string tokenization
* clean up code, use existing API methods for lower-case transform

6 years agoAdd factory plugin tags + favorites
Robin Gareus [Tue, 30 Jan 2018 00:32:59 +0000 (01:32 +0100)]
Add factory plugin tags + favorites

6 years agoRemove unused API
Robin Gareus [Tue, 30 Jan 2018 00:32:32 +0000 (01:32 +0100)]
Remove unused API

6 years agoMajor overhaul of plugin-selector: tag-management & filter
Robin Gareus [Tue, 30 Jan 2018 00:32:15 +0000 (01:32 +0100)]
Major overhaul of plugin-selector: tag-management & filter

This is a squashed commit of various 'nutag' topic branch commits:
* re-layout plugin-manager
* remove category, add tags
* combine I/O columns in list.
* update filter to search name and tags

6 years agoAdd plugin tag-filter to Mixer-favorites sidebar
Robin Gareus [Mon, 29 Jan 2018 23:45:42 +0000 (00:45 +0100)]
Add plugin tag-filter to Mixer-favorites sidebar

6 years agoNew PluginStatusesChanged API
Robin Gareus [Mon, 29 Jan 2018 23:45:02 +0000 (00:45 +0100)]
New PluginStatusesChanged API

6 years agoNO-OP: whitespace
Robin Gareus [Mon, 29 Jan 2018 23:44:09 +0000 (00:44 +0100)]
NO-OP: whitespace

6 years agoUpdate PluginManager: implement plugin tags
Robin Gareus [Mon, 29 Jan 2018 23:33:44 +0000 (00:33 +0100)]
Update PluginManager: implement plugin tags

* move plugin-meta-data (status, tag) into dedicated sub-dir
* load/save space separated tags
* pre-seed tags with plugin-category (if unset)
* breaking API change: PluginStatusesChanged() signal includes change

6 years agoPrepare for PluginStatusesChanged API change
Robin Gareus [Mon, 29 Jan 2018 23:33:02 +0000 (00:33 +0100)]
Prepare for PluginStatusesChanged API change

6 years agoUpdate plugin classification
Robin Gareus [Mon, 29 Jan 2018 22:55:20 +0000 (23:55 +0100)]
Update plugin classification

* dedicated API for classes (effect, instrument, util)
* prepare for tags (rather than categories)
* prepare removal of per-plugin in_category() API

6 years agoPrepare plugin-meta-data config-dir and files
Robin Gareus [Mon, 29 Jan 2018 21:29:52 +0000 (22:29 +0100)]
Prepare plugin-meta-data config-dir and files

6 years agoLuaInstance: prepare for 3 argument signal/slot callbacks
Robin Gareus [Mon, 29 Jan 2018 21:21:59 +0000 (22:21 +0100)]
LuaInstance: prepare for 3 argument signal/slot callbacks

6 years agoAdds support for building in Mac OS High Sierra
Chris Dennis [Wed, 10 Jan 2018 19:15:00 +0000 (14:15 -0500)]
Adds support for building in Mac OS High Sierra

6 years agoAdd icon for MIDI sysex transmit script
Robin Gareus [Sun, 28 Jan 2018 11:58:35 +0000 (12:58 +0100)]
Add icon for MIDI sysex transmit script

6 years agoFP8/16: Update Plugin List when Selection changes.
Robin Gareus [Sat, 27 Jan 2018 19:54:17 +0000 (20:54 +0100)]
FP8/16: Update Plugin List when Selection changes.

6 years agoFP8/16: Don't show Channelstrip as Plugin, use well-known API only
Robin Gareus [Sat, 27 Jan 2018 19:53:31 +0000 (20:53 +0100)]
FP8/16: Don't show Channelstrip as Plugin, use well-known API only

6 years agoEmit a single change when changing track selection in the mixer.
Robin Gareus [Sat, 27 Jan 2018 19:51:32 +0000 (20:51 +0100)]
Emit a single change when changing track selection in the mixer.

Previously changing track-selection emitted 2 "stripable_selection_changed"
events: select (nil); select (new).

This fixes an issue with the FaderPort ctrl surface when editing plugins:
Switching from one track to another follows selection, but if no track is
selected, the FP switches from "Edit Plugins" to "Track" mode.

6 years agoremove accidentally commited file
Robin Gareus [Sat, 27 Jan 2018 19:48:55 +0000 (20:48 +0100)]
remove accidentally commited file

6 years agoFix some small memory leak (libardour)
Robin Gareus [Sat, 27 Jan 2018 14:45:12 +0000 (15:45 +0100)]
Fix some small memory leak (libardour)

6 years agoFix some small memory leaks (GUI)
Robin Gareus [Sat, 27 Jan 2018 14:44:59 +0000 (15:44 +0100)]
Fix some small memory leaks (GUI)

6 years agoFix some clang warnings (argument with 'nonnull' attribute passed null)
Robin Gareus [Fri, 26 Jan 2018 12:56:19 +0000 (13:56 +0100)]
Fix some clang warnings (argument with 'nonnull' attribute passed null)

6 years agoAdd tooltip to markers so they can be found without zooming in.
Ben Loftis [Thu, 25 Jan 2018 14:20:25 +0000 (08:20 -0600)]
Add tooltip to markers so they can be found without zooming in.

6 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Wed, 17 Jan 2018 12:52:58 +0000 (12:52 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

6 years agoOSC: reorder /set_surface parameters to fit manual
Len Ovens [Tue, 23 Jan 2018 19:16:02 +0000 (11:16 -0800)]
OSC: reorder /set_surface parameters to fit manual
remove unused call

6 years agoOSC: Make sure observers are restarted if port changes
Len Ovens [Tue, 23 Jan 2018 03:34:19 +0000 (19:34 -0800)]
OSC: Make sure observers are restarted if port changes

6 years agoOSC: Allow Surface to set it's own receive port
Len Ovens [Tue, 23 Jan 2018 00:30:38 +0000 (16:30 -0800)]
OSC: Allow Surface to set it's own receive port

6 years agoOSC: allow each surface to set portmode for that IP.
Len Ovens [Tue, 16 Jan 2018 23:16:12 +0000 (15:16 -0800)]
OSC: allow each surface to set portmode for that IP.

6 years agoFix FP16 Solo (0x53 is mapped to encoder-press, 0x56 to loop)
Robin Gareus [Tue, 23 Jan 2018 18:00:18 +0000 (19:00 +0100)]
Fix FP16 Solo (0x53 is mapped to encoder-press, 0x56 to loop)

6 years agoUpdate Japanese translation
Hiroki Inagaki [Sat, 20 Jan 2018 19:28:01 +0000 (20:28 +0100)]
Update Japanese translation

6 years agoFix ffmpeg/ffprobe parser (sample/frame 30b087ab) - #7544
Robin Gareus [Sun, 21 Jan 2018 10:35:22 +0000 (11:35 +0100)]
Fix ffmpeg/ffprobe parser (sample/frame 30b087ab) - #7544

6 years agoUse "frame" for video-frames, fixes video-monitor state.
Robin Gareus [Sun, 21 Jan 2018 10:27:26 +0000 (11:27 +0100)]
Use "frame" for video-frames, fixes video-monitor state.

revert/amend/undo 30b087ab for video-related units

6 years agoFix Export-format timecode spec (frames: timecode frames)
Robin Gareus [Sun, 21 Jan 2018 10:00:57 +0000 (11:00 +0100)]
Fix Export-format timecode spec (frames: timecode frames)

undo/fix 30b087ab3d

6 years agoFix video preview request - #7544
Robin Gareus [Sun, 21 Jan 2018 09:50:40 +0000 (10:50 +0100)]
Fix video preview request - #7544

see also 2e9fcceb1e and 30b087ab3

6 years agoExplicit encoding for bindings html.
Robin Gareus [Wed, 17 Jan 2018 15:52:16 +0000 (16:52 +0100)]
Explicit encoding for bindings html.

6 years agoAdd Lua bindings to change Location/Maker names
Robin Gareus [Mon, 15 Jan 2018 16:25:53 +0000 (17:25 +0100)]
Add Lua bindings to change Location/Maker names

6 years agoOSC: Added feedback for /strip/hide
Len Ovens [Sun, 14 Jan 2018 21:06:37 +0000 (13:06 -0800)]
OSC: Added feedback for /strip/hide

6 years agoOSC: add /strip/hide
Len Ovens [Sun, 14 Jan 2018 16:42:13 +0000 (08:42 -0800)]
OSC: add /strip/hide

6 years agofix DSP load indicator color
Robin Gareus [Sun, 14 Jan 2018 18:17:11 +0000 (19:17 +0100)]
fix DSP load indicator color

6 years agoAdd Toolbar disk-space widget.
Robin Gareus [Sun, 14 Jan 2018 17:41:21 +0000 (18:41 +0100)]
Add Toolbar disk-space widget.

6 years agoSeparate DSP load indicator into generic gauge widget
Robin Gareus [Sun, 14 Jan 2018 16:38:49 +0000 (17:38 +0100)]
Separate DSP load indicator into generic gauge widget

6 years agoOSC: Add feedback for hidden strip
Len Ovens [Sat, 13 Jan 2018 16:41:58 +0000 (08:41 -0800)]
OSC: Add feedback for hidden strip

6 years agoOSC: add /select/hide
Len Ovens [Sat, 13 Jan 2018 15:58:37 +0000 (07:58 -0800)]
OSC: add /select/hide

6 years agoRefine 31f79489, de-duplicate AU I/O configurations
Robin Gareus [Fri, 12 Jan 2018 00:09:45 +0000 (01:09 +0100)]
Refine 31f79489, de-duplicate AU I/O configurations

6 years agoFix AU i/o busses accounting.
Robin Gareus [Thu, 11 Jan 2018 19:16:59 +0000 (20:16 +0100)]
Fix AU i/o busses accounting.

This fixes issues for synths with zero audio input, explicit default
stereo config and optional busses.

6 years agoOSC: Expand gainmode to add two new options
Len Ovens [Wed, 10 Jan 2018 03:19:29 +0000 (19:19 -0800)]
OSC: Expand gainmode to add two new options
fix bug where a surface might have more than one global observer

6 years agostrlen is not a member of std.
Robin Gareus [Wed, 3 Jan 2018 17:05:19 +0000 (18:05 +0100)]
strlen is not a member of std.

6 years agoOSC: Plugin activate should detect no plugins
Len Ovens [Tue, 2 Jan 2018 18:22:42 +0000 (10:22 -0800)]
OSC: Plugin activate should detect no plugins

6 years agoamend a954dca1: Prost Neujahr!
Robin Gareus [Mon, 1 Jan 2018 03:59:11 +0000 (04:59 +0100)]
amend a954dca1: Prost Neujahr!

6 years agoBonne année 2018
Robin Gareus [Mon, 1 Jan 2018 01:11:32 +0000 (02:11 +0100)]
Bonne année 2018

6 years agoKeep Script Window on top.
Robin Gareus [Sun, 31 Dec 2017 17:31:54 +0000 (18:31 +0100)]
Keep Script Window on top.

Compare to f83dbf83. We cannot use an ArdourWindow here (which
would do this automatically) since we don't want any keyboard-event
forwarding from this editor-window. It's also a main window, not
a WM::ProxyTemporary.

6 years agoLua-binding to directly add automation-events
Robin Gareus [Sun, 31 Dec 2017 17:14:55 +0000 (18:14 +0100)]
Lua-binding to directly add automation-events

6 years agoDon't use a timer to update panner-UIs, rely on Changed signal
Robin Gareus [Sun, 31 Dec 2017 17:14:24 +0000 (18:14 +0100)]
Don't use a timer to update panner-UIs, rely on Changed signal

6 years agoProcess Panner Automatables (emit Changed)
Robin Gareus [Sun, 31 Dec 2017 17:12:04 +0000 (18:12 +0100)]
Process Panner Automatables (emit Changed)

Pan-automation is evaluated directly from the control-list.
::distribute_automated() does not update the controls.

However, the *owner* of each automation-control is responsible to
evaluate automation of automated automation-controls (and emit Changed()
signals to notify the GUI and slaved controls).

This follow the same concept as PluginInsert: The Changed signal
is called on demand when evaluating automation.

This fixes pan-automation-sliders (automation-lane header) not updating.

6 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 30 Dec 2017 10:03:12 +0000 (10:03 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

6 years agoOSC: Check for no markers yet (crash fix)
Len Ovens [Fri, 29 Dec 2017 22:46:18 +0000 (14:46 -0800)]
OSC: Check for no markers yet (crash fix)

6 years agoFix initial transport-window state display
Robin Gareus [Thu, 28 Dec 2017 16:09:02 +0000 (17:09 +0100)]
Fix initial transport-window state display