13
0
Commit Graph

26695 Commits

Author SHA1 Message Date
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
Nikolaus Gullotta
49d8d4ad77 Create ardour-friendly version of reset_mb4_mixer Lua script 2018-07-17 12:55:43 -05:00
3a64d355b7 Lua DSP LTC decoder plugin 2018-07-17 09:44:34 +02:00
bd4571eeae Add LTC Decoder Lua Bindings 2018-07-17 09:44:34 +02:00
e5a181c323 Refactor LTC File decoder, prepare for Lua bindings 2018-07-17 09:44:34 +02:00
Nikolaus Gullotta
854df0ae24 make sandbox = false, for scripts called by Editor::trigger_script_by_name() 2018-07-16 13:12:05 -05:00
Nikolaus Gullotta
3700ef4af6 add route:name() to output file, and use this to catch routes who's ids don't match, but their names do 2018-07-16 13:01:36 -05:00
Nikolaus Gullotta
7496f06fa3 check if rv != nil, so it can still be run again if the user bails. 2018-07-16 12:56:46 -05:00
65e5152c6f Fix typos 2018-07-14 23:03:36 -05:00
e87012ca89 auto-backup: gtk2_ardour part. (from mixbus) 2018-07-14 12:47:34 -05:00
ffc5d1474a auto-backup: libardour part. (from mixbus) 2018-07-14 12:46:49 -05:00
108162c757 Aborted attempt to further optimize the editor-summary. Commented for future generations. 2018-07-14 08:40:07 -05:00
Nikolaus Gullotta
92f480adab Fix silly typo in script script name 2018-07-13 19:05:09 -05:00
Nikolaus Gullotta
173211bde3 Make store_recall_mixer.lua a first-class script and not just an example 2018-07-13 18:55:49 -05:00