13
0
Commit Graph

9796 Commits

Author SHA1 Message Date
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
ef45a6c84b coreaudio: remove debug output 2016-01-08 09:43:33 -05:00
63cbe11c67 coreaudio: remove debug output 2016-01-08 09:39:55 -05:00
cae2f82278 NOOP: fix whitespace/indendentation in coreaudio backend code 2016-01-08 09:39:00 -05:00
3d5e345800 coreaudio: reset MIDI parsers when entering and leaving freewheeling 2016-01-08 09:23:05 -05:00
13148d29e2 translatable "Monitor" processor name 2016-01-08 14:21:14 +01:00
24344d5d11 Expose overall monitor-processor state 2016-01-08 14:20:58 +01:00
b4b0f57c0b remove default implementation to query plugin-preset names 2016-01-08 11:09:43 +01:00
425843d2fd Update Russian translation 2016-01-08 00:40:41 +01:00
9d3cbe44a3 coreaudio: correctly clear MIDI port buffers 2016-01-07 18:11:45 -05:00
c615e26f3c coreaudio: factor out common code for stuffing MIDI data into a CoreMidiPort buffer 2016-01-07 18:11:45 -05:00
087610dc56 Allow to query Windows VST user-preset-names 2016-01-07 22:58:27 +01:00
1973e6ec93 lxvst preset name display (user presets only) 2016-01-07 22:58:27 +01:00
58edc83d11 tweak/add faderport debug messages 2016-01-07 16:42:57 -05:00
6e71d3b445 coreaudio: per-port parser for incoming MIDI, copied from ALSA Raw MIDI support 2016-01-07 16:42:34 -05:00
085ffef106 LADSPA preset discovery 2016-01-07 21:05:14 +01:00
b7e06693be nitpick 2016-01-07 20:44:59 +01:00
674b4ec0db discover AU presets without instantiating plugin 2016-01-07 20:35:28 +01:00
2cddd0d81f don't re-activate LV2 plugin before cleanup. 2016-01-07 18:11:35 +01:00
deb6884a53 LV2 - query presets without instantiating the plugin 2016-01-07 17:23:39 +01:00
d5dbdc9ea5 Add API to allow querying plugin-presets without instantiating the plugin 2016-01-07 17:23:39 +01:00
8a84caf4a4 NO-OP, re-order header 2016-01-07 17:23:39 +01:00
d735145969 fix missing symbol on OS X 2016-01-07 10:40:08 -05:00
YQ-YSY
e0b9979d7f Update zh.po
update libs/ardour/po/zh.po translate English -> Chinese all done.
2016-01-05 12:30:59 -05:00
b456060388 OSC API update for surfaces that always send float parameters. 2016-01-04 18:18:13 +01:00
d7078df3eb amend 9e3299f for Mixbus 2016-01-03 20:39:47 +01:00
1e5bcc4f76 re-map lv2-port (symbol) with Controllable ID
LV2 plugin port indices can change, so we need to save the symbol name
with the controllable and look up the port-index on load.
2016-01-03 18:15:59 +01:00
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
b5ed8495fb remove debug output 2016-01-01 06:58:56 -05:00
5d8b75386c allow to set per item drag targets 2015-12-30 12:25:09 +01:00
f3179cc5e3 Modify the MSVC build project (for libevoral) such that it can find pthread.h
libevoral itself doesn't seem to need libpthread - but by some mechanism it #includes <pbd/event_loop.h> (which now does #include <pthread.h>). So let's make sure it can be found.
2015-12-30 10:17:55 +00:00
b390d8c8a6 possible extra housekeeping for control protocol modules.
Currently this code isn't reached because we never call ControlProtocolManager::teardown() on inactive protocols. But at some point it might be appropriate to unload modules (.so/.dll/.dylib) even if the protocol was never instantiated
2015-12-30 04:11:14 -05:00
2c6d92ec96 safer housekeeping for control protocol descriptors 2015-12-30 03:51:00 -05:00
75021abfd6 some good practice. 2015-12-30 00:45:24 +01:00
d58f68ae97 fix control surface discovery crash:
On OSX unloading a module deletes all references to it and
the descriptor becomes invalid.
2015-12-30 00:41:33 +01:00
2c95cb0652 keep AU cache in cache-dir 2015-12-29 23:11:01 +01:00
80a730550d clang build fix (uint32_t is not declaed) 2015-12-29 18:49:56 +01:00
2d871435ca allow to set parent for modal dialog 2015-12-29 13:31:24 +01:00
b8bb3eae47 generic MIDI support does not have its own request buffer factory, so be sure to initialize descriptor member to null 2015-12-29 05:41:59 -05:00
6a8b8c8523 add check for descriptor when deciding whether to register a control surface request buffer factory 2015-12-29 05:20:50 -05:00
ee541036b4 fix window-title (separate application name, thread name) 2015-12-29 11:03:09 +01:00
23333a271e fix windows/mingw builds 2015-12-29 10:30:27 +01:00
6f347d325a prepare VST window resize
(this only triggers resizing the parent container window (like user
resizes), which is not sufficient for all plugins.
2015-12-28 23:43:59 +01:00
be3d8bc3d0 add midi-track mute automation 2015-12-28 18:30:46 +01:00
8e1a9f0ada missing drag-end (fix possible crash) 2015-12-28 17:23:45 +01:00
e2f6c59639 add required request buffer factory for Wiimote 2015-12-28 11:13:04 -05:00
0d9efc1148 redesign cross-thread registration/signalling system
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
0aba08594c allow DnD between DnDTreeView and DnDVbox 2015-12-28 04:10:39 +01:00
dd9e0e49a0 proper display name for Monitor Processor 2015-12-27 18:36:20 +01:00
8d45eecd45 somewhat better solution to prev commit.
parse up to 32bit VLQs, match smf_format_vlq()
2015-12-27 03:40:48 +01:00
2c197fd89a work around midi-event counter 4 byte overflow. 2015-12-27 02:09:54 +01:00
435dd4e98f fix samplerate initialization. 2015-12-26 04:52:08 +01:00