Paul Davis [Tue, 7 Aug 2018 14:43:37 +0000 (10:43 -0400)]
fix uninitialized pointer error in launch control code
Paul Davis [Tue, 7 Aug 2018 14:42:44 +0000 (10:42 -0400)]
better debug message with correct namespace for EventLoop::invalidate_request()
Robin Gareus [Tue, 7 Aug 2018 14:25:43 +0000 (16:25 +0200)]
Create plugin-metadata folder for new config
Robin Gareus [Tue, 7 Aug 2018 13:48:39 +0000 (15:48 +0200)]
Fix invalid C++11isms: don't use of enum as class or namespace
Robin Gareus [Tue, 7 Aug 2018 13:44:30 +0000 (15:44 +0200)]
Fix C++98 compatibility error
'>' should be '> >' within a nested template argument list
Robin Gareus [Tue, 7 Aug 2018 13:40:30 +0000 (15:40 +0200)]
LCXL: add missing request-buffer factory.
Robin Gareus [Tue, 7 Aug 2018 13:36:22 +0000 (15:36 +0200)]
Fix -Wnon-virtual-dtor
`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]
Robin Gareus [Tue, 7 Aug 2018 13:34:03 +0000 (15:34 +0200)]
Fix invalid use of enum as class or namespace.
Robin Gareus [Tue, 7 Aug 2018 13:30:26 +0000 (15:30 +0200)]
NO-OP: whitespace
Térence Clastres [Tue, 7 Aug 2018 01:41:12 +0000 (03:41 +0200)]
Add Launch Control XL control surface support
Robin Gareus [Mon, 6 Aug 2018 17:52:51 +0000 (19:52 +0200)]
Fix track rename oddity, don't skip over current name.
ensure_track_or_route_name() can produce the current name.
This fixes the following issue:
Create a two audio tracks. Their names are "Audio" and "Audio 1".
Try to rename "Audio 1" to "Audio", its name becomes "Audio 2".
Paul Davis [Sun, 5 Aug 2018 05:10:41 +0000 (01:10 -0400)]
remove debug output file!
Robin Gareus [Sat, 4 Aug 2018 21:29:27 +0000 (23:29 +0200)]
Fix preference ID for MIDI-input
Robin Gareus [Sat, 4 Aug 2018 19:33:21 +0000 (21:33 +0200)]
Unify support chat channel.
Robin Gareus [Fri, 3 Aug 2018 17:54:00 +0000 (19:54 +0200)]
Fix Italian translation
Context separator `|` is for original messages only.
Nikolaus Gullotta [Thu, 2 Aug 2018 20:59:23 +0000 (15:59 -0500)]
protect the_instrument() on MIDI tracks, needs a lot more work.
Robin Gareus [Thu, 2 Aug 2018 19:02:31 +0000 (21:02 +0200)]
Add method to conveniently retrieve a sorted routelist
Ben Loftis [Thu, 2 Aug 2018 18:54:31 +0000 (13:54 -0500)]
More consistent dialog window titles (Recall Mixer Settings).
Nikolaus Gullotta [Thu, 2 Aug 2018 18:37:01 +0000 (13:37 -0500)]
use ordered list of routes and fix some dialog box names
Nikolaus Gullotta [Thu, 2 Aug 2018 16:03:11 +0000 (11:03 -0500)]
option to create groups if necessary and add order var to dialog table for future
Ben Loftis [Thu, 2 Aug 2018 15:35:54 +0000 (10:35 -0500)]
Remove "This is a script" note on some Lua dialogs.
Nikolaus Gullotta [Thu, 2 Aug 2018 14:17:54 +0000 (09:17 -0500)]
remove redundant checks in wake of
980de904e
Robin Gareus [Thu, 2 Aug 2018 13:17:38 +0000 (15:17 +0200)]
Add scrollbar to LuaDialog
Robin Gareus [Wed, 1 Aug 2018 22:53:18 +0000 (00:53 +0200)]
Lua-dialog: allow to set folder for file to load/save.
When a non-existent file-path is given, GTK falls back to show the
containing folder and automatically goes up to parent folders until
the root.
This removes the explicit file/folder check and delegates the
behavior to GTK, allowing to set a folder for a non-existent file.
Nikolaus Gullotta [Wed, 1 Aug 2018 19:42:02 +0000 (14:42 -0500)]
implement fetch_valid_settings_file() to avoid the user having to see stub files
Nikolaus Gullotta [Wed, 1 Aug 2018 17:14:08 +0000 (12:14 -0500)]
more dialog formatting changes
Nikolaus Gullotta [Wed, 1 Aug 2018 17:13:59 +0000 (12:13 -0500)]
use is_nonbypassable(), is_channelstrip(), and display_to_user() to protect critical plugins, and add option to remove sends
Ben Loftis [Wed, 1 Aug 2018 16:34:56 +0000 (11:34 -0500)]
FP2: Fix banking in NavChannel mode.
Robin Gareus [Wed, 1 Aug 2018 15:03:23 +0000 (17:03 +0200)]
Also expose PI::enabled()
Robin Gareus [Wed, 1 Aug 2018 14:55:58 +0000 (16:55 +0200)]
Fix+extend PluginInsert Lua bindings
Nikolaus Gullotta [Wed, 1 Aug 2018 14:12:42 +0000 (09:12 -0500)]
edit dialog formatting
Robin Gareus [Tue, 31 Jul 2018 20:24:15 +0000 (22:24 +0200)]
Prepare for non-bypassable plugins (Mixbus channelstrip)
Nikolaus Gullotta [Tue, 31 Jul 2018 19:40:07 +0000 (14:40 -0500)]
incorporate program name into save and recalling
Nikolaus Gullotta [Tue, 31 Jul 2018 19:13:34 +0000 (14:13 -0500)]
check-in of Lua script snippet to determine what program is running
Nikolaus Gullotta [Tue, 31 Jul 2018 17:57:22 +0000 (12:57 -0500)]
split store_recall_mixer into two files: mixer_settings_store.lua
and
mixer_settings_recall.lua
also changed a lot of dialog formatting and configure global and local
paths
Robin Gareus [Tue, 31 Jul 2018 14:54:08 +0000 (16:54 +0200)]
Fix mismatched delete/delete[]
Robin Gareus [Tue, 31 Jul 2018 13:53:31 +0000 (15:53 +0200)]
Tweak FP2/2018 image
Robin Gareus [Tue, 31 Jul 2018 13:43:21 +0000 (15:43 +0200)]
Tweak FP2/2018 Ctrl-Surface UI
Robin Gareus [Tue, 31 Jul 2018 13:24:10 +0000 (15:24 +0200)]
Tweak UI for Faderport2/2018
Robin Gareus [Tue, 31 Jul 2018 13:23:49 +0000 (15:23 +0200)]
Fix Faderport8/16 support in the wake of FP2
Ben Loftis [Tue, 31 Jul 2018 12:46:20 +0000 (14:46 +0200)]
Add support for PreSonus Faderport2 (2018 model)
This is a cleaned-up, foward-ported version of Ben's
Mixbus patch (
d6694c5b31).
Robin Gareus [Tue, 31 Jul 2018 00:00:27 +0000 (02:00 +0200)]
Cleanup trigger_script_by_name() debug/error messages
Robin Gareus [Mon, 30 Jul 2018 21:35:25 +0000 (23:35 +0200)]
Expose Config and Cache dirs to Lua
usage example:
print (ARDOUR.user_config_directory(-1), ARDOUR.user_cache_directory(""))
print (ARDOUR.LuaAPI.build_filename(ARDOUR.user_config_directory(-1), "test.txt"))
Robin Gareus [Mon, 30 Jul 2018 15:32:03 +0000 (17:32 +0200)]
Fix "session dirty" flicker during session-setup.
Loading a session includes setting the sync-source, this is queued
to happen during process(), which may or may not be while Session::Loading
is still set.
This change only catches the common case: internal transport, no slave.
Robin Gareus [Mon, 30 Jul 2018 15:28:47 +0000 (17:28 +0200)]
Ignore state-changes during deletion
Closing a session removes tracks, which triggers set_dirty().
There is no need to inform the UI or change the session's state.
Robin Gareus [Mon, 30 Jul 2018 14:18:41 +0000 (16:18 +0200)]
Ruler visibility is not really a session-prop.
This fixes an issue with the session being marked as dirty without
any actual change. Also this method indirectly called during session-load
when the UI state is restored, a potential race with "Session::Loading"
being unset.
Nikolaus Gullotta [Mon, 30 Jul 2018 14:16:26 +0000 (09:16 -0500)]
Fix processor invalidation issue with substiuted routes
Robin Gareus [Mon, 30 Jul 2018 13:58:29 +0000 (15:58 +0200)]
Amend VST "MasterUpdateDisplay", allow UI(s) to idle-update.
Robin Gareus [Mon, 30 Jul 2018 13:41:52 +0000 (15:41 +0200)]
Fix VST callback and crash for some plugins
Apparently "MasterUpdateDisplay" is for plugins to notify the host about
state changes -- and not notficy the plugin's own UI.
see also
http://mixbus.harrisonconsoles.com/forum/thread-6229-post-37127.html
Nikolaus Gullotta [Fri, 27 Jul 2018 19:19:43 +0000 (14:19 -0500)]
add group_name fallback for adding routes to groups
Nikolaus Gullotta [Fri, 27 Jul 2018 18:56:39 +0000 (13:56 -0500)]
whitespace editing and comments + add ability to substitute routes at will
Robin Gareus [Thu, 26 Jul 2018 22:25:42 +0000 (00:25 +0200)]
Allow to disable smart ruler changes.
Robin Gareus [Thu, 26 Jul 2018 22:25:01 +0000 (00:25 +0200)]
NO-OP: clean up whitespace, separate methods
Ben Loftis [Thu, 26 Jul 2018 19:23:59 +0000 (14:23 -0500)]
new_grid: The Return of the snap_to_X functions.
We no longer assume that Snap always uses the visible ruler lines.
If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled
This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".
Robin Gareus [Thu, 26 Jul 2018 22:27:44 +0000 (00:27 +0200)]
Prepare types for new grid
Ben Loftis [Thu, 26 Jul 2018 19:07:45 +0000 (14:07 -0500)]
new_grid: fix some thinkos in ruler math, to better match sensible grid lines.
Tweak enums to better match the Grid values they represent.
Ben Loftis [Thu, 26 Jul 2018 18:53:36 +0000 (13:53 -0500)]
new_grid: Add options for rulers_follow_grid and grid_follows_internal
Robin Gareus [Thu, 26 Jul 2018 14:59:27 +0000 (16:59 +0200)]
Fix crash when testing invalid MIDI file.
smf_delete() does not handle NULL pointers. This fixes a crash when
checking if a MIDI source is valid.
Nikolaus Gullotta [Wed, 25 Jul 2018 20:47:16 +0000 (15:47 -0500)]
get rid of ugly concatenation in favor of string.format(), and add small readout for what the script will do to your session allowing user to pick and choose
Robin Gareus [Wed, 25 Jul 2018 16:21:55 +0000 (18:21 +0200)]
Fall back to default Session export dir, if export path does not exist.
Robin Gareus [Wed, 25 Jul 2018 16:21:19 +0000 (18:21 +0200)]
Don't allow invalid export Locations (when using the GUI)
Robin Gareus [Wed, 25 Jul 2018 16:20:07 +0000 (18:20 +0200)]
Reset export-config maps before each new export (2/2)
Robin Gareus [Wed, 25 Jul 2018 16:19:55 +0000 (18:19 +0200)]
Reset export-config maps before each new export (1/2)
Robin Gareus [Wed, 25 Jul 2018 16:19:19 +0000 (18:19 +0200)]
Add an API to reset export-handler configs.
config_map.erase() is only called in ExportHandler::finish_timespan().
When an export fails (throw) or is aborted, the export-handler's
config remains as is and the next export will run it again.
The export-handler is global, per session and
ExportHandler::add_export_config() only ever inserts or ignores insert.
This is in preparation to fix:
1) export to invalid path -> fail, error is thrown
2) correct path -> new config is inserted in the map
3) try to export again, first runs the not-completed export from (1)
-> constant errors.
Robin Gareus [Wed, 25 Jul 2018 15:46:15 +0000 (17:46 +0200)]
Clarify error message when file cannot be created,
The default error is "Not a valid SNDFILE* pointer." which is rather
obscure to end-users.
Robin Gareus [Tue, 24 Jul 2018 19:35:14 +0000 (21:35 +0200)]
GUI tweaks for unset midi banks.
Some MIDNAM files use Patch-Banks that do *not* have a common midi bank
(CC0, CC32) but the Patchbank is instead just a collection of patches.
There may be more than 127 patches in a patch-bank and each of those
may be in a different midi-bank (e.g. Roland SC-88 Pro).
Midnams like these are now properly supported via dropdowns (in the
patch add/modify dialog and timeline), but ignored by the grid
(patch-widget). More work is needed.
Robin Gareus [Tue, 24 Jul 2018 19:30:23 +0000 (21:30 +0200)]
Distinguish unset MIDI Patch and bank 0
Nikolaus Gullotta [Mon, 23 Jul 2018 20:51:28 +0000 (15:51 -0500)]
mark_tracks() now accepts a bool that tells it to work of a selected routelist() or get_routes()
Robin Gareus [Mon, 23 Jul 2018 16:42:32 +0000 (18:42 +0200)]
Don't cut-off grid-type.
Now that the zoom buttons are right-aligned, a variable spaced grid
selector is less of an issue (except perhaps on 1024px wide screens)
Robin Gareus [Mon, 23 Jul 2018 16:13:41 +0000 (18:13 +0200)]
Hardcode pitch-shift algorithm (for now)
This fixes an issue with pitch-shift using the most recently used
time-stretch algorithm, which may be "resample.." (effective NO-OP).
Also leave a ToDo note regarding rubberband crispness levels for later.
Robin Gareus [Mon, 23 Jul 2018 15:20:48 +0000 (17:20 +0200)]
Revert "Add timestretch debug printf"
This reverts commit
c2e520fab056834a7181e08a1cd0fa3e14796b1e.
Robin Gareus [Mon, 23 Jul 2018 15:20:13 +0000 (17:20 +0200)]
Fix timestretch "resample without preserving pitch"
Robin Gareus [Mon, 23 Jul 2018 15:12:51 +0000 (17:12 +0200)]
Add timestretch debug printf
Robin Gareus [Sat, 21 Jul 2018 15:19:49 +0000 (17:19 +0200)]
Fix log-scale rangesteps and log-control numeric spinboxes
Robin Gareus [Thu, 19 Jul 2018 12:57:46 +0000 (14:57 +0200)]
Fix Ctrl-Surface UI/Edit button sensitivity
Only enable button if the surface has an editor-GUI.
Robin Gareus [Wed, 18 Jul 2018 08:55:41 +0000 (10:55 +0200)]
Fix generic UI sliders w/rangesteps
Leave the user in control while the slider is being dragged.
Previously there was a feedback loop:
User-drags slider -> value changes -> value is rounded
-> slider is updated with rounded value (while the user still drags)
Robin Gareus [Wed, 18 Jul 2018 08:48:03 +0000 (10:48 +0200)]
Fix and tweak LV2:RangeStep
Explicit cast to float (rangestep is unsigned int) when calculating
interface steps.
Also prefer to round to nearest value-point (rather than round-down).
Nikolaus Gullotta [Tue, 17 Jul 2018 20:16:04 +0000 (15:16 -0500)]
move new_playlist Lua script from mixbus and add some garbage collection
Nikolaus Gullotta [Tue, 17 Jul 2018 18:02:05 +0000 (13:02 -0500)]
Move track_organizer Lua script to ardour
Nikolaus Gullotta [Tue, 17 Jul 2018 17:55:43 +0000 (12:55 -0500)]
Create ardour-friendly version of reset_mb4_mixer Lua script
Robin Gareus [Tue, 17 Jul 2018 07:44:16 +0000 (09:44 +0200)]
Lua DSP LTC decoder plugin
Robin Gareus [Tue, 17 Jul 2018 07:41:33 +0000 (09:41 +0200)]
Add LTC Decoder Lua Bindings
Robin Gareus [Tue, 17 Jul 2018 07:12:38 +0000 (09:12 +0200)]
Refactor LTC File decoder, prepare for Lua bindings
Nikolaus Gullotta [Mon, 16 Jul 2018 18:12:05 +0000 (13:12 -0500)]
make sandbox = false, for scripts called by Editor::trigger_script_by_name()
Nikolaus Gullotta [Mon, 16 Jul 2018 18:01:36 +0000 (13:01 -0500)]
add route:name() to output file, and use this to catch routes who's ids don't match, but their names do
Nikolaus Gullotta [Mon, 16 Jul 2018 17:56:46 +0000 (12:56 -0500)]
check if rv != nil, so it can still be run again if the user bails.
Ben Loftis [Sun, 15 Jul 2018 04:03:36 +0000 (23:03 -0500)]
Fix typos
Ben Loftis [Sat, 14 Jul 2018 17:47:34 +0000 (12:47 -0500)]
auto-backup: gtk2_ardour part. (from mixbus)
Ben Loftis [Sat, 14 Jul 2018 17:46:49 +0000 (12:46 -0500)]
auto-backup: libardour part. (from mixbus)
Ben Loftis [Sat, 14 Jul 2018 13:40:07 +0000 (08:40 -0500)]
Aborted attempt to further optimize the editor-summary. Commented for future generations.
Nikolaus Gullotta [Sat, 14 Jul 2018 00:05:09 +0000 (19:05 -0500)]
Fix silly typo in script script name
Nikolaus Gullotta [Fri, 13 Jul 2018 22:13:43 +0000 (17:13 -0500)]
Make store_recall_mixer.lua a first-class script and not just an example
Robin Gareus [Thu, 12 Jul 2018 19:43:49 +0000 (21:43 +0200)]
CC121: cycle track monitoring states
Robin Gareus [Thu, 12 Jul 2018 19:42:57 +0000 (21:42 +0200)]
CC121: watch Track monitoring state
Robin Gareus [Thu, 12 Jul 2018 19:41:34 +0000 (21:41 +0200)]
MonitorCue = In + Disk (fixes CC121 + push2 display)
Robin Gareus [Thu, 12 Jul 2018 12:56:24 +0000 (14:56 +0200)]
Allow to use CC121 when running from src-tree.
Robin Gareus [Thu, 12 Jul 2018 01:28:38 +0000 (03:28 +0200)]
Move static function out of header-file, fix -Wunused-function
John Emmas [Wed, 11 Jul 2018 13:01:46 +0000 (14:01 +0100)]
Correct a couple of typos
Robin Gareus [Mon, 9 Jul 2018 22:57:04 +0000 (00:57 +0200)]
Fix lv2-state templates with external files.
This forces liblilv to collect external files in the template-folder
and symlink to the original file instead of re-using the external-file
folder of the session that was used to create the template.
Robin Gareus [Mon, 9 Jul 2018 15:54:42 +0000 (17:54 +0200)]
NO-OP: Rename disk-reader buffer for consistency
This is in preparation to replace the Ringbuffer and avoid over-using
"buf" as variable (it's already used for vectors, as parameter name and
Audiobuffers.