13
0
Commit Graph

9971 Commits

Author SHA1 Message Date
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
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
81a3ae985d Keep plugin presets in sync across plugin-instances. 2015-12-25 22:38:48 +01:00
b92f208b52 don't assume plugin presets start their numbering at zero. 2015-12-25 17:12:37 +01:00
a8159326b8 add a PluginPreset struct: combined plugin-info + preset-record
...in preparation to allow adding presets directly.
2015-12-25 14:38:31 +01:00
3ff674d583 Treeview Drag: allow to use single column as drag-widget 2015-12-24 17:26:06 +01:00
8649c1759e #define BACKEND_NAME when building with MSVC (portaudio_backend)
N.B. We aren't yet building the blocking PortAudio backend but that can be added quite easily, if needed.
2015-12-23 15:09:18 +00:00
d880645cac Modify our MSVC project to accommodate newly introduced/removed source files (libpbd) 2015-12-23 15:09:17 +00:00
9cddc7cda0 add monitor-processor pre-fader (not at the top) 2015-12-23 14:35:31 +01:00
Edgar Aichinger
751e6a3dbc Update German Translation for libardour 2015-12-23 12:43:54 +01:00
Nil Geisweiller
742d176479 Fix overlapping resolution (see issue #177)
It assumes that a note ending at the same time of another one starting
is not considered overlapping.
2015-12-22 04:52:50 +01:00
Nil Geisweiller
3a6f62d238 Fix indentation (whitespace -> tab) 2015-12-22 04:52:50 +01:00
dc20611933 add signal for Plugin Status Changes (Hidden/Favorite) 2015-12-22 04:25:37 +01:00
2a55e8b9b3 extend Drag/Drop mechanism
DnDVbox: un-hardcode TargetEntry list, add callback for secondary targets
DvDTreeview: return pointer to self
2015-12-22 04:14:12 +01:00
b67892833b ship both blocking and callback PA backends (for debug purposes)
this just works (no symbol conflicts)
2015-12-21 22:12:15 +01:00
66bc06051b add monitor-section processor limitations. 2015-12-21 14:38:16 +01:00
85e12e8095 Mackie control: non-existent controls zero pot ring fix. 2015-12-19 11:50:13 -08:00
d9eb5e00c5 cont'd work on plugin-state templates - #6709
Refactor and consolidate code and re-use it for session-templates.
This avoids recursive copying of the plugin-dir()
2015-12-19 14:46:15 +01:00
ec9a8f022c open Finder/Explorer/File-manager in case of session-dir ambiguity. 2015-12-18 17:46:08 +01:00
6e7ce525f7 cleaner version of 7383ea6a (duplicate plugin state) 2015-12-18 14:55:33 +01:00
3eb04c3c23 save/restore plugin state with track-template 2015-12-18 14:27:15 +01:00
7b6ef41f0c leave some todo-notes #6709 (track templates & state) 2015-12-17 23:48:06 +01:00
7383ea6a35 properly copy plugin state when duplicating routes. #6709
This is not a really elegant solution. Something had to come up and
ruin the neatness of the thread-private regenerate_xml_or_string_ids :)
2015-12-17 23:47:50 +01:00
b48d87b3ea add API to query stateful ID override mode 2015-12-17 23:18:22 +01:00
bdfddec6fc more hot wine. 2015-12-17 20:22:02 +01:00
07e4377d7b NoOp: removed spaces, replaced with tabs. 2015-12-16 20:41:50 -08:00
82f31fe624 Mackie Control: Re-enable view_mode display and make sure all text vanishes after timeout. 2015-12-16 14:38:21 -08:00
8bb4ac0ac7 Fix MCP time display sometimes doesn't update to zero time on return to zero (shift-rew) 2015-12-16 12:24:10 -08:00
2f86d1b7dd properly namespace hacked OSC callbacks, add some notes. 2015-12-16 18:17:38 +01:00
13d704b25d redundant OSC commands to support TouchOSC and Lemur (vestigial float args) 2015-12-16 10:29:49 -06:00
bff1fcbe48 mackie: restore access to trim and pan width control
Change from Evoral::Parameter to AutomationType caused this glitch
2015-12-16 11:05:40 -05:00
cfff528ae9 expose the right panning parameters for ardour 2015-12-16 11:05:11 -05:00
2992506652 disable threaded waveview rendering.
This will be re-enabled once 4.5 has been released
2015-12-16 10:28:17 -05:00
90f64364cb Update Russian translation 2015-12-16 12:47:24 +01:00
3b872fb207 fix some merge issues from cherry-picking mackie changes from a mixbus repo 2015-12-16 06:31:06 -05:00
11f069f118 add new automation types for EQ and compression 2015-12-16 06:30:43 -05:00
93d5fe83c8 mackie: properly track lifetime of subview route; fix subview/potmode LED state mgmt 2015-12-16 06:01:55 -05:00
a9a4cfb166 mackie: track compressor mode changes in display 2015-12-16 06:01:47 -05:00
1152bf87a2 make vselect-press in subview mode act as a toggle for toggled controls 2015-12-16 06:01:38 -05:00
a6da818bc4 add dynamics support to mackie control 2015-12-16 06:01:29 -05:00
e3d0de3bf6 mackie: use new route API for universal access to pan/eq/dynamics parameters to provide panning and EQ control 2015-12-16 06:01:20 -05:00
ab3f0f75a8 new route API to discover/access well-known automation controls for panning, EQ and compression.
The EQ and compression parts do nothing for Ardour, where there is no identifiable and understood plugin to perform their
roles. They do work on mixbus, which also serves as a model for how to do this.
2015-12-16 06:00:56 -05:00
81179389d3 mackie: cleanup subview mode a little 2015-12-16 05:55:10 -05:00
8ba8f1c0b0 fix cherry-pick conflict 2015-12-16 05:54:43 -05:00
e302ce8662 only use 1/100th gap between markers if transport is stopped, to prevent repeated user action from adding multiple markers when stopped (mackie version) 2015-12-16 05:52:47 -05:00
a1ef99b9b7 add beginnings of EQ and dynamics control to mackie for mixbus 2015-12-16 05:52:36 -05:00
99764e946a add UserA and UserB buttons to mackie button list 2015-12-16 05:52:27 -05:00
616e925322 tentative mcu panning for mixbus. hey, it compiles 2015-12-16 05:46:52 -05:00
f05afd973b update URI (see lv2-dev email list) 2015-12-15 09:07:00 +01:00
a168d8b75e explicitly disallow looping with external-sync
amend 939808a7
2015-12-15 08:39:09 +01:00
ff76ef86b4 faderport: long press on fader mode buttons switches fader automation to manual/off; off button is never sent an LED state message to avoid fader disabling 2015-12-14 14:42:12 -05:00
e928edca32 faderport: fix setup of periodic callback (cut-n-paste error) 2015-12-14 14:41:38 -05:00
d59739d728 faderport: add 100msec (10Hz) periodic update to facilitate automation playback 2015-12-14 13:28:31 -05:00
40a352e8a1 faderport: disable automation state button mapping until (if ever) we can figure out why it kills the fader 2015-12-14 13:28:31 -05:00
cc607fa161 fix DEBUG_TRACE messages from faderport that used MackieControlProtocol via cut-n-paste 2015-12-14 13:28:31 -05:00
634321ba45 Fix Trim control range does not match control (issue #6696) 2015-12-13 15:53:24 -08:00
756a4cd85f API consistency 2015-12-13 18:32:55 +01:00
03ed30ac9b update LV2 URI 2015-12-13 18:29:44 +01:00
7ffeb70b1b Fix ff->stop->play not at speed 1.0 on Mackie Control and some key bindings. 2015-12-13 09:16:57 -08:00
29416edbbf remove debug output 2015-12-13 08:38:54 -05:00
8bdab38d43 track add/remove of monitor and/or master busses in mackie support code.
Somehow fails to move master fader to correct position when monitor section is added
2015-12-13 08:33:09 -05:00
6e13b91a35 portable pthread_self() debug message 2015-12-13 11:28:56 +01:00
3d1dcacfd8 use correct source for application name when labelling a window 2015-12-12 11:12:10 -05:00
be6a43d4d3 use EventLoop::event_loop_name() 2015-12-12 11:12:10 -05:00
f32fc212f3 change AbstractUI implementation to use EventLoop::event_loop_name() and add extra DEBUG_TRACE statements to track thread registration with event loops 2015-12-12 11:12:10 -05:00
a419fb5af0 fix endless-loop-at-shutdown bug now that abstract UI request buffers are used 2015-12-12 11:12:10 -05:00
f369f33955 move BaseUI::_name into EventLoop; rename access method in EventLoop as event_loop_name() to clarify usage 2015-12-12 11:12:10 -05:00
162352419d NO-OP re-indent 2015-12-12 14:54:52 +01:00
6a1799f095 remove invalid free. - fixes crash with generic midi surface
if there is a per_thread_request_buffer,  get_request() simply puts a
POD RequestType on the ringbuffer's head.  send_request() increases
the write-pointer.  There is no memory to free.
2015-12-12 14:52:35 +01:00
dac57703cc correct name of Midi-UI thread memory-pool and request-queue 2015-12-12 14:45:17 +01:00
eb26cb346a even more attempted changes for ipMIDI on windows 2015-12-12 01:17:49 -05:00
c92af555b4 further attempted changes for ipMIDI on windows 2015-12-12 01:16:44 -05:00
e9e477ffe5 some attempted changes for ipMIDI on windows 2015-12-12 01:13:49 -05:00
6f71125476 try just removing all PLATFORM_WINDOWS conditionals in ipmidi code to see if it will compile 2015-12-12 00:58:07 -05:00
0103de801a Mackie Control, fix timecode sometimes won't update. Do full display if transport moves faster than 800%. 2015-12-11 12:57:24 -08:00
14ef6017f6 add a few new actions to Faderport menus, and reorganize them slightly 2015-12-10 17:25:29 -06:00
5630332797 fix LV2 plugin state for copied plugins. 2015-12-10 19:31:00 +01:00
699f9b097d LV2 specific instrument-plugin check 2015-12-10 17:20:08 +01:00
e18ea188f4 Fix Mackie control Gain while in flip mode (vpot control of gain) 2015-12-09 09:21:36 -08:00
Edgar Aichinger
ba3936391a update german translation 2015-12-09 13:22:25 +01:00
8bfa7d95c1 fix/workaround OSX "No Memory Pool"
fixes issue on MacBookPro11,1 OSX 10.10

* Coreaudio: internal speaker + internal Mic
* start recording
* plug-in headphone
* stop recording 
-> crash
  process_callback -> [..] stop_transport -> no RT memory pool
  for realtime event.
2015-12-09 11:13:18 +01:00
548989fc75 Fix MCP send display value scaling. 2015-12-08 22:45:59 -08:00
2d03db51cd there is no "default" mackie device profile 2015-12-09 00:19:15 -05:00
014f010489 if Mackie device profile name is empty, use a default name that makes sense and that will be rediscovered on next startup 2015-12-09 00:12:28 -05:00
fcf20ee91a Set vpot to the same range as the fader. Fixes trim from -16 to -20. 2015-12-08 19:30:57 -08:00
43d3bf5696 Set_self_solo should always set the mute_master state as well.
This fixed a bug in mixbus when a session was reopened with a soloed bus.
This may not be necessary in Ardour but I think it is more correct.
2015-12-08 15:44:11 -06:00
2f5c4c29c6 2K? that's micro -- use macrosoft for lots a files, please! 2015-12-08 18:39:56 +01:00
6c99576250 faderport: stop trying to cache LED state (fixes various bugs); blink mute for muted-by-others; blink transport for speed != 1.0 && != 0 2015-12-08 11:09:50 -05:00
fe0802169c standardize port-names 2015-12-08 15:32:05 +01:00
1c8ad40339 touch peakfile after closing a SndFileSource
libsndfile (can|may) update the headers at close, which can lead to the file being marked newer than the peakfile,
thus causing a rebuild of the peakfile at session (re)load.

Originally detected by Grygorii
2015-12-08 09:07:51 -05:00
de877cb497 add config variable to en/disable opening the plugin gui after adding a plugin 2015-12-08 13:44:05 +01:00
1372407f82 fix previous commit. 2015-12-08 00:52:06 +01:00
8781004ca2 portaudio connect & graph-changed callbacks (untested) 2015-12-08 00:36:29 +01:00
bbdd25205d MCU: fix likely copypaste thinko in mcu panner knobs 2015-12-07 17:31:45 -06:00
3d79e3c116 adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes 2015-12-07 12:38:17 -05:00
2f48997dfb remove unnecessary (?) conditional.
Given that we use "port" after the test, the test makes no sense
2015-12-07 12:38:17 -05:00
41b2de41d6 change API for accessing session MIDI ports so that (1) boost::shared_ptr<> is used all the time (2) we avoid using multiple functions to return different subclass versions of some ports 2015-12-07 12:38:17 -05:00
Kamil Rytarowski
2da6e45922 NetBSD: Stop hardcoding Python binary name
Caught with pkgsrc on NetBSD
2015-12-07 13:24:36 +01:00
065d7c852a outline a "NoSampleAccurateControl" LV2 feature:
Since control-ports have a fixed value for the current process-block,
Ardour splits a plugin's run() process cycle on every automation event
to facilitate sample-accurate automation.

Since automation is interpolated between events, this ensures that each
explicit automation point is reached (not interpolated).

Plugins where this is not required and which favor a fixed block-size,
can now specify an optional Feature: NoSampleAccurateControl.

One example: a convolution plugin with smoothed gain control.
2015-12-06 14:27:24 +01:00
e6ff687138 Update Russian translation 2015-12-06 09:58:42 +01:00
10b715d1ff Normalize user-visible messages to use 8-bit, 16-bit, 24-bit, 32-bit and 64-bit 2015-12-06 01:00:20 +01:00
9fa4d3c77f elaborate on prev. commit: ignore irrelevant files in the interchange dir. 2015-12-05 16:35:41 +01:00
a2b7a8ccab session-dir/interchange: ignore hidden directories. 2015-12-05 16:07:45 +01:00
7ad8ad8823 JACK: expose --nperiods option 2015-12-05 13:56:18 +01:00
4dc49ee4fa fix -Wreorder 2015-12-05 02:42:58 +01:00
a6f27f09a7 update ALSA backend: separate playback/capture periods
fixed: 2 for capture,  configurable 2,3 for playback.
2015-12-05 01:53:13 +01:00
e3d2898c8d more Faderport debugging, for windows 2015-12-04 18:11:05 -06:00
0a997f62cc remove spurious printout 2015-12-04 17:32:23 -06:00
bfd2cbaa3f ALSA: allow to dynamically add/remove midi devices & update their latency. 2015-12-04 22:19:47 +01:00
ac075560bd ALSA: allow to measure & set systemic audio latency w/o restart.
(MIDI needs a bit more work)
2015-12-04 17:45:49 +01:00
95f91d9dbd update engine to allow latency measurement w/o restart. 2015-12-04 17:09:41 +01:00
78a9791b58 add interface for latency updates w/o restarting the backend
This is useful for USB devices. Since there is a ringbuffer in the driver
(common on ALSA but also other platforms) to align the USB stream with
USB bus timing the latency can differ every time the device is re-opened.
2015-12-04 17:08:45 +01:00
a49284a909 fix thinko in engine latency state
(skip Halted signal when stopped for latency)
2015-12-04 12:45:53 +01:00
990fd75c5f implement ALSA period/cycle setting 2015-12-04 10:16:19 +01:00
13926d9bbb add an interface to select playback buffers/period 2015-12-04 10:16:19 +01:00
e82cc88c6f faderport: show current User button bindings in GUI 2015-12-03 21:45:41 -05:00
a9ce37b7ac faderport: fix long press behaviour, and fix ardour-only behaviour with user button when used as a modifier 2015-12-03 18:38:09 -05:00
b07d86ac61 make faderport support report its port bundles as it should 2015-12-03 12:50:32 -05:00
900f59dcde faderport: generalized blink on/off code 2015-12-03 08:36:56 -05:00
43e5d639cc Faderport: Punch indictor was being left on after blinking 2015-12-03 07:27:42 -06:00
Kamil Rytarowski
2b869e1563 netbsd: Fix unportable shell construct
Caught with pkgsrc on NetBSD
2015-12-03 12:19:34 +01:00
20facc4d18 Faderport: map automation indicator LEDs 2015-12-02 20:06:29 -06:00
16a100703b GenericMidi: Partially working IO selectors.
2 remaining problems:
*  IO selectors are not updated if you change the connection outside the dialog.
*  occasional crash on the next startup, after a connection is made from the menu.
2015-12-02 19:18:22 -06:00
90275ded6a faderport: a clever hack to make the Shift modifier "sticky"
The user can now press+release Shift, then another key OR press Shift, then another key before releasing Shift. Both
event sequences will have the same result
2015-12-02 17:40:58 -05:00
ba02c171f1 add session safeguards to OSC callbacks 2015-12-02 22:40:36 +01:00
Johannes Mueller
f11e18555e Cleanup to make it coding style compliant. 2015-12-02 22:38:29 +01:00
Johannes Mueller
4a429fab0e Add support to signal the transport state by OSC
Implement transport_speed in the same style like transport_frame. Up to
now transport_speed and record_enabled are implemented.
2015-12-02 22:38:29 +01:00