13
0
Commit Graph

10147 Commits

Author SHA1 Message Date
ff427be0fa add processor lookup by PBD::ID via session
In preparation for Lua bindings this completes the basic set of
Session object lookup: route, source, controllable, region, processor
2016-02-20 20:26:18 +01:00
318f3850de third time lucky 2016-02-19 23:25:15 +01:00
452bca79eb and now without typo 2016-02-19 23:19:19 +01:00
9633ea3b01 fix Windows OSC support 2016-02-19 23:16:38 +01:00
b0518fa2be Revert "disable threaded waveform rendering for 4.7"
This reverts commit b0032adb44.
2016-02-19 21:13:29 +01:00
b0032adb44 disable threaded waveform rendering for 4.7 2016-02-18 18:56:05 -05:00
c92e822332 remove HYPER,SUPER,META modifier masks from Keyboard::RelevantModifierMask so that modifier_state_equals() works on OS X
GTK on OS X adds META when Command is pressed even though it also uses MOD2 to indicate COMMAND. So Cmd-w was actually META-MOD2-w and modifier_state_equals(MOD2)
would fail. This should have nothing but good side effects
2016-02-18 09:44:50 -05:00
dd7649a409 add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function 2016-02-18 09:43:03 -05:00
ec708926fa now with return value 2016-02-17 17:03:14 +01:00
5e50a7d6cf allot to open OSX Finder with arbitrary paths 2016-02-17 16:29:25 +01:00
58f7a11287 Make sure that MSVC knows which version of 'ceil()' we want
(it doesn't have a version that understands 'framecnt_t')
2016-02-17 12:17:05 +00:00
f8bc9c66a5 OSC: remove "/session/loaded" message altogether, for testing on Win. 2016-02-16 16:06:39 -06:00
86edc1ccfe Fill some more VST transport flags. 2016-02-16 15:33:12 -06:00
f30d1d6073 fix normalize + trim silence at end. 2016-02-16 22:24:01 +01:00
0ce4113dbb prepare threshold for silence trim 2016-02-16 21:25:54 +01:00
31442cd63d work-around case where metric is NULL in split cycles.
This really needs to be fixed on a higher level.
e.g Pluin::connect_and_run() needs to be passed the current time identical to
PluginInsert::connect_and_run()
2016-02-16 18:17:13 +01:00
cbdae78511 try to catch https://github.com/rncbc/synthv1/issues/1#issuecomment-183041991
(n_samples = 64 but Ardour sends midi-buffer with an event at 960)

some guesses as to why:
 - split cycle for looping (nominal: 1024, cycle split:64)
 - plugin uses _session.transport_frame() directly :(
   (not latency compensated offset or looped position)
 - "offset" is not taken into account for midi buffers
 - tempo/metric change (metric iterator is wrong after loop)
2016-02-16 15:36:43 +01:00
c1910351a5 Revert "proper debug prints for Analyser"
This reverts commit 9a281963e1.

audiographer cannot use symbols from libardour (cyclic dependency)
(only headers only are ok)
"DebugBits ExportAnalysis" symbol break windows and unit-test builds.
2016-02-16 15:13:12 +01:00
240daf95f5 re-bin analysis results to take silence striping into account. 2016-02-16 15:09:31 +01:00
a664fb703e chunk data before analysis, prefer 8K
* consistent spectrum display for all reports (same binsize)
* improved performance (power of two)
2016-02-16 14:25:49 +01:00
c52854fd3d Analysis: 1 sample slack (for resampling rounding) 2016-02-16 14:24:08 +01:00
a929b8b872 fix Export SRC buffer report:
the resampler is always fed with N channels, it won't output half channels
2016-02-16 14:00:31 +01:00
e18e765c75 Fix Analysis duration for added silence 2016-02-16 13:22:12 +01:00
9ab061c6cb don't re-use variable names 2016-02-16 13:21:45 +01:00
9a281963e1 proper debug prints for Analyser 2016-02-16 13:21:28 +01:00
de94f3ce83 fix typo in previous commit 2016-02-15 17:29:54 -06:00
136f705af9 Defer session_loaded until AFTER lo_server_new.
This seems like the right thing to do, and -might- fix OSC on Windows.
2016-02-15 16:55:21 -06:00
1355d186cb extend analysis spectral range to -120dB 2016-02-15 18:55:04 +01:00
e6ea35c3de Add normalization gain factor to Export Analysis 2016-02-15 15:46:49 +01:00
f23bb163a8 Ensure export starts with a clean state 2016-02-14 13:23:45 +01:00
455f07d087 fix rare livelock in std::map thread_buffer_requests
During initial session load it's possible that two threads call
PBD::notify_event_loops_about_thread_creation() simultaneously
(in particular the process threads). This can lead to an
endless loop in stl_tree.h when assigning thread_buffer_requests[key]

Now we only have WriteLocks.. unless some better solution comes up a
Mutex will do.
2016-02-14 02:13:04 +01:00
820bd0fe51 and another typo in d442190b 2016-02-14 00:10:41 +01:00
09167d3e59 fix typos in d442190b 2016-02-14 00:02:00 +01:00
48532baaa7 remove C++11'isms from libptformat. back to C++98 compat. 2016-02-13 23:15:47 +01:00
d442190b8a slightly improved windows post-export hook support. 2016-02-13 23:12:50 +01:00
73245c6217 some half-baked support for windows command-arg substitutions 2016-02-13 17:04:11 +01:00
fbbde01f25 Add preliminary PTX support for Protools 10 and 11
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-02-13 09:50:52 +01:00
81a9f7a956 Unjumble the PT5 wav ordering in regions/tracks
by sorting alphanumerically and case insensitively

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-02-13 09:50:52 +01:00
Julien ROGER
a3dd27c41b Fix 6677: Post-export script reinterprets timestamp format placeholder giving incorrect filename
Due to localtime and its statically allocated buffer, time_struct variable is
set at construct time but its value changes over time due to subsequent calls to localtime
in ardour process. Replacing localtime by localtime_r fix the problem.

This also fix 6713: Name of Audio (timestamp) does not match with written Filename in CD-Cue file
2016-02-13 12:45:40 +10:00
108528b63d amend d814acb - SystemExec/Export debugging 2016-02-13 01:39:41 +01:00
d814acbb8f add some debugging capability for users of SystemExec. Needs review. 2016-02-12 18:22:12 -06:00
4fdd03892d add NULL check for VST audioMasterSizeWindow 2016-02-13 00:51:17 +01:00
4a9ffee486 Allow partial CairoWidget exposure 2016-02-12 22:57:46 +01:00
2bdb078b63 include timespan-option with export preset 2016-02-12 14:01:40 +01:00
258c816554 fix copy constructor. 2016-02-12 14:01:40 +01:00
52ebf94c1e Class 'AudioGrapher::Analyser' needs to be exportable for building with MSVC 2016-02-12 12:31:24 +00:00
48fd05c391 Accommodate newly introduced source(s) in our MSVC project (audiographer) 2016-02-12 12:31:23 +00:00
fcf757139f Accommodate newly introduced source(s) in our MSVC project (portaudio_backend) 2016-02-12 12:31:23 +00:00
3f43e5cd04 Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour) 2016-02-12 12:31:22 +00:00
50145a93e6 export analysis: include true-peak positions. 2016-02-12 12:42:51 +01:00
a60312cfea vamp-true-peak: collect peak locations >= -1dBTP 2016-02-12 12:38:54 +01:00
4fd47182f2 Help clang static analyzer. 2016-02-11 23:12:20 +01:00
2c2002ee9c Prepare for optional timespan name during export. 2016-02-11 20:58:05 +01:00
e6b06597b7 remove all traces of "prolooks" and related classes 2016-02-11 13:03:24 -05:00
2429308bac Open URis with spaces. 2016-02-11 16:43:35 +01:00
f9e526dab8 tweak spectrum logscale 2016-02-11 16:09:34 +01:00
4b17bcb8b8 update export analyser for dBTP 2016-02-11 14:14:01 +01:00
d2fa4b3388 add dBTP Vamp plugin 2016-02-11 14:14:01 +01:00
148f2ab8e5 Add debugging output for WinMME midi device names 2016-02-11 12:15:07 +10:00
1499cd8670 Only build one version of the Portaudio backend that supports both blocking and callback API 2016-02-11 12:15:07 +10:00
85b4acc916 Change CairoWidget::get_active() to be const 2016-02-11 12:15:07 +10:00
830db39585 Implement new AudioBackend API in PA backend to choose between callback and blocking API 2016-02-11 12:15:07 +10:00
16835032ab Add API to AudioBackend for choosing between portaudio blocking or callback API 2016-02-11 12:15:07 +10:00
d50a821374 Add a missing include from portaudio WINMME source file
Apparently this is now required by my version of gcc/mingw
2016-02-11 12:15:07 +10:00
b2cf028fcb Implement MIDI device enumeration and latency offset/calibration in portaudio backend 2016-02-11 12:15:07 +10:00
6c10b31af1 only instantiate Analysis Processor if needed 2016-02-11 02:22:54 +01:00
df0f1b5ced stereo waveform, prepare spectrum faceplate 2016-02-11 02:22:54 +01:00
b01485f61f use short-term ebur128 histogram 2016-02-11 02:22:54 +01:00
837f8fac2b make post-export analysis optional (default to enabled) 2016-02-10 22:35:01 +01:00
8bc7ff85fb audiographer unit-test libs 2016-02-10 19:28:43 +01:00
d8b04d3124 cleanup: unhardcode spectrum size, logscale, whitespace fixes 2016-02-10 19:28:21 +01:00
4928d53f8d Add VAMP SDK to audiographer deps. 2016-02-10 17:08:06 +01:00
e41296bf5d Add loudness histogram Feature to the EBUr128 VAMP plugin 2016-02-10 15:11:45 +01:00
6c8a062be9 move export-analysis implementation into cc-file.
lib/libfftw3f.a(apiplan.o):apiplan.c:(.text+0x430): multiple definition of `fftwf_destroy_plan'

This is because static symbols in a .dll have no fixed address and
are mapped when loading the dll. Static functions in .exe do have a fixed
address.
With a header-only implementation the functions are provided
libardour.dll and ardour.exe
2016-02-10 15:11:45 +01:00
7c3d3031dc Fix for undefined references to fftw lib when using gcc/mingw 2016-02-10 23:10:17 +10:00
dd431de07d Add newly introduced source(s) to our MSVC project (audiographer) 2016-02-10 10:55:42 +00:00
7cb8b94d07 Add newly introduced source(s) to our MSVC project (libardour) 2016-02-10 10:54:44 +00:00
c1642fead8 Post-export Analysis 2016-02-10 03:01:05 +01:00
1ec78d26ee Fix crash when aborting export.
The "Stop" button results in ExportHandlerPtr being destroyed.
This must not happen while it's in use -- in particular during
ExportHandler::start_timespan() and ExportHandler::finish_timespan()
2016-02-09 21:36:49 +01:00
c00a07e811 detailed export state, prepare resolution for #6512
(Post-processing step should announce itself during an export)
2016-02-09 13:15:54 +01:00
a1d2c13077 mackie: if device type is unknown, make -D mackie show that 2016-02-07 10:28:07 -05:00
80a678de28 handle Mackie control device type ID = 0x6 (Behringer X-Touch Compact) 2016-02-07 10:28:07 -05:00
d862c357b3 change faderport name 2016-02-06 16:42:34 -06:00
09921e1d76 Mackie: shift+marker needs to remove marker. moved session-range to shift+solo.
Originally cbbd87f50b in mixbus/master
2016-02-06 15:47:27 -05:00
5516e3bdd2 mackie: better fix for 2016-02-06 14:24:06 -05:00
3b1d1675de mackie: stop crashes when switching to X-Touch Compact device 2016-02-05 17:59:29 -05:00
ff14f4d63c Mackie Protocol: more fixes for aac6a5 2016-02-04 11:44:23 -06:00
8f7ae26a96 Fix reporting of compressor mode (Mixbus) 2016-02-04 11:41:17 -06:00
1b5931a028 Mackie Protocol: fixes for aac6a5 2016-02-04 11:17:45 -06:00
37d6265e13 mackie: try to improve logic and management of device profiles 2016-02-04 11:24:26 -05:00
d3081fd816 mackie: reverse previous profile editor changes; allow profile to define anything except plain and shift actions.
For Fn keys we also allow plain and shift definitions
2016-02-04 11:24:26 -05:00
aefa63aaa6 mackie: radically shrink down the profile editor
We only expose user control over Fn keys and only the shift modifier
2016-02-04 11:24:26 -05:00
23b1944bea Mackie protocol: set-session-from-edit-range moved to shift+marker 2016-02-04 09:30:37 -06:00
aac6a59071 Mackie Protocol: Move buttons to more accurately reflect default mcp legends.
Modifiers are only modifiers (no actions directly on modifiers).
Punch indicators moved to Drop/Replace.
Added Save, Undo, Cancel (select none) and Enter (select all tracks)
Fixed click button.
Up&Down buttons now move the selected track up & down.
2016-02-03 18:11:21 -06:00
10a11492dd mackie: fix gain control display 2016-02-03 17:27:14 -05:00
eeff08aac4 mackie: use bus shortname in send subview.
Also slightly tighten route name display
2016-02-03 17:27:01 -05:00
7f82e7769f zero more stuff out when leaving subview mode 2016-02-03 17:25:28 -05:00
dc4daa892d Mackie Protocol: Show dB values for Mixbus "Send" levels.
No sense rewriting it now, but the correct way to approach
   this stuff is to pass in the control, and use
   the appropriate one of: interface, internal, or user values.
   in this case, get_user would have returned dB for both Ardour and Mixbus sends.
2016-02-03 13:48:56 -06:00
7d5671a411 mackie control: Fix crash when selecting Track on MIDI strip, don't create phase control if there is none. 2016-02-03 10:35:35 -08:00
9cce8d10a9 faderport: save+restore footswitch setting 2016-02-03 11:53:56 -05:00
57b9dab27c manually revert ec8cf4e4 with an extra comment explaining the significance 2016-02-03 11:45:23 -05:00
dd05f1e257 Fix bug #5633, Don't drop all midi bindings when a track is removed
Only drop the controllable that is being destroyed, not all of them.
2016-02-03 22:30:41 +10:00
07f8c04e2e Add a newly introduced source file to our MSVC project (libardour) 2016-02-03 10:14:48 +00:00
0ddbf665d8 generic MIDI: if a CC is bound to a toggled controllable, toggle the controllable only when the incoming CC value > 0x40
See comment in code for more details
2016-02-02 22:28:36 -05:00
b4a9bf5878 Mackie Control: Save old bank before we change it to new. 2016-02-02 18:41:49 -08:00
2367240735 fix mistaken logic for Route::MuteControllable::set_value() 2016-02-02 19:00:53 -05:00
fea89a7f9b fix compiler warning 2016-02-02 18:30:51 -05:00
8df1baa659 Fix for previous commit 2016-02-02 16:14:00 -06:00
ea08354c17 fix for knob scaling 2016-02-02 15:47:05 -06:00
2cb3343eec when looking up controllables via descriptors (e.g. generic MIDI control) use the new "well-known" route controllables 2016-02-02 16:42:50 -05:00
99a53ed7f0 Mackie Control: Fix Flip mode getting confused if subview is not sends. 2016-02-02 09:38:55 -08:00
7229dccb3b Mackie Control: Shift/Select now toggles individual channels within group. Makes this the same as other grouped controls. 2016-02-02 09:03:27 -08:00
a7775559c1 Mackie Control: remove Shift/select zeros fader. 2016-02-02 08:55:36 -08:00
abb151b8b0 Mackie Control: Moved encoder fine modifier from Control to Shift (Shift will be only modifier) 2016-02-02 08:49:16 -08:00
9b1a150dd9 mackie: update fader+pot when changing flip status 2016-02-02 11:17:38 -05:00
e38fad6228 faderport: fix binding of actions to footswitch 2016-02-02 09:21:13 -05:00
846afdd8e5 faderport: make blink/on/off status of record enable LED match the GUI one 2016-02-02 09:05:00 -05:00
ff2c3dbc81 control surfaces: fix BaseUI method for disabling record enable 2016-02-02 09:03:41 -05:00
a85b8ed842 mackie: fix display of input trim level trackview mode 2016-02-02 08:15:35 -05:00
4c13018656 mackie: fix display of send level/fader level in send subview 2016-02-02 08:08:14 -05:00
36b11098a2 mackie: substantial reworking of flip mode with large chunks of code no longer used.
Flip mode only works in Sends subview mode.

Display is incorrect when flipped - vpot is still updated by send level changes. TO BE FIXED.
2016-02-01 22:52:22 -05:00
f295f41683 set channel route phase control 2016-02-01 22:52:22 -05:00
aab4e17eb3 add new enums to libardour enum list 2016-02-01 22:52:22 -05:00
4b9ffc1b62 add a comment for The Future 2016-02-01 15:50:12 -05:00
22ea6423cd don't abuse ScalePoints idea 2016-02-01 15:49:54 -05:00
cf29447ec3 mackie: add Phase control (for first channel only) in Track View subview mode.
Also removed a couple of methods no longer used, since trim and phase are only
visible in TrackView mode.
2016-02-01 15:15:57 -05:00
b728d3c9ff clean up mess in Route/Track controllables caused by not understanding the significance of ParameterDescriptor 2016-02-01 15:15:02 -05:00
9539d0da40 add new automation types to ParameterDescriptor constructor.
This allows it to be used everywhere, as intended
2016-02-01 15:13:59 -05:00
f40167cb40 faderport: turn out all lights from destructor, and use Port::drain() to make sure data gets out 2016-02-01 13:27:08 -05:00
5153631d70 change API of MIDI::Port::drain() to include a maximum blocking time 2016-02-01 13:26:30 -05:00
d98021624f mackie: stop playing games with start/end range LEDs 2016-02-01 12:22:23 -05:00
ca813315bf mackie: add new bindings for Save,Undo,Cancel,Enter
these now control punch in, punch out, external sync and follow edits, respectively
2016-02-01 12:22:01 -05:00
5eccbbfbd6 mackie: fix stupid thinko, and use BaseUI::access_action() to correctly accesss GUI actions 2016-02-01 12:20:55 -05:00
c69514afe9 Mackie protocol: clear Marker modifer 2016-01-31 22:28:13 -06:00
7d81ad1d68 very very slightly more robust exclusion of monitor send from Route::nth_send()
some sessions name that send "Monitor" and some "Monitor 1"

The correct solution is a test of whether the send is connected to the monitor section.
2016-01-31 22:46:00 -05:00
55967972b6 mackie: slightly less fragile/more readable code for compute new controllable values from vpot events
This is still not really right - it doesn't do the right thing, i think, for trim controls
2016-01-31 22:43:21 -05:00
c66d7e8cf9 mackie: consistent use of Shift to mean "InverseGroup" 2016-01-31 22:42:29 -05:00
de29ed02bc mackie: display correct numerical send level 2016-01-31 22:41:46 -05:00
20d74585fd mackie: implement trim, monitoring, solo iso and solo safe for trackview submode 2016-01-31 21:54:01 -05:00
9cfd76c026 mackie: make shift-click use InverseGroup semantics as intended, not NoGroup 2016-01-31 21:53:29 -05:00
23f457e81e NOOP: comment fix 2016-01-31 21:52:46 -05:00
27b565d5cc mackie: make vselect events and pot events handle toggle/enumeration controls correctly (or more correctly 2016-01-31 21:52:14 -05:00
dd40138d38 make Session::rt_set_monitoring() conform to new Track API 2016-01-31 21:49:59 -05:00
c56058b9de provide route solo isolate and solo safe automation controls 2016-01-31 21:49:18 -05:00
d4258b1358 add new automation type enums 2016-01-31 21:48:32 -05:00
5ea5e513a4 make Track::set_monitoring() use a GroupControlDisposition; expose an AutomationControl for track monitoring choice 2016-01-31 21:47:19 -05:00
9128fbd68f add a new constructor for RouteAutomationControllable that takes a ParameterDescriptor 2016-01-31 21:45:36 -05:00
e2a085190f break out Route controllables code into its own source module 2016-01-31 13:20:18 -05:00
69b4228176 mackie: partially working trackview submode.
More controls/pots to come
2016-01-31 13:20:18 -05:00
da665a5dc5 mackie: fix bug that prevents global view mode from working without first banking 2016-01-31 13:20:18 -05:00
f44acc4857 mackie: fix some awful cut-n-paste errors 2016-01-31 13:20:18 -05:00
3631cc1532 mackie: remove Trim pot mode, and add skeleton for TrackView subview mode 2016-01-31 13:20:18 -05:00
d3dfd74497 mackie: strengthen behaviour of clear solo button 2016-01-31 11:36:46 -05:00
2491549923 mackie: make replace (finish-range) LED flash at the right time 2016-01-31 11:36:31 -05:00
6780b7eb54 mackie: make nudge work as modifier and on its own 2016-01-31 11:17:23 -05:00
b78be4d705 mackie: hard-code drop+replace buttons to start/finish-range-from-playhead
With some LED action that would even better with blinking
2016-01-31 11:02:21 -05:00
af1028bd90 mackie: make marker button work as Mackie intends it (as a modifier for rewind/ffwd) 2016-01-31 11:01:41 -05:00
2b56dc17e3 mackie: add "clean" method to invoke GUI actions from button events, in code 2016-01-31 11:00:16 -05:00
ef793d3762 mackie: shift-stop additionally requests MIDI Panic, as well as regular stop 2016-01-31 09:11:43 -05:00
0fa208015e Mackie Control: Make Monitor send not show in Sends subview. 2016-01-30 21:05:45 -08:00
e622f3e5b6 Mackie protocol: Fix stuck-on Read LED. 2016-01-30 21:38:18 -06:00
9115a2c5d2 Surfaces with separate meters should meter even when stopped. 2016-01-30 09:46:37 -06:00
f762cbff35 mackie: remove mention of "blinkers" concept 2016-01-29 18:40:56 -05:00
d5a8825ce8 mackie: basically (fully?) operation fader automatio control for first selected route 2016-01-29 18:37:03 -05:00
da35f58218 mackie: initial attempt at making automation-related buttons set fader automation state for selected routes 2016-01-29 16:29:52 -05:00
9fe4b7a92a mackie: if a subview mode is not OK because there's no selection, show no message 2016-01-29 16:15:41 -05:00
4a6724868d NOOP: change brace placement to avoid confusing emacs 2016-01-29 16:15:41 -05:00
42fbb96674 mackie: make group button (appear) to do something 2016-01-29 16:15:41 -05:00
9088944db2 Mackie protocol: More LED indicator fixes. 2016-01-29 14:26:08 -06:00
17301b87f9 mixbus: don't assert(ch_post()) in case we use various methods on "odd" Routes in the future 2016-01-29 13:02:00 -05:00
39a61dba83 mixbus: vpot press in non-subview mode should toggle master bus send 2016-01-29 12:58:50 -05:00
fd291d1fa5 add new Route API ::master_send_enable_controllable() to provide generic access to a mixbus-centric control 2016-01-29 12:58:15 -05:00
c6ea3515d1 mackie: in Sends subview mode, the enable control for the send should be looked upin the subview route, not the strip's own route 2016-01-29 12:41:50 -05:00
4b70a0aa0d Button::AudioInstruments should not be lit without good reason. 2016-01-29 11:28:15 -06:00
0a2377e9b4 mackie: redesign display logic entirely
Strips now maintain a pair of pending display strings (upper and lower).
A periodic timeout writes the pending value to the actual hardware if it
differs from the current string. This new design makes it easy to put a
message on the display and then after some period of time, revert to
whatever was there before.
2016-01-29 12:27:46 -05:00
1972cf966e Another attempt fixing crash at exit on windows. 2016-01-29 18:22:57 +01:00
8aaa027ed3 mackie: fix Global View button function
Bug introduced changing logic for set_view_mode()
2016-01-28 23:20:03 -05:00
d0668e5511 mackie: don't overload "Audio Instruments" and "Instruments" buttons.
With the MCU Pro, the button labelled "Instruments" uses the Dyn button ID.
The one labelled "Audio Instruments" does not.

This may break Nucleus support - needs to be checked
2016-01-28 23:05:28 -05:00
e862be7300 mackie: use Route::send_name() rather than Route::nth_send() 2016-01-28 23:05:28 -05:00
f1ed01b97f mackie: fix display of send level value 2016-01-28 23:05:28 -05:00
4a5b81a838 add new API to Route to get name of "well-known" nth-send
Route::nth_send() has the wrong semantics in Mixbus for this purpose. Probably
need to revisit this at some point
2016-01-28 23:05:28 -05:00
cf558ee18c Buses and Auxes are slightly different view-filters in Mixbus 2016-01-28 17:21:42 -06:00
54c3c9e494 prevent bank/channel switching past the end of the available routes; do nothing when a view mode finds no matching routes 2016-01-28 16:27:33 -05:00
ea895efb97 mackie: improvements to display when switching subview modes 2016-01-28 15:08:26 -05:00
d19b1b64b1 make Send button light appropriately 2016-01-28 15:08:25 -05:00
3332633d19 Editing from a control surface must have the ability to ignore mouse location.
Add mark_in and mark_out actions that explicitly use the playhead as the edit location.
2016-01-28 13:46:33 -06:00
e6a33b818f Add Playlist::duplicate_range/s utility methods 2016-01-28 12:25:16 +10:00
420206705d mackie: fix subview mode logic 2016-01-27 19:05:47 -05:00
e63c805fe2 mackie: clean up (some) interactions between subview mode and selection
Also, stop Plugin button from doing anything, since it has nothing to do yet
2016-01-27 19:00:27 -05:00
d121e6bf15 Fix AU port-name encoding.
This allows us to revert ec8cf4e4, maybe. After testing if
port-names are still properly displayed.
2016-01-28 00:00:47 +01:00
ec8cf4e4f5 Fix µ-iness. 2016-01-27 23:39:35 +01:00
b985f87a77 Use proper UTF8 file-names during export. 2016-01-27 22:58:59 +01:00
c61e5dbc18 remove debug output 2016-01-27 16:26:50 -05:00
7513176501 monitor send does not count in Route::nth_send() 2016-01-27 16:26:41 -05:00
66686a4e2a mackie: semi-working Sends subview mode 2016-01-27 14:15:41 -05:00
8e585338e0 no need for multiple send level/enable parameter types 2016-01-27 14:15:34 -05:00
9b2af90328 remove mackie send pot mode (subview mode for sends coming up) 2016-01-27 12:41:01 -05:00
c9e85c91fe return relevant AutomationControl for send_level_controllable() in Ardour 2016-01-27 11:38:14 -05:00
708d80029b make Route::nth_send() and Route::nth_processor() be const 2016-01-27 11:37:54 -05:00
c79243c805 add stubs and enums to access "well-known" send controls 2016-01-27 11:16:22 -05:00
64e90886b5 fix/improve logic for InverseGroup
the route group is "inactive for predicate" if EITHER the
group itself is inactive, or the predicate returns false.
2016-01-25 22:07:36 -05:00
90d12b6d5a faderport: add a few more sensible actions to the footswitch options 2016-01-25 15:11:47 -05:00
b02b6cc3cd faderport: add footswitch combos to GUI to allow user control over what the switch does 2016-01-25 15:11:36 -05:00
5b7fa0b3c5 faderport: add footswitch button 2016-01-25 15:11:26 -05:00
2005891d40 use route gain control, not amp->gain() 2016-01-25 11:48:43 -05:00
22a20c7333 change exposed type of various objects' gain controls; remove Amp::gain() as a shortcut 2016-01-25 11:47:21 -05:00
b6eab5ede5 deactivate plugin if connect_and_run returns an error 2016-01-24 03:22:19 +01:00
470255effa add wrapper for ChanMapping::get()
The boolean "valid" is implicit, get() returns -1 (really UINT32_MAX)
This simplifies upcoming lua bindings
2016-01-24 03:21:24 +01:00
8dad6fa2d1 remove incorrect/out of date comment 2016-01-22 11:58:31 -05:00
40aa65254a fix rebase issue from master 2016-01-22 11:58:31 -05:00
23794eca5b rename Controllable::WholeGroup => InverseGroup to reflect real intent.
Add logic to RouteGroupMember::use_group() to implement the real intent of InverseGroup
2016-01-22 11:58:31 -05:00
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
01fd887b9e Modify our MSVC project to accommodate newly introduced source files (libardour) 2016-01-22 12:29:30 +00:00
79f0a92818 Add a link library that's now needed when building ardour_cp
Now needs 'Timecode::BBT_Time' (from Ardour's 'timecode' lib).
2016-01-22 12:28:01 +00:00
a7141e1fc3 Transport_play should not jump back.
Typical use of transport controls is to ffwd and rewind, then "play".
This doesn't work well if the Play command always resets to starting position.
2016-01-19 14:00:51 -06:00
5493e20c84 Add all_tracks_rec actions 2016-01-19 14:00:03 -06:00
fe7aac8dac mackie: remove unnecessary connection to route group property change signal 2016-01-19 14:25:48 -05:00
fe3d85b204 Revert "mackie: still respond to route groups visibility changes"
This reverts commit a9ec547457.
2016-01-19 14:16:49 -05:00
a9ec547457 mackie: still respond to route groups visibility changes 2016-01-19 13:38:29 -05:00
22c5cb47f7 mackie: remove changes to group activation status when fetching routes to display
This creates an activation loop, because we fetch new routes to display when
group active status is changed. This was done to provide individual access to
routes that are in a group. We plan to do this using a shift modifier instead.
2016-01-19 12:46:08 -05:00
988a4521e4 add explanatory comment regarding IP_MULTICAST_LOOP, remove cout debug msg 2016-01-18 18:36:11 -05:00
a4271b8560 try using reversed IP_MULTICAST_LOOP semantics for windows 2016-01-18 18:15:48 -05:00
cd27f742d4 momo ip midi debugging 2016-01-18 17:57:06 -05:00
b520db4687 mo' ip midi debugging 2016-01-18 17:18:44 -05:00
0a6eed2b33 remove ipmidi debugging 2016-01-18 16:57:50 -05:00
62ff9d9276 windows, i love you, more 2016-01-18 16:43:27 -05:00
efca4413b9 windows, i love you 2016-01-18 16:41:59 -05:00
3fc50258b8 debug IP multicast loopback 2016-01-18 16:38:25 -05:00
650ee5a317 use cout instead of cerr, since this debugging is for windows 2016-01-18 15:53:28 -05:00
97f180c432 IP MIDI debugging 2016-01-18 14:45:36 -05:00
ce7f7e8e00 add 10sec zoom action 2016-01-18 18:24:14 +01:00
c5b93e2a01 track scrolling and zooming 2016-01-18 18:24:14 +01:00
27d82af077 add some horz and vert zoom actions; remove some whitespace from the code of the ui-actions, so they are easier to see and maintain 2016-01-18 18:24:14 +01:00
16623b1cb3 add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet 2016-01-18 18:24:14 +01:00
36e1ff48bc implement mark_in, mark_out, toggle_click 2016-01-18 18:24:14 +01:00
f0d9295dd6 implement remover_marker, jump_by_bars, and jump_by_seconds 2016-01-18 18:24:14 +01:00
5a55ac582d mackie: shift-fader overrides group settings 2016-01-18 12:11:09 -05:00
c2bf0fc94e remove shift-fader-touch as a way to reset gain to default 2016-01-18 12:11:09 -05:00
746d5c6624 add API to allow mackie controls to use GroupControlDisposition 2016-01-18 12:11:09 -05:00
cd401f5ab4 add new enums to libs/pbd enums registration 2016-01-18 12:11:09 -05:00
64c9198d60 add group disposition argument to Route::set_gain() and use it in various UIs
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
1948b50a68 working version of new gain control design 2016-01-18 12:11:08 -05:00
55094b7237 move Amp::GainControl out into its own source module and out of Amp 2016-01-18 12:11:08 -05:00
d1033819bd change ownership of the AutomationControl used by Amp.
It used to be owned by Amp. Now it is owned by Amp's owner
2016-01-18 12:11:08 -05:00
19af86ece2 Mackie Control: Fix crash in multi-surface setup when add/remove tracks. 2016-01-18 08:58:07 -08:00
ef7c6730cb Groups: Fix un/set hidden/show should reset RID for tracks involved. 2016-01-17 14:17:02 -08:00
7b08d650c0 Change last commit to use it's own variable rather than borrowing solo's 2016-01-16 14:40:03 -08:00
65be9fa2fa Mackie Control: fix global Solo lamp to get signalled for listens active too. 2016-01-16 13:53:52 -08:00
23041fda88 Mackie Control: fix math error that tried to change bank to very high number 2016-01-16 11:17:52 -08:00
92dba5bfa3 Mackie Control: Added hidden tracks view mode. 2016-01-16 07:32:30 -08:00
9d65e6084c clean up functors used in cross-thread call_slot() messages, in case they contain shared_ptr<T>, which could result in a dangling reference 2016-01-16 09:33:31 -05:00
d61cf81997 The return of threaded waveform rendering and related crashes. 2016-01-16 14:18:59 +01:00
9dfdaff1a4 Mackie Control: Need signal from session if group parameters change so strips redisplay if group un/hides. 2016-01-15 16:19:15 -08:00
b3fd65d149 Mackie Control: Don't show hidden groups either. 2016-01-15 13:58:08 -08:00
6b356448e3 Mackie Control: Don't show hidden routes. 2016-01-15 13:16:24 -08:00
d14e3ccc24 force LV2 plugin-state save for templates - #6709 2016-01-15 13:44:17 +01:00
440618b463 Add a newly introduced source file to our MSVC project (ardour_osc) 2016-01-15 11:59:43 +00:00
5f61409c90 Fix build of OSC surface caused by missing include of i18n/gettext header 2016-01-15 12:14:52 +10:00
d3ab91d171 touchOSC compat for common route operations 2016-01-15 01:31:12 +01:00
b6c78ad9c8 fix OSC debug messages 2016-01-15 01:29:44 +01:00
6a6f414fc0 OSC-debug: print argument 2016-01-15 00:57:33 +01:00
919feac5f7 use PBD instead of C++11. 2016-01-14 23:46:51 +01:00
141352341c Generic MIDI: midi controller buttons should only trigger on the PUSH, not release. This might have to be reveisited later, but it looks right to me and it fixes operation on 2 different devices here 2016-01-14 16:39:50 -06:00
ddb362fe17 Generic MIDI: add ToggleRecEnable action, and change all maps to use that instead of separate rec-enable, rec-disable, which didnt work 2016-01-14 16:37:54 -06:00
368be3585e OSC debugging, allow to log incoming & unhandled messages 2016-01-14 23:34:37 +01:00
0b58cde467 Mackie Control: Remove unused global_solo_* functions, moved functionality to clearsolo_* functions.
Changed to clear only rather than toggle and added Listen Clear as well.
2016-01-14 13:06:14 -08:00
aacf086246 add API to query signal value of audio-latency measurement 2016-01-14 19:10:04 +01:00
2386410e4a remove debug output 2016-01-14 11:00:50 -05:00
9ab92a67c8 use correct type of lock when removing a thread request buffer 2016-01-14 11:00:40 -05:00
5e4d9612e3 faderport: stop event loop when destroying object 2016-01-14 10:59:27 -05:00
35807a1929 fully clean up request buffers when a thread dies 2016-01-14 10:53:32 -05:00
077c65cc2a manually revert 4b3043cc and 141e6fb8181; add detailed explanatory comment 2016-01-14 09:05:06 -05:00
da087e920b ensure that each and every audioengine-related thread has a unique name 2016-01-14 09:05:06 -05:00
141e6fb818 don't pick up already dead thread request buffers when setting up an event loop 2016-01-13 23:25:17 -05:00
4b3043ccda use a unique key to store per-thread request buffers 2016-01-13 23:00:02 -05:00
d3ad5c16d1 yet more event loop debug tracing 2016-01-13 21:13:55 -05:00
6d04a66eea more event loop debugging 2016-01-13 19:48:17 -05:00
3e45254257 typo fix 2016-01-13 18:14:52 -05:00
f3c9f5894a lots more DEBUG_TRACE statements for analysing malfunctioning system 2016-01-13 17:03:49 -05:00
9a52cefd13 Fix bug 6725 regions incorrectly moved after tempo change when glued to BBT time
Playlist::_split_region copies the region and BBT_Time member is default
constructed so position is bar 1 beat 1.

The regions sample position is then initialized to the new position using the
property list.

Playlist::add_region_internal is then used to add new regions to the playlist
which calls region->set_position() but as the region position has already been
initialized it does not recompute the _bbt_time member based on the new sample
position.

Then when a tempo change occurs and Region::update_after_tempo_map_change is
called the default initialized _bbt_time member is used to incorrectly
determine the new sample position.

So the change removes the initialization of the new region position using the
property list initialization method and just lets the playlist set the position
of the region in Playlist::add_region_internal so that the region _bbt_time
member is recomputed in Region::set_position_internal.
2016-01-14 07:05:04 +10:00
b81504581b another DEBUG_TRACE for mackie control x-thread requests 2016-01-12 23:30:14 -05:00
bcb865c235 improved debug trace messages from BaseUI class 2016-01-12 22:11:44 -05:00
7cbf35a3d6 Mackie Control, Fix sends after monitor not showing. 2016-01-12 08:15:57 -08:00
90c4985604 remove wavesaudio backend 2016-01-12 08:06:47 -05:00
cf6a3afcaa name ALSA midi ports after device 2016-01-11 11:46:10 +01:00
0fc06b4a1b fix warning message typo 2016-01-11 11:45:44 +01:00
d134ba037d fix compilation of debug builds
ArdourSurface::FaderPort::Button::name is private
2016-01-11 11:07:09 +01:00
f1d0de029d remove debug output 2016-01-10 23:34:10 -05:00
530dd4255c faderport: remove wierd shift use design; make user+shift work again 2016-01-10 23:32:21 -05:00
a9995c59cc coremidi: do not clear port buffer for every call to parse_events()
This was limiting the data flow to 1 MIDI event per process cycle.
2016-01-10 17:46:36 -05:00
36fb8c44c1 add explanatory comment regarding coremidi data flow 2016-01-09 14:45:38 -05:00
539d924691 fix const-ness issue.
This one is debatable, but since we know that the filter method is const with respect to the AUPluginInfo
object, the const_cast<> seems like the simplest AND cleanest solution
2016-01-09 14:03:13 -05:00
4a99727dea coremidi: be sure to mark _event._pending false after queueing, so that it doesn't get queued up again later 2016-01-09 13:53:17 -05:00
e6e7377cd8 API evolution
The Session-reference is only needed to instantiate/load the plugin.
Indexing presets is not supposed to call load() and be const WRT to
PluginInfo
2016-01-09 15:22:16 +01:00
0e6f763734 and again. 2016-01-09 01:24:10 +01:00
5a047fcd15 fix typo in ce7d18bc16 2016-01-09 01:01:18 +01:00
ba450aaeaa Leave a ToDo note: distinguish LV2 user and factory presets. 2016-01-09 00:57:53 +01:00
ce7d18bc16 don't allow to delete factory presets 2016-01-09 00:51:24 +01:00
7623b4bea0 exclude AU factory presets from favorite list 2016-01-08 21:13:03 +01:00
25a128f853 Fix monitor-section session-property vs preference state.
The initial value of Config::get_use_monitor_bus() may not reflect
the current session's state when loading a session.
2016-01-08 16:01:56 +01:00