13
0
Commit Graph

26558 Commits

Author SHA1 Message Date
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
203c6546c1 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.
2018-07-24 23:22:21 +02:00
938b2422e3 Distinguish unset MIDI Patch and bank 0 2018-07-24 23:22:21 +02:00
Nikolaus Gullotta
a8265431ad mark_tracks() now accepts a bool that tells it to work of a selected routelist() or get_routes() 2018-07-23 15:51:50 -05:00
ec070d5497 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)
2018-07-23 18:51:23 +02:00
3324c95687 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.
2018-07-23 18:13:41 +02:00
92a685495c Revert "Add timestretch debug printf"
This reverts commit c2e520fab0.
2018-07-23 17:20:48 +02:00
b5e67536a3 Fix timestretch "resample without preserving pitch" 2018-07-23 17:20:13 +02:00
c2e520fab0 Add timestretch debug printf 2018-07-23 17:12:51 +02:00
9cf9833a93 Fix log-scale rangesteps and log-control numeric spinboxes 2018-07-21 17:19:49 +02:00
34f0cd5209 Fix Ctrl-Surface UI/Edit button sensitivity
Only enable button if the surface has an editor-GUI.
2018-07-19 14:57:46 +02:00
0e79253412 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)
2018-07-18 10:57:57 +02:00
14517e13ec 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).
2018-07-18 10:57:57 +02:00
Nikolaus Gullotta
fa17364977 move new_playlist Lua script from mixbus and add some garbage collection 2018-07-17 15:16:04 -05:00
Nikolaus Gullotta
a54a501ad6 Move track_organizer Lua script to ardour 2018-07-17 13:02:05 -05:00