13
0
Commit Graph

14338 Commits

Author SHA1 Message Date
96b4a85fed Fix well-known control Lua bindings 2018-10-10 22:16:08 +02:00
b27a8169d2 Ignore small (or negative) radii.
Some calls use e.g. (corner_radius - 1.5). With small radii or boxy
layout the radius can become negative.
2018-10-09 19:31:01 +02:00
b32b9ceb58 Constant radian/degree factor 2018-10-09 19:31:01 +02:00
425c54883a Remove unused variable 2018-10-09 19:31:01 +02:00
970c8939d4 some rather simple code to allow MIDI Clock to set the tempo of the session.
This is only allowed if the session has only 1 tempo marker
2018-10-08 12:59:51 -04:00
ad4dc4460d fix duplicate name check for new transport master 2018-10-07 12:43:28 -04:00
a4692389b8 fix return value and avoid unnecessary extra conditional 2018-10-07 12:29:37 -04:00
1168ffecad remove crazy thinko 2018-10-07 12:28:53 -04:00
0f6e67a32f Faderport(Classic): Add Record-PreRoll and Record-CountIn actions to the footswitch selections. Could make this menu access -any- action, but I think a short useful list of transport items is better in this case. 2018-10-07 10:10:03 -05:00
16dc3a1613 Properly disable looping when deleting loop-range 2018-10-05 21:50:55 +02:00
32b7343927 NO-OP: whitespace 2018-10-05 21:50:55 +02:00
e4a914e26e make remove work for transport masters (bug fix, really) 2018-10-05 14:29:15 -04:00
f0a395e7cd stop MIDIClock transport master reporting continued timestamps 2018-10-05 14:15:02 -04:00
4c7e5dbc74 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00
67ba0bd992 laying the groundwork for adding/removing transport masters 2018-10-05 14:15:02 -04:00
ccccac7a10 Fix the User button for Mixbus; we use it as a button, not a modifier. 2018-10-04 19:29:14 -05:00
e6aeb9d6e8 remove LTC port parameter, since it's no longer a thing.
This commit does not remove this concept from the libs/ardour/engine_state_controller code,
which is used exclusively by Waves Track Live (to the extent that this can be said to
be "used").
2018-10-04 10:17:40 -04:00
22061310c0 add new ::update_interval() method for transport masters, and use in shared ::speed_and_position() implementation 2018-10-04 00:42:14 -04:00
1dc35d157e fix error introduced in MTC transport master 2018-10-04 00:42:14 -04:00
59b789d2bb Sort Session templates alphabetically 2018-10-04 03:36:14 +02:00
b6b353d452 Handle generic-midi bindings per session.
This allows to special-cases session-specific control-surface state.
e.g. midi-learn.

Only restore midi-learned, session-specific, bindings when loading a
session with generic-midi enabled.

Also dis/re-enable generic-midi resets midi-learned, but no other
session-independent settings.

This also handles the edge case:
 1) load global config, generic-midi = ON, w/ bindings.
    state is remembered as cpi->state
 2) load session-condig, generic-midi = OFF, cpi->state is retained
 3) user enables the surface, cpi->state from (1) is applied.
 -> invalid bindings applied -> fail
2018-10-04 02:30:21 +02:00
9df6e334fc Persistent ctrl-surface state
Keep latest surface configuration, regardless if surface is active
or being deactivated. Current state after de-activation is retained.

Currently state loaded from a session overrides global state from
global preferences, if the surface is marked active in the session.
This is to allow midi-learn.

generic-midi and session-specific midi-learn will require additional
work.
2018-10-04 01:36:51 +02:00
be826f3635 Prevent excessive meter redraws for inactive meters at zero 2018-10-03 20:54:14 +02:00
cdc64358ec Properly initialize midi-meters
Midi meters are using linear 0..1 range, (not decibels, no log-scale
falloff).

If a track is deactivated, run() is never called. the queued reset never
executed and the meter remained at the initialization default -inf
(visually it looked like a pegged meter).
2018-10-03 20:22:30 +02:00
e01582dd9a Prepare a boxy, no round borders, button-style 2018-10-02 21:28:49 +02:00
62cd539143 Fix false-positive duplicate format detection
Previously, stem-exports of more than 1 channel always included
the export-format, even if only one format was exported.
2018-10-02 21:28:49 +02:00
feb2763a8a libptformat: Add ability to reuse object && add path to ptf to api 2018-10-02 20:14:04 +10:00
b60e9f7df9 Remove a call to 'fst_audio_master_idle()'
Nobody seems quite sure why it's needed but it seems to be crashing a lot of plugins:-

