ardour.git
4 years agoNO-OP: cleanup
Robin Gareus [Fri, 23 Aug 2019 13:50:26 +0000 (15:50 +0200)]
NO-OP: cleanup

* remove unused code
* replace "default" to check for switch() enum completeness

4 years agoRe-order enum, use "NoIcon" as sentinel
Robin Gareus [Fri, 23 Aug 2019 13:49:25 +0000 (15:49 +0200)]
Re-order enum, use "NoIcon" as sentinel

4 years agoArdorIcon is for display only, remove registration
Robin Gareus [Fri, 23 Aug 2019 13:46:39 +0000 (15:46 +0200)]
ArdorIcon is for display only, remove registration

These enum values are not used serialized in any state, and can
be removed.

4 years agoSome hints for clang static analysis
Robin Gareus [Fri, 23 Aug 2019 03:15:17 +0000 (05:15 +0200)]
Some hints for clang static analysis

4 years agoFix for half-duplex ALSA-slave devices
Robin Gareus [Fri, 23 Aug 2019 02:39:51 +0000 (04:39 +0200)]
Fix for half-duplex ALSA-slave devices

4 years agoFix possible segfault when ALSA MIDI port registration fails
Robin Gareus [Fri, 23 Aug 2019 02:39:12 +0000 (04:39 +0200)]
Fix possible segfault when ALSA MIDI port registration fails

4 years agoTweak graph display, check direct sends
Robin Gareus [Fri, 23 Aug 2019 00:12:47 +0000 (02:12 +0200)]
Tweak graph display, check direct sends

->feeds() follows connections "track -> master -> monitor"
(to detect feedback). Use direct_feeds_according_to_reality()
to correctly show sends-only.

4 years agoDetect monitor-send by instance, not name
Robin Gareus [Thu, 22 Aug 2019 23:05:57 +0000 (01:05 +0200)]
Detect monitor-send by instance, not name

4 years agoUse icons for plugin bypass and pinout
Robin Gareus [Thu, 22 Aug 2019 19:03:44 +0000 (21:03 +0200)]
Use icons for plugin bypass and pinout

4 years agoUpdate plugin-ui related icons
Robin Gareus [Thu, 22 Aug 2019 19:03:07 +0000 (21:03 +0200)]
Update plugin-ui related icons

4 years agoFix potential call of uninitialized pointer function
Robin Gareus [Wed, 21 Aug 2019 01:51:23 +0000 (03:51 +0200)]
Fix potential call of uninitialized pointer function

_template_number can be set via sysex to an arbitrary number, this
can lead to calling a filter-function at an undefined address, usually
a segfault.

4 years agoInitialize variable, fix branch condition
Robin Gareus [Wed, 21 Aug 2019 01:09:32 +0000 (03:09 +0200)]
Initialize variable, fix branch condition

4 years agoPrefer to use API defined return status
Robin Gareus [Wed, 21 Aug 2019 01:06:28 +0000 (03:06 +0200)]
Prefer to use API defined return status

4 years agoInitialize uninitialized variable
Robin Gareus [Wed, 21 Aug 2019 01:05:17 +0000 (03:05 +0200)]
Initialize uninitialized variable

This fixes a potentially undefined branch if the USB device list is empty.
dev is NULL, the loop is never entered, 'r' isn't set.
if (!dev && !r) is undefined.

4 years agoUse Icons for plugin preset buttons.
Robin Gareus [Tue, 20 Aug 2019 23:27:36 +0000 (01:27 +0200)]
Use Icons for plugin preset buttons.

This reduces the preset task-bar's min-width, useful for plugins with
narrow UIs.

4 years agoTweak Ardourbutton: support (VectorIcon | Indicator)
Robin Gareus [Tue, 20 Aug 2019 23:25:34 +0000 (01:25 +0200)]
Tweak Ardourbutton: support (VectorIcon | Indicator)

