Commit graph

14472 commits

Author SHA1 Message Date
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
Paul Davis
3064c5a675 fix button note number map lookup 2018-08-08 11:36:15 -04:00
Robin Gareus
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
Paul Davis
ecfe1c2c67 emacs whitespace fixes 2018-08-07 10:49:33 -04:00
Paul Davis
973c1cc61b explicitly drop connections from destructor 2018-08-07 10:49:15 -04:00
Paul Davis
120115aec0 don't use an invalidator when connecting an EventLoop object's methods to a signal 2018-08-07 10:48:43 -04:00
Paul Davis
87b745face fix uninitialized pointer error in launch control code 2018-08-07 10:44:56 -04:00
Paul Davis
fb4ff01a18 better debug message with correct namespace for EventLoop::invalidate_request() 2018-08-07 10:44:56 -04:00
Robin Gareus
941f55bf40 Create plugin-metadata folder for new config 2018-08-07 16:25:43 +02:00
Robin Gareus
149dc68809 Fix invalid C++11isms: don't use of enum as class or namespace 2018-08-07 15:48:39 +02:00
Robin Gareus
8fa62f102e Fix C++98 compatibility error
'>' should be '> >' within a nested template argument list
2018-08-07 15:44:30 +02:00
Robin Gareus
be51e617bb LCXL: add missing request-buffer factory. 2018-08-07 15:40:30 +02:00
Robin Gareus
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
Robin Gareus
c4d25037c4 Fix invalid use of enum as class or namespace. 2018-08-07 15:34:03 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
cf39ebc966 Add method to conveniently retrieve a sorted routelist 2018-08-02 21:36:34 +02:00
Ben Loftis
eb304fe4b8 FP2: Fix banking in NavChannel mode. 2018-08-01 11:35:35 -05:00
Robin Gareus
c546ada320 Also expose PI::enabled() 2018-08-01 17:03:23 +02:00
Robin Gareus
1c5a3cfee7 Fix+extend PluginInsert Lua bindings 2018-08-01 16:56:18 +02:00
Robin Gareus
465ceb63fa Prepare for non-bypassable plugins (Mixbus channelstrip) 2018-07-31 22:24:45 +02:00
Robin Gareus
301d343e84 Fix mismatched delete/delete[] 2018-07-31 16:54:08 +02:00
Robin Gareus
b61b1cd7aa Tweak FP2/2018 Ctrl-Surface UI 2018-07-31 15:43:21 +02:00
Robin Gareus
cc2324e763 Tweak UI for Faderport2/2018 2018-07-31 15:32:26 +02:00
Robin Gareus
b30cd5f657 Fix Faderport8/16 support in the wake of FP2 2018-07-31 15:23:49 +02:00
Ben Loftis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
9ccace8f0d Amend VST "MasterUpdateDisplay", allow UI(s) to idle-update. 2018-07-30 15:58:29 +02:00
Robin Gareus
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
Robin Gareus
83ce11e411 Prepare types for new grid 2018-07-27 00:28:42 +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
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
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
938b2422e3 Distinguish unset MIDI Patch and bank 0 2018-07-24 23:22:21 +02:00
Robin Gareus
9cf9833a93 Fix log-scale rangesteps and log-control numeric spinboxes 2018-07-21 17:19:49 +02:00