http://tracker.ardour.org/view.php?id=7668
2018-10-02 09:17:32 +01:00
87559a6054 Fix Mixbus master-bus tape-saturation controllable 2018-09-30 15:34:59 +02:00
cf652331ad Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 3 of 3
2018-09-30 09:19:28 +01:00
b519434744 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 2 of 3 (more to follow)
2018-09-30 09:06:25 +01:00
9506a294c7 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
097176696b Add support (in our MSVC projects) for using 'boost::atomic'
(only done "where necessary" for the moment - more to follow...)
2018-09-29 12:22:47 +01:00
d76589d90f FP8/16: include makeup gain control 2018-09-28 16:19:40 +02:00
Albert Graef
65693a72a2 MCP: Fix up the feedback for the view selection buttons. 2018-09-27 11:31:13 -04:00
Albert Graef
38bccabeca MCP: Allow the current bank to move right one channel even if this results in a partial bank.
Rationale: This change is trivial, but Ardour's behavior of refusing to move right one channel unless a full bank remains has been there for a long time, and there are probably good reasons for it. This design was likely conceived when all MCP-compatible devices had banks of 8 faders anyway. However, with the advent of affordable single-strip devices like the X-Touch ONE it becomes a real issue.

Single-strip devices can only access the first channel in the current bank, so relaxing this restriction is the easiest way to enable such devices to access all strips, while still maintaining the usual bank size of 8. Note that maintaining a bank size of 8 is beneficial even with single-strip devices for several reasons:

- It allows use of the bank switch buttons to flip through a large number of strips more quickly.

- It maintains compatibility with existing device descriptions. E.g., the X-Touch ONE can be used with the existing X-Touch device description without any ado.

- Most importantly, it maintains compatibility with other MCP-compatible controllers which do have 8 strips and may be connected to Ardour at the same time. E.g., one might want to use an X-Touch Mini, or even a full-size X-Touch along with the X-Touch ONE in some use cases. Changing the bank size to 1 affects all connected MCP devices, so you'd rather keep the bank size to 8 in such scenarios. (Ardour should preferably have separate bank size settings for each connected MCP device, but that isn't possible right now since only one MCP device description can be active at the same time.)
2018-09-27 11:31:13 -04:00
Albert Graef
936f6814ac MCP: Fix up the feedback for the bank left/right buttons. 2018-09-27 11:31:13 -04:00
c4fcd0c268 consolidate all transport masters on a SafeTime object that is a member of the TransportMaster base class.
This seems to have broken some aspects of chasing/locking
2018-09-27 11:31:13 -04:00
147d456dbd change type of MIDI::Parser::position signal to include timestamp 2018-09-27 11:31:13 -04:00
0f7123d33a more objectification for SafeTime 2018-09-27 11:31:13 -04:00
b6aefaf100 initial hacks towards a truly thread-safe SafeTime object, using boost::atomic 2018-09-27 11:31:13 -04:00
3c11660d2a VST-state, set/restore program before loading chunk.
This may fix some issues with VST state being restored incorrectly
when a plugin-preset was loaded.
2018-09-25 21:46:59 +02:00
99a8899c2d Add Lua bindings to query DSP load statistics 2018-09-25 18:01:22 +02:00
6ca8ec5141 remove debug output 2018-09-23 13:48:19 -04:00
12d5eb9a34 remove debug output 2018-09-23 13:48:19 -04:00
d48dd0ccd5 defer creating a visibility tracker for a window until the window is mapped
Without this, the visibility tracker will report that the window is not visible at startup, and
this overrides the XML _visible property which denotes that the window should be made visible
2018-09-23 13:48:19 -04:00
b9d8f75119 emit property change for "collect" on a TransportMaster 2018-09-23 13:48:19 -04:00
fd23f89b35 Accommodate newly added/renamed source(s) in our MSVC project (libardour) 2018-09-22 16:55:43 +01:00
Jan Lentfer
e52c8e376a LCXL: fix off by one cause by fader8master 2018-09-22 15:12:26 +02:00
Jan Lentfer
7d6c9c3085 LCXL: Fix a crash on exit 2018-09-22 15:12:26 +02:00
3b151c8cfb no more slave.h 2018-09-22 09:03:50 -04:00
c83d5add7b use abs() instead of fabs() on integers 2018-09-22 08:51:58 -04:00
f39bcaa4bf Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers"
You can't remove an abs() conversion and keep the same semantics.

This reverts commit d89b8cc0ad.
2018-09-22 08:50:16 -04:00
62f29d6c44 remove old slave files 2018-09-22 08:49:24 -04:00
736b6a3e57 Replace a namespace brace deleted by accident 2018-09-22 09:08:44 +01:00
a3a156520d Remove some namespace ambiguity
There are a couple of places where we're using both MIDI namespace as well as ARDOUR namespace (both of which declare 'pframes_t)
2018-09-22 08:48:41 +01:00
0354dbdfe9 Remove 2 x unneeded functions in 'SlaveSessionProxy'
I assume they're not needed now because their declarations got removed in commit #e6915e01de
2018-09-22 08:44:42 +01:00
d89b8cc0ad MSVC complains because we're using 'fabs()' to compare 2 x integers 2018-09-22 08:39:34 +01:00
6dd6f6bb16 Fix typo: emit signal (don't construct an object) 2018-09-21 21:35:28 +02:00
357361c89d Fix --no-nls (4/5), i18n include order in libs/*
"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)
2018-09-21 19:05:39 +02:00
497a3fbaa1 Fix --no-nls (2/5), prefer #if in libs
This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef
2018-09-21 19:03:33 +02:00
03e5b97921 missing enum/properties stuff 2018-09-20 12:00:16 -04:00
9cdbeaa07d switch transport masters to use properties and notify via PropertyChanged 2018-09-20 11:30:28 -04:00
84930c0cf1 namespace change to help out on non-linux platforms 2018-09-18 21:35:33 -04:00
a183b3bff4 do not initialize boost::shared_ptr<> with zero 2018-09-18 21:26:43 -04:00
87c11bcc2e boost/atomic.hpp is not used 2018-09-18 20:01:05 -04:00
e6915e01de new transport slave/master implementation, libs/ edition 2018-09-18 19:06:04 -04:00
7390b88c2b OSC: Allow personal monitor to change output connection 2018-09-18 15:39:14 -07:00
9321f46c45 Implement new Enclosed region equivalence mode 2018-09-13 14:05:47 -04:00
f9f0b4aabd LTC-file reader: offset frame position (not timecode) 2018-09-11 16:02:42 +02:00
d7dc224da5 Fix LTC file-reader -- closes #7661
Change reader API to return the position of the decoded LTC frame
and store the correct position in the array)
This bug was introduced in e5a181c323
2018-09-11 16:02:42 +02:00
a96aa4e1fd OSC: Personal monitoring can add a new aux 2018-09-10 09:58:15 -07:00
79f01bc889 Initial changes needed for building Mixbus (with MSVC) as version 5
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
2172337306 Add missing cast (NoteButton to TrackButton) 2018-09-06 23:03:55 +02:00
e1c58aad60 Fix an invalid conversion from 'int' to non-scalar. 2018-09-06 19:28:45 +02:00
Jan Lentfer
eff7a51de1 LCXL: Refactor code to use boost::shared_ptr 2018-09-04 18:55:49 +02:00
ed678aa2f9 Fix shared_ptr initialization
error: no matching function for call to
 'boost::shared_ptr<ArdourSurface::Push2::Button>::shared_ptr(int)'
2018-09-03 13:38:37 +02:00
6e419a961e use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code 2018-09-02 13:23:57 -04:00
Térence Clastres
2a78f0a852 LCXL: Fix check if ports exist 2018-08-30 22:39:24 +02:00
9f30d14906 P2: Fix check if ports exist 2018-08-30 22:28:31 +02:00
Jan Lentfer
c3d0c80f68 LCXL: Fix two crashes
* fix a crash when accessing VCAs
    * fix a crash when being at the end
      of available stripables
    * unify for-loop constructs
2018-08-29 23:40:26 +02:00
46175b6b60 Increase alsa-backend timeout
Following discussion (https://community.ardour.org/node/15805 and
#ardour IRC) test initial disconnect due to timeout after a cold-boot.
2018-08-29 19:23:53 +02:00
Jan Lentfer
fdbce2e8c8 LCXL: add visual feedback for sec button functions
also add some little fixes in regard
    to fixing master fader on controller
    fader no 8
2018-08-25 22:51:31 +02:00
03c5a35a8c Monitor should be *really* unselectable 2018-08-24 18:26:01 -04:00
0db0d85108 no reason for 2 template types in CoreSelection::select_adjacent_stripable() 2018-08-24 18:26:01 -04:00
a9ae875b71 a couple more explanatory comments, and rename a variable to be more clear 2018-08-24 14:17:14 -04:00
92b3d40e3d fix comment (method is now a template) 2018-08-24 14:11:00 -04:00
2d0416a016 add new methods to ARDOUR::CoreSelection to centralize selecting next/prev stripables 2018-08-24 14:04:18 -04:00
3136b20847 Cleanup various design patterns.
* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable
2018-08-24 16:55:00 +02:00
510a0314cf move select-all-tracks,deselect-all,invert-selection to be global actions (and bindings) 2018-08-24 10:08:08 -04:00
Térence Clastres
6bd81ee3c7 Revert "LCXL: Fast skip to first/last stripable with left/right long press"
This reverts commit 27b05f4d8d.
2018-08-22 22:40:57 +02:00
Térence Clastres
65cadf2cb6 LCXL: Make knobs' leds' color constant when controlling master bus 2018-08-22 22:33:00 +02:00
Térence Clastres
3f77c1245c LCXL: track select: change from 1 strip at a time to whole bank 2018-08-22 22:33:00 +02:00
Jan Lentfer
266c5fbc16 LCXL: Mixbus secondary function for Ctrl buttons
In Mixbus holding Device and pressing
    one (or many) of the Track Control buttons
    will toggle the Master Assignment for the
    corresponding track
2018-08-22 19:56:10 +02:00
Jan Lentfer
fa7c8f6013 LCXL: Add some Mixbus functionality
in the mixer mode secondary functions
    (Device/Hold) of knobs per track
    will map as follows:

    Send A - trim (same as for Ardour)
    Send B - HPF Freq
    PAN    - Compressor threshold
2018-08-22 19:56:10 +02:00
Jan Lentfer
d17b6c5eea LCXL: save assignment of 8th fader in config 2018-08-22 19:52:09 +02:00
Jan Lentfer
b80e079353 LCXL: fix some more typos 2018-08-22 19:50:51 +02:00
Térence Clastres
27b05f4d8d LCXL: Fast skip to first/last stripable with left/right long press 2018-08-19 01:37:35 +02:00
Térence Clastres
3da024b4b7 LCXL: fix crash when disabling the surface while having the GUI open 2018-08-19 00:27:12 +02:00
Jan Lentfer
74ad41f8d9 LCXL: Add configuration option for handling master
In the Controller's settings you can now
    choose between two operation modes:
    1)  8 track mode
    2)  7 track plus master mode

    In case 2) fader 8 is fixed on the master
2018-08-18 23:06:32 +02:00
Térence Clastres
51b5c01b8b Add knob leds and refine colors 2018-08-18 20:49:17 +02:00
Jan Lentfer
c2b4f19612 LCXL: fix typos in function names 2018-08-18 18:12:18 +02:00
Jan Lentfer
5e67630b23 LCXL: add isolate solo as secondary function
Holding the Device button and press one
    of the Track Focus button will toggle
    solo isolation on the correspongind track
2018-08-18 18:12:18 +02:00
Jan Lentfer
4789147482 LCXL: split track focus button and led code 2018-08-18 18:12:18 +02:00
ed32a00afa NO-OP: whitespace 2018-08-18 14:13:24 +02:00
cf775ef4d3 Initialize uninitialized variable 2018-08-18 14:13:24 +02:00
Nikolaus Gullotta
179bc6be4f add mac_vst_plugin_info() to list_plugins() and new_plugin_info() 2018-08-17 11:22:16 -05:00
904d594712 Add missing Lua MacVST constant 2018-08-17 01:00:00 +02:00
Térence Clastres
4122ff891c Code styling: remove whitespaces between parenthesis 2018-08-15 18:48:32 -04:00
Térence Clastres
7c6c8ac270 Attempt to make some function's names more explicit 2018-08-15 18:48:32 -04:00
Térence Clastres
928a6ef4be Fix track select right led wrong behaviour 2018-08-15 18:48:32 -04:00
Térence Clastres
cb0ae63fe2 Fix track buttons not working when selecting the last stripable 2018-08-15 18:48:32 -04:00
f88b557ce7 Remove some unused includes 2018-08-16 00:23:05 +02:00
95eaf0cc87 Add API to reset plugin timing stats 2018-08-15 12:46:11 +02:00
d9a3866299 Add a locale-independent float/double format Lua method
print(ARDOUR.LuaAPI.ascii_dtostr(1.5))
2018-08-14 23:50:11 +02:00
Jan Lentfer
6434bf9dd3 LCXL: Reorganize knobs functions
Make the knobs work as printed on the controller

    Holding the Device button will enable extra functionality:
    Send A -> Trim Control
    Pan -> Stereo Width
2018-08-13 22:10:47 +02:00
Jan Lentfer
d3e7fa0ebf LCXL: implement mute, solo and record arm toggles
Holding the Device button and pressing one
    of mute, solo and record arm will toggle
    selected tracks (use Track Focus buttons)
    accordingly.
2018-08-13 14:53:43 -04:00
Térence Clastres
dab2513d9f Add pick-up mode and use it for knobs and faders
The pick up mode ignores new controller values until they match with the current setting of the stripable's ac
2018-08-13 13:57:06 -04:00
Térence Clastres
0d01a2abe9 Add Launch Control XL icon 2018-08-09 22:42:44 +02:00
Térence Clastres
740e075803 Turn off button led if it doesn't control a stripable 2018-08-09 22:13:14 +02:00
Térence Clastres
5276a9941b Call switch_bank() and use button_track_mode() within it to init required LEDs 2018-08-09 21:38:56 +02:00
Térence Clastres
a9958840b0 Add reset method and use it during start-up/shutdown 2018-08-09 21:05:55 +02:00
Térence Clastres
2c460135c5 Add missing set_color(Off) in else statement 2018-08-09 21:05:55 +02:00
Térence Clastres
cbb0a33aa3 Correct formatting for if/else statements 2018-08-09 21:05:55 +02:00
Térence Clastres
24e4ba399c Fix wrong note number offset 2018-08-09 21:05:51 +02:00
3064c5a675 fix button note number map lookup 2018-08-08 11:36:15 -04:00
5fcea5833d Properly announce support for Vendor string 2018-08-08 14:09:31 +02:00
Stefan Westerfeld
2fc5ed1e72 Let VST plugins know that we implement plugin window resizing. 2018-08-08 13:25:04 +02:00
ecfe1c2c67 emacs whitespace fixes 2018-08-07 10:49:33 -04:00
973c1cc61b explicitly drop connections from destructor 2018-08-07 10:49:15 -04:00
120115aec0 don't use an invalidator when connecting an EventLoop object's methods to a signal 2018-08-07 10:48:43 -04:00
87b745face fix uninitialized pointer error in launch control code 2018-08-07 10:44:56 -04:00
fb4ff01a18 better debug message with correct namespace for EventLoop::invalidate_request() 2018-08-07 10:44:56 -04:00
941f55bf40 Create plugin-metadata folder for new config 2018-08-07 16:25:43 +02:00
149dc68809 Fix invalid C++11isms: don't use of enum as class or namespace 2018-08-07 15:48:39 +02:00
8fa62f102e Fix C++98 compatibility error
'>' should be '> >' within a nested template argument list
2018-08-07 15:44:30 +02:00
be51e617bb LCXL: add missing request-buffer factory. 2018-08-07 15:40:30 +02:00
6d983d5f0b Fix -Wnon-virtual-dtor
`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]
2018-08-07 15:36:22 +02:00
c4d25037c4 Fix invalid use of enum as class or namespace. 2018-08-07 15:34:03 +02:00
f0105dafc1 NO-OP: whitespace 2018-08-07 15:30:26 +02:00
Térence Clastres
8c7a1e004b Add Launch Control XL control surface support 2018-08-07 04:16:09 +02:00
f4c1166651 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".
2018-08-06 19:52:51 +02:00
cf39ebc966 Add method to conveniently retrieve a sorted routelist 2018-08-02 21:36:34 +02: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
465ceb63fa Prepare for non-bypassable plugins (Mixbus channelstrip) 2018-07-31 22:24:45 +02:00
301d343e84 Fix mismatched delete/delete[] 2018-07-31 16:54:08 +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
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
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
83ce11e411 Prepare types for new grid 2018-07-27 00:28:42 +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
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
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
938b2422e3 Distinguish unset MIDI Patch and bank 0 2018-07-24 23:22:21 +02:00
9cf9833a93 Fix log-scale rangesteps and log-control numeric spinboxes 2018-07-21 17:19:49 +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
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
ffc5d1474a auto-backup: libardour part. (from mixbus) 2018-07-14 12:46:49 -05:00
1d61a3e17f CC121: cycle track monitoring states 2018-07-12 21:43:49 +02:00
da6a6f1366 CC121: watch Track monitoring state 2018-07-12 21:42:57 +02:00
6bb8f1e7de MonitorCue = In + Disk (fixes CC121 + push2 display) 2018-07-12 21:41:34 +02:00
0a0dd8de13 Correct a couple of typos 2018-07-11 14:01:46 +01:00
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
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
dca30c99fc Prepare API for per disk-reader de-click 2018-07-09 17:38:35 +02:00
bee09ac9e1 Remove unused CubicInterpolation from session 2018-07-09 17:30:38 +02:00
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
cf11764763 Remove unused disk-reader vari-speed 2018-07-09 17:30:38 +02:00
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
2953b575f2 Remove unused AutoLoopDeclick, PendingLoopDeclick
The flags were set, but not used. They also won't be needed anymore.
2018-07-09 17:30:38 +02:00
249640267c Remove global declick API
De-click will be per disk-reader, latency compensated and buffer-size
independent. Cue-monitoring should not be affected by de-click.
2018-07-09 17:30:38 +02:00
8664768efa make velocity bars thinner (from alex mitchell) 2018-07-08 07:12:12 -04:00
8004b9bb8e OSC: custom mode should turn temp mode off 2018-07-06 08:09:03 -07:00
e1ce87956a OSC: record tally should include master record 2018-07-06 08:08:29 -07:00
c2af992ac7 OSC: Use spill instead of collect 2018-07-06 07:35:24 -07:00
3322e6f5a5 OSC: make temp modes work with linked surfaces too 2018-07-05 23:24:30 -07:00
b4b2fbb6ed remove debug output 2018-07-05 13:49:27 -04:00
9da1253288 system common and system realtime messages are not valid in SMF files 2018-07-05 13:45:17 -04:00
027d0efc2d catch various libsmf errors rethrown as exceptions 2018-07-05 13:45:17 -04:00
1a25672239 change all use of g_critical() in libsmf() to g_warning()
g_critical translates to a fatal error in ardour, which is not true for any of these
errors.
2018-07-05 13:45:17 -04:00
7af016b089 Prepare CC121 ctrl surface for Mixbus
- fix Panner
- implement touch-start when changing ctrls
- map some well-known ctrls (not yet ideal)
2018-07-05 16:49:01 +02:00
ab6525a24f Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2018-07-05 08:22:44 +01:00
4b47a4c4cc OSC: Set lowest select meter to -120 for mixbus 2018-07-04 19:18:38 -07:00
6e79f473f4 ignore system reset messages entirely in the MIDI parser 2018-07-04 15:40:47 -04:00
bf2f4bd28a method for setting whether or not to show velocity bars 2018-07-03 15:39:08 -04:00
0ff671b1a3 reverse velocity display related commits 2018-07-03 15:38:30 -04:00
b6711383f3 enum convert for VelocityDisplayOption 2018-07-03 14:06:09 -04:00
e3cb6dd603 add VelocityDisplayOption enum; indent TrackAutoNamingRule decl. correctly 2018-07-03 14:05:16 -04:00