13
0
Commit Graph

26772 Commits

Author SHA1 Message Date
Nikolaus Gullotta
857be47728 protect the_instrument() on MIDI tracks, needs a lot more work. 2018-08-02 15:59:47 -05:00
cf39ebc966 Add method to conveniently retrieve a sorted routelist 2018-08-02 21:36:34 +02:00
50569eab78 More consistent dialog window titles (Recall Mixer Settings). 2018-08-02 13:54:31 -05:00
Nikolaus Gullotta
da27661dd4 use ordered list of routes and fix some dialog box names 2018-08-02 13:37:01 -05:00
Nikolaus Gullotta
92b68a87d9 option to create groups if necessary and add order var to dialog table for future 2018-08-02 11:03:11 -05:00
949927cc39 Remove "This is a script" note on some Lua dialogs. 2018-08-02 10:36:49 -05:00
Nikolaus Gullotta
dfb1c52192 remove redundant checks in wake of 980de904e 2018-08-02 09:17:54 -05:00
77d1982d1d Add scrollbar to LuaDialog 2018-08-02 15:17:38 +02:00
5006c731c7 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.
2018-08-02 00:53:18 +02:00
Nikolaus Gullotta
b45c7089c6 implement fetch_valid_settings_file() to avoid the user having to see stub files 2018-08-01 14:42:02 -05:00
Nikolaus Gullotta
d77aa4e3a5 more dialog formatting changes 2018-08-01 12:14:08 -05:00
Nikolaus Gullotta
f771b0e882 use is_nonbypassable(), is_channelstrip(), and display_to_user() to protect critical plugins, and add option to remove sends 2018-08-01 12:13:59 -05:00
eb304fe4b8 FP2: Fix banking in NavChannel mode. 2018-08-01 11:35:35 -05:00
c546ada320 Also expose PI::enabled() 2018-08-01 17:03:23 +02:00
1c5a3cfee7 Fix+extend PluginInsert Lua bindings 2018-08-01 16:56:18 +02:00
Nikolaus Gullotta
b5212ebd21 edit dialog formatting 2018-08-01 09:12:42 -05:00
465ceb63fa Prepare for non-bypassable plugins (Mixbus channelstrip) 2018-07-31 22:24:45 +02:00
Nikolaus Gullotta
1d55ac1706 incorporate program name into save and recalling 2018-07-31 14:40:07 -05:00
Nikolaus Gullotta
04ac151a1b check-in of Lua script snippet to determine what program is running 2018-07-31 14:13:34 -05:00
Nikolaus Gullotta
dc4294b89a 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
2018-07-31 12:57:43 -05:00
301d343e84 Fix mismatched delete/delete[] 2018-07-31 16:54:08 +02:00
c5ac7c4674 Tweak FP2/2018 image 2018-07-31 15:53:31 +02:00
b61b1cd7aa Tweak FP2/2018 Ctrl-Surface UI 2018-07-31 15:43:21 +02:00
cc2324e763 Tweak UI for Faderport2/2018 2018-07-31 15:32:26 +02:00
b30cd5f657 Fix Faderport8/16 support in the wake of FP2 2018-07-31 15:23:49 +02:00
948834bb1e Add support for PreSonus Faderport2 (2018 model)
This is a cleaned-up, foward-ported version of Ben's
Mixbus patch (d6694c5b31).
2018-07-31 14:54:20 +02:00
506a42daf3 Cleanup trigger_script_by_name() debug/error messages 2018-07-31 02:00:27 +02:00
734bb51384 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"))
2018-07-30 23:35:25 +02:00
592496eb09 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.
2018-07-30 17:47:29 +02:00
e951a55d02 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.
2018-07-30 17:47:29 +02:00
1a05bf08fc 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.
2018-07-30 17:47:29 +02:00
Nikolaus Gullotta
0ad9d57154 Fix processor invalidation issue with substiuted routes 2018-07-30 09:16:55 -05:00
9ccace8f0d Amend VST "MasterUpdateDisplay", allow UI(s) to idle-update. 2018-07-30 15:58:29 +02:00
98769796d7 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
2018-07-30 15:42:17 +02:00
Nikolaus Gullotta
cd7341cd6a add group_name fallback for adding routes to groups 2018-07-27 14:19:43 -05:00
Nikolaus Gullotta
80592f30fb whitespace editing and comments + add ability to substitute routes at will 2018-07-27 13:56:39 -05:00
1b531116e4 Allow to disable smart ruler changes. 2018-07-27 00:28:55 +02:00
232096bcb2 NO-OP: clean up whitespace, separate methods 2018-07-27 00:28:52 +02:00
0883f02de9 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".
2018-07-27 00:28:47 +02:00
83ce11e411 Prepare types for new grid 2018-07-27 00:28:42 +02:00
808dc8ad64 new_grid: fix some thinkos in ruler math, to better match sensible grid lines.
Tweak enums to better match the Grid values they represent.
2018-07-27 00:26:21 +02:00
0d32105a1e new_grid: Add options for rulers_follow_grid and grid_follows_internal 2018-07-27 00:26:09 +02:00
43c76ff23b 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.
2018-07-26 16:59:27 +02:00
Nikolaus Gullotta
1698abc382 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 2018-07-25 15:47:16 -05:00
4b55d65eaa Fall back to default Session export dir, if export path does not exist. 2018-07-25 18:21:55 +02:00
0dc9c068e7 Don't allow invalid export Locations (when using the GUI) 2018-07-25 18:21:19 +02:00
ed1c6e0863 Reset export-config maps before each new export (2/2) 2018-07-25 18:20:07 +02:00
ff5cc4a311 Reset export-config maps before each new export (1/2) 2018-07-25 18:19:55 +02:00
506863bf57 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.
2018-07-25 18:19:19 +02:00
16ef78ade0 Clarify error message when file cannot be created,
The default error is "Not a valid SNDFILE* pointer." which is rather
obscure to end-users.
2018-07-25 17:46:15 +02:00