Commit graph

26482 commits

Author SHA1 Message Date
Ben Loftis
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
Ben Loftis
0d32105a1e new_grid: Add options for rulers_follow_grid and grid_follows_internal 2018-07-27 00:26:09 +02:00
Robin Gareus
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
Robin Gareus
4b55d65eaa Fall back to default Session export dir, if export path does not exist. 2018-07-25 18:21:55 +02:00
Robin Gareus
0dc9c068e7 Don't allow invalid export Locations (when using the GUI) 2018-07-25 18:21:19 +02:00
Robin Gareus
ed1c6e0863 Reset export-config maps before each new export (2/2) 2018-07-25 18:20:07 +02:00
Robin Gareus
ff5cc4a311 Reset export-config maps before each new export (1/2) 2018-07-25 18:19:55 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
92a685495c Revert "Add timestretch debug printf"
This reverts commit c2e520fab0.
2018-07-23 17:20:48 +02:00
Robin Gareus
b5e67536a3 Fix timestretch "resample without preserving pitch" 2018-07-23 17:20:13 +02:00
Robin Gareus
c2e520fab0 Add timestretch debug printf 2018-07-23 17:12:51 +02:00
Robin Gareus
9cf9833a93 Fix log-scale rangesteps and log-control numeric spinboxes 2018-07-21 17:19:49 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
3a64d355b7 Lua DSP LTC decoder plugin 2018-07-17 09:44:34 +02:00
Robin Gareus
bd4571eeae Add LTC Decoder Lua Bindings 2018-07-17 09:44:34 +02:00
Robin Gareus
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
Ben Loftis
65e5152c6f Fix typos 2018-07-14 23:03:36 -05:00
Ben Loftis
e87012ca89 auto-backup: gtk2_ardour part. (from mixbus) 2018-07-14 12:47:34 -05:00
Ben Loftis
ffc5d1474a auto-backup: libardour part. (from mixbus) 2018-07-14 12:46:49 -05:00
Ben Loftis
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
Robin Gareus
1d61a3e17f CC121: cycle track monitoring states 2018-07-12 21:43:49 +02:00
Robin Gareus
da6a6f1366 CC121: watch Track monitoring state 2018-07-12 21:42:57 +02:00
Robin Gareus
6bb8f1e7de MonitorCue = In + Disk (fixes CC121 + push2 display) 2018-07-12 21:41:34 +02:00
Robin Gareus
da55214f8f Allow to use CC121 when running from src-tree. 2018-07-12 14:56:24 +02:00
Robin Gareus
fc4a0a9852 Move static function out of header-file, fix -Wunused-function 2018-07-12 03:28:38 +02:00
John Emmas
0a0dd8de13 Correct a couple of typos 2018-07-11 14:01:46 +01:00
Robin Gareus
333f59a53f 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.
2018-07-10 00:58:18 +02:00
Robin Gareus
59029765e8 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.
2018-07-09 19:49:18 +02:00
Robin Gareus
dca30c99fc Prepare API for per disk-reader de-click 2018-07-09 17:38:35 +02:00
Robin Gareus
bee09ac9e1 Remove unused CubicInterpolation from session 2018-07-09 17:30:38 +02:00
Robin Gareus
87b2c94759 Separate ChannelInfo for disk reader and writer
This allows to use different types for write and read buffers, in
preparation for a dedicated reader-buffer.
2018-07-09 17:30:38 +02:00
Robin Gareus
cf11764763 Remove unused disk-reader vari-speed 2018-07-09 17:30:38 +02:00
Robin Gareus
cdec333bfe move rt-stop to route
currently this is only used to resolve midi events for plugins
(this is conceptually not correct, note offs should be resolved by
the disk-reader only), but it calls into all processors now (incl
disk-reader if present), which is handy (e.g. flush delaylins)
2018-07-09 17:30:38 +02:00