4 years agoAdd more vector-icons, plugin toolbar related
Robin Gareus [Tue, 20 Aug 2019 23:24:49 +0000 (01:24 +0200)]
Add more vector-icons, plugin toolbar related

This allows to replace "Add", "Save", "Delete", "Reset", "Bypass"
text with icons.

4 years agoConsistent preset layout
Robin Gareus [Tue, 20 Aug 2019 21:45:49 +0000 (23:45 +0200)]
Consistent preset layout

Use the same order as AU, VST, LV2 GUIs. Show the "modified" asterisk
left of the preset-dropdown. This avoids a blank space between the
dropdown and the Add, Save, Delete buttons.

4 years agoReplace OOM segfault with abort :)
Robin Gareus [Tue, 20 Aug 2019 03:07:16 +0000 (05:07 +0200)]
Replace OOM segfault with abort :)

4 years agoThere's always a previous tempo/meter section
Robin Gareus [Tue, 20 Aug 2019 02:53:00 +0000 (04:53 +0200)]
There's always a previous tempo/meter section

4 years agoSkip potential garbage midi-step
Robin Gareus [Tue, 20 Aug 2019 02:38:59 +0000 (04:38 +0200)]
Skip potential garbage midi-step

4 years agoThere is always at least a tempo and meter section
Robin Gareus [Tue, 20 Aug 2019 02:29:06 +0000 (04:29 +0200)]
There is always at least a tempo and meter section

4 years agoShuttle Surface: Fix uninitialized argument in case of incomplete state
Robin Gareus [Tue, 20 Aug 2019 02:17:59 +0000 (04:17 +0200)]
Shuttle Surface: Fix uninitialized argument in case of incomplete state

4 years agoNO-OP: whitespace
Robin Gareus [Tue, 20 Aug 2019 02:15:11 +0000 (04:15 +0200)]
NO-OP: whitespace

4 years agoSkip invalid plugin-tag spec
Robin Gareus [Tue, 20 Aug 2019 02:15:01 +0000 (04:15 +0200)]
Skip invalid plugin-tag spec

4 years agoFix potential ambiguous state-restore
Robin Gareus [Tue, 20 Aug 2019 02:11:32 +0000 (04:11 +0200)]
Fix potential ambiguous state-restore

Don't allow uninitialized argument values in case of corrupt XML
state.

4 years agoFix uninitialized argument value
Robin Gareus [Tue, 20 Aug 2019 02:06:31 +0000 (04:06 +0200)]
Fix uninitialized argument value

TrimDrag::aborted() -> TrimDrag::finished() -> TrimDrag::motion ()
uses event->button.state

4 years agoBundle x42-tuner, drop rule-based midifilter
Robin Gareus [Tue, 20 Aug 2019 01:44:02 +0000 (03:44 +0200)]
Bundle x42-tuner, drop rule-based midifilter

4 years agoFix prev commit, state-restore of plugins
Robin Gareus [Tue, 20 Aug 2019 00:06:55 +0000 (02:06 +0200)]
Fix prev commit, state-restore of plugins

4 years agoLV2 extension to override strict-i/o per plugin
Ben Loftis [Mon, 19 Aug 2019 18:19:38 +0000 (13:19 -0500)]
LV2 extension to override strict-i/o per plugin

This allows mono to stereo plugins to override the default
routing and forces both outputs to be connected.

4 years agoRemove explicit pulse version check (debian/wheezy builds)
Robin Gareus [Fri, 16 Aug 2019 22:18:39 +0000 (00:18 +0200)]
Remove explicit pulse version check (debian/wheezy builds)

4 years agoSuffix complete hw: ID to make ALSA card names unique
Robin Gareus [Fri, 16 Aug 2019 18:00:29 +0000 (20:00 +0200)]
Suffix complete hw: ID to make ALSA card names unique

4 years agoFurther tweaks to .pending file removal
Robin Gareus [Fri, 16 Aug 2019 03:31:50 +0000 (05:31 +0200)]
Further tweaks to .pending file removal

* only delete it after successful save
* show unlink notification in debug-builds

4 years agoPrefer implicit deletion of .pending
Robin Gareus [Thu, 15 Aug 2019 23:55:54 +0000 (01:55 +0200)]
Prefer implicit deletion of .pending

Session destruction removes ".pending", no need to explicitly delete
the file.

4 years agoFix periodic backup saves
Robin Gareus [Thu, 15 Aug 2019 23:54:21 +0000 (01:54 +0200)]
Fix periodic backup saves

Retain ".pending" files until explicit save or session destruction.
Previously every transport-stop deleted them :(

4 years agoFix C++98 compat
Robin Gareus [Thu, 15 Aug 2019 23:51:51 +0000 (01:51 +0200)]
Fix C++98 compat

4 years agoPrefer "one track per file" as default
Robin Gareus [Wed, 14 Aug 2019 23:30:17 +0000 (01:30 +0200)]
Prefer "one track per file" as default

4 years agoDon't print usage to stdout for invalid parameters
Robin Gareus [Wed, 14 Aug 2019 23:07:41 +0000 (01:07 +0200)]
Don't print usage to stdout for invalid parameters

4 years agoTweak .clang-format
Robin Gareus [Mon, 12 Aug 2019 23:06:12 +0000 (01:06 +0200)]
Tweak .clang-format

4 years agoNO-OP: clang format, comments & whitespace
Robin Gareus [Mon, 12 Aug 2019 22:56:48 +0000 (00:56 +0200)]
NO-OP: clang format, comments & whitespace

4 years agoRemove unused EditorSources selection filter
Robin Gareus [Mon, 12 Aug 2019 22:53:04 +0000 (00:53 +0200)]
Remove unused EditorSources selection filter

4 years agoRemove remnants of hack from 9f3f3738e7444ee3
Robin Gareus [Mon, 12 Aug 2019 22:49:45 +0000 (00:49 +0200)]
Remove remnants of hack from 9f3f3738e7444ee3

This fixes multiple selection. The original code using
"selection_countdown" is no longer in place. There's no "counter" to arm.

Shift/Tab name edit works regardless.
"s/m/r" solo/mute/rec shortcuts in the treeview have been discontinued
since a long time as well. Keyboard shortcuts are per window, regardless
of grab_focus()

PS. This change makes it easier for a user to start a drag/drop
operation of multiple regions. That currently assert()s, only
the first selected region is used.

4 years agoFix transient removal -- #7785
Robin Gareus [Mon, 12 Aug 2019 22:38:57 +0000 (00:38 +0200)]
Fix transient removal -- #7785

Incorrect iterators were used for user-transients.

4 years agoRemove unused EditorRoutes selection filter
Robin Gareus [Mon, 12 Aug 2019 17:31:42 +0000 (19:31 +0200)]
Remove unused EditorRoutes selection filter

4 years agoRe-order editor sidebar: prioritize "Tracks & Busses"
Robin Gareus [Mon, 12 Aug 2019 16:28:19 +0000 (18:28 +0200)]
Re-order editor sidebar: prioritize "Tracks & Busses"

4 years ago(RegionList) Tweak column ordering + fix translation naming
Robin Gareus [Mon, 12 Aug 2019 15:59:48 +0000 (17:59 +0200)]
(RegionList) Tweak column ordering + fix translation naming

4 years agoSource List: Explicitly check whether a file is in the {Audio|MIDI} folder where...
Ben Loftis [Thu, 1 Aug 2019 21:04:55 +0000 (16:04 -0500)]
Source List: Explicitly check whether a file is in the {Audio|MIDI} folder where it should be.
Anywhere else (even somewhere else inside the session folder) should be flagged "weird"

4 years agoSource List: Source regions can be tagged, too.
Ben Loftis [Thu, 1 Aug 2019 20:27:21 +0000 (15:27 -0500)]
Source List: Source regions can be tagged, too.

4 years agoAdd Pref to write mixer-screenshot post-export
Robin Gareus [Mon, 12 Aug 2019 14:53:55 +0000 (16:53 +0200)]
Add Pref to write mixer-screenshot post-export

4 years agoConsolidate: use PBD method to try hard-linking
Robin Gareus [Mon, 12 Aug 2019 14:42:07 +0000 (16:42 +0200)]
Consolidate: use PBD method to try hard-linking

4 years agoAdd PBD API to hard-link files
Robin Gareus [Mon, 12 Aug 2019 14:41:25 +0000 (16:41 +0200)]
Add PBD API to hard-link files

4 years agoAllow export get_path() without format
Robin Gareus [Mon, 12 Aug 2019 13:44:16 +0000 (15:44 +0200)]
Allow export get_path() without format

This is in preparation for post-export screenshots:
A possibility to get a file-path, independent of the format.

4 years agoNO-OP: whitespace
Robin Gareus [Mon, 12 Aug 2019 13:39:28 +0000 (15:39 +0200)]
NO-OP: whitespace

4 years agoNO-OP: mark private variables, remove cruft
Robin Gareus [Mon, 12 Aug 2019 13:29:39 +0000 (15:29 +0200)]
NO-OP: mark private variables, remove cruft

4 years agoInitialize some more uninitialized variables
Robin Gareus [Mon, 12 Aug 2019 13:18:00 +0000 (15:18 +0200)]
Initialize some more uninitialized variables

4 years agoPrefer std::vector<> over C-style malloc/free**
Robin Gareus [Mon, 12 Aug 2019 13:02:24 +0000 (15:02 +0200)]
Prefer std::vector<> over C-style malloc/free**

This fixes a potential out of bounds read `if (_dbtp_plugin[c])`
if c is larger than the allocated channel count.

4 years agoInitialize variable
Robin Gareus [Mon, 12 Aug 2019 12:34:33 +0000 (14:34 +0200)]
Initialize variable

4 years agoInitialize variable
Robin Gareus [Mon, 12 Aug 2019 12:34:17 +0000 (14:34 +0200)]
Initialize variable

4 years agoFix middle-click note selection
Robin Gareus [Mon, 12 Aug 2019 02:49:31 +0000 (04:49 +0200)]
Fix middle-click note selection

4 years agoFix midi-note selection invert
Robin Gareus [Mon, 12 Aug 2019 00:28:38 +0000 (02:28 +0200)]
Fix midi-note selection invert

Selecting Notes in a region does not select the region itself.

Invert-selection needs to iterate over midi-regions that contain
the selection.

4 years ago(RegionList) Don't change selection for context-menu
Robin Gareus [Mon, 12 Aug 2019 00:07:03 +0000 (02:07 +0200)]
(RegionList) Don't change selection for context-menu

4 years agoAdd Action to save mixer screenshot
Robin Gareus [Sun, 11 Aug 2019 23:39:48 +0000 (01:39 +0200)]
Add Action to save mixer screenshot

4 years agoAdd Lua-Dialog support for FileChooserWidget (save file)
Robin Gareus [Sun, 11 Aug 2019 23:06:14 +0000 (01:06 +0200)]
Add Lua-Dialog support for FileChooserWidget (save file)

4 years agoAdd Lua bindings for convenient Glib methods
Robin Gareus [Sun, 11 Aug 2019 23:00:42 +0000 (01:00 +0200)]
Add Lua bindings for convenient Glib methods

4 years agoFix auto capture alignment when bouncing metronome
Robin Gareus [Sun, 11 Aug 2019 18:37:36 +0000 (20:37 +0200)]
Fix auto capture alignment when bouncing metronome

4 years agoAllow to inhibit screensaver/system sleep
Robin Gareus [Sun, 11 Aug 2019 18:37:07 +0000 (20:37 +0200)]
Allow to inhibit screensaver/system sleep

4 years agoAdd types/enum for screensaver mode
Robin Gareus [Sun, 11 Aug 2019 17:04:42 +0000 (19:04 +0200)]
Add types/enum for screensaver mode

4 years agoSimplify screensaver inhibit API and fix OSX compatibility
Robin Gareus [Sun, 11 Aug 2019 17:04:02 +0000 (19:04 +0200)]
Simplify screensaver inhibit API and fix OSX compatibility

4 years agoAdd/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sun, 11 Aug 2019 09:56:01 +0000 (10:56 +0100)]
Add/remove source(s) in our MSVC project (gtk2_ardour)

4 years agoPrototype infrastructure to disable screensaver
Robin Gareus [Sat, 10 Aug 2019 21:20:39 +0000 (23:20 +0200)]
Prototype infrastructure to disable screensaver

4 years agoptformat: Update to upstream 8d29d79 (drop fades && fix offsets)
Damien Zammit [Sat, 10 Aug 2019 02:34:45 +0000 (12:34 +1000)]
ptformat: Update to upstream 8d29d79 (drop fades && fix offsets)

4 years agoAdd script to `xdot` plot the process graph
Robin Gareus [Wed, 7 Aug 2019 15:39:47 +0000 (17:39 +0200)]
Add script to `xdot` plot the process graph

4 years agoAdd Lua bindings for Pango Alignment
Robin Gareus [Wed, 7 Aug 2019 15:32:05 +0000 (17:32 +0200)]
Add Lua bindings for Pango Alignment

4 years agoNO-OP: Fix compiler warning (-Wreturn-type)
Robin Gareus [Wed, 7 Aug 2019 15:27:56 +0000 (17:27 +0200)]
NO-OP: Fix compiler warning (-Wreturn-type)

4 years agoAdd method to graphviz plot the process-graph
Robin Gareus [Wed, 7 Aug 2019 15:27:01 +0000 (17:27 +0200)]
Add method to graphviz plot the process-graph

4 years agoGui should allow foldback bus to be mono.
Len Ovens [Tue, 6 Aug 2019 20:16:44 +0000 (13:16 -0700)]
Gui should allow foldback bus to be mono.

4 years agofoldback may be mono don't set panner type
Len Ovens [Tue, 6 Aug 2019 18:13:30 +0000 (11:13 -0700)]
foldback may be mono don't set panner type

4 years agoOSC: foldback buses should be able to be mono
Len Ovens [Tue, 6 Aug 2019 18:12:19 +0000 (11:12 -0700)]
OSC: foldback buses should be able to be mono

4 years agoAmend 183d3fb49; implement ImportableSource API
Robin Gareus [Sun, 4 Aug 2019 12:43:46 +0000 (14:43 +0200)]
Amend 183d3fb49; implement ImportableSource API

4 years agoFix meter metric visibility on narrow strips - #7781
Robin Gareus [Sun, 4 Aug 2019 00:40:59 +0000 (02:40 +0200)]
Fix meter metric visibility on narrow strips - #7781

After session load, the meter numerics were always visible,
regardless of strip width.
MixerStrip::set_stuff_from_route() and MixerStrip::set_width_enum()
are called before Mixer UI is realized and calls show_all().

4 years agoImplement missing required virtual fn -- fix Mac builds
Robin Gareus [Sat, 3 Aug 2019 23:37:36 +0000 (01:37 +0200)]
Implement missing required virtual fn -- fix Mac builds

4 years agoUpdate plugins/addons GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 12:34:29 +0000 (14:34 +0200)]
Update plugins/addons GPL boilerplate and (C) from git log

4 years agoUpdate utility and tools GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 13:48:50 +0000 (15:48 +0200)]
Update utility and tools GPL boilerplate and (C) from git log

4 years agoUpdate core library GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 03:10:55 +0000 (05:10 +0200)]
Update core library GPL boilerplate and (C) from git log

4 years agoUpdate canvas/UI lib GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 02:40:09 +0000 (04:40 +0200)]
Update canvas/UI lib GPL boilerplate and (C) from git log

4 years agoUpdate audiographer GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 02:16:37 +0000 (04:16 +0200)]
Update audiographer GPL boilerplate and (C) from git log

4 years agoUpdate backend GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 02:11:41 +0000 (04:11 +0200)]
Update backend GPL boilerplate and (C) from git log

4 years agoUpdate libardour GPL boilerplate and (C) from git log
Robin Gareus [Sat, 3 Aug 2019 02:01:25 +0000 (04:01 +0200)]
Update libardour GPL boilerplate and (C) from git log

4 years agoUpdate GPL boilerplate and (C)
Robin Gareus [Fri, 2 Aug 2019 21:26:43 +0000 (23:26 +0200)]
Update GPL boilerplate and (C)

Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.

4 years agoRemove cruft
Robin Gareus [Fri, 2 Aug 2019 20:44:46 +0000 (22:44 +0200)]
Remove cruft

4 years agoAdd/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Fri, 2 Aug 2019 08:07:54 +0000 (09:07 +0100)]
Add/remove source(s) in our MSVC project (gtk2_ardour)

4 years agoFix CD cue file Index positions -- #7780
Robin Gareus [Fri, 2 Aug 2019 00:43:43 +0000 (02:43 +0200)]
Fix CD cue file Index positions -- #7780

According to the cdrdao man page, they should be defined as follows:
  INDEX MM:SS:FF
   Increments the index number at given position within the track.
   The first statement will increment from 1 to 2. The position is
   relative to the real track start, not counting an existing pre-gap.

4 years agoprefer lowercase and no spaces, since this will appear in the filename.
Ben Loftis [Wed, 31 Jul 2019 16:14:38 +0000 (11:14 -0500)]
prefer lowercase and no spaces, since this will appear in the filename.

4 years ago(Source List) Catch new sources created by bounce-range-to-source-list
Ben Loftis [Tue, 30 Jul 2019 20:43:22 +0000 (15:43 -0500)]
(Source List) Catch new sources created by bounce-range-to-source-list

4 years ago(Source List) Handle Session::RemoveSource
Ben Loftis [Tue, 30 Jul 2019 18:43:14 +0000 (13:43 -0500)]
(Source List) Handle Session::RemoveSource

4 years ago(Source List) Replace missing initializer; fixes a bug where Sources did not appear...
Ben Loftis [Tue, 30 Jul 2019 18:14:06 +0000 (13:14 -0500)]
(Source List) Replace missing initializer; fixes a bug where Sources did not appear on startup.

4 years ago(Source List) Implement insert-region action... now uses the Source List.
Ben Loftis [Tue, 30 Jul 2019 18:02:15 +0000 (13:02 -0500)]
(Source List) Implement insert-region action... now uses the Source List.

4 years ago(Source List) Recover Regions feature: WIP
Ben Loftis [Fri, 7 Jun 2019 01:28:40 +0000 (20:28 -0500)]
(Source List) Recover Regions feature:  WIP

4 years ago(Source List) Revert to displaying whole-file Regions instead of Sources.
Ben Loftis [Fri, 31 May 2019 18:36:46 +0000 (13:36 -0500)]
(Source List) Revert to displaying whole-file Regions instead of Sources.
This preserves the stereo-ness of files that were imported or recorded in stereo.

ToDo  (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region

4 years ago(Source List) Add forall_regions function, used by Region and Source lists.
Ben Loftis [Fri, 31 May 2019 18:35:40 +0000 (13:35 -0500)]
(Source List) Add forall_regions function, used by Region and Source lists.