13
0
Commit Graph

9654 Commits

Author SHA1 Message Date
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
André Nusser
ba4db8f6cb Add function to duplicate until a certain frame.
This excludes the 'end' frame.
2015-12-02 14:59:43 -05:00
c93f0b77bf rename ProcessSemaphore to Semaphore (libs) 2015-12-02 20:18:48 +01:00
3242f16d44 consolidate semaphore implementation (part four) 2015-12-02 16:27:14 +01:00
15c958e32f consolidate semaphore implementation (part three) 2015-12-02 16:09:51 +01:00
003b632ed1 consolidate semaphore implementation (part one) 2015-12-02 16:03:28 +01:00
14d6470ad3 prefer pthread-semaphores (posix API) with mingw
Hopefully this resolves glitches on hyperthreading machines.
Apart from using unnamed Semaphores, pthread-w32 includes additional locks
(guess: mem-barriers), a fallback implementation and windows-specific
tricks that I'd rather not want to know about :)
2015-12-02 13:59:48 +01:00
e9be313c11 Fix latency compensation for audio data in portaudio backend
For drivers that correctly report latency values(ASIO) this should result a
much closer alignment of audio in a loopback test. Measurement and
adjustment may still be needed, especially for non-ASIO drivers.

Testing with the RME HDSP Multiface and Yamaha AG06 using ASIO drivers results
in maximum offset of a couple of samples.
2015-12-02 10:24:08 +10:00
b4fb1d610b Use portaudio callback API by default in portaudio backend 2015-12-02 10:24:07 +10:00
5f267f92bf Rename member variables in Portaudio Backend for consistency 2015-12-02 10:24:07 +10:00
29feb914b9 Rename blocking process function in portaudio backend 2015-12-02 10:24:06 +10:00
3e6b28daca Rename blocking thread function in portaudio backend 2015-12-02 10:24:05 +10:00
aaebeb3d2b fix typo in variable name 2015-12-02 00:59:32 +01:00
0544e74fdf merge from mixbus branch.
keep control surfaces special cases upstream.
2015-12-02 00:55:01 +01:00
b0fe298f72 faderport: factor out encoder divider into a const double 2015-12-01 18:47:29 -05:00
ee9524c9b6 faderport: make punch button LED indicate punch status 2015-12-01 18:45:43 -05:00
fd44adfe01 faderport: change panning dividers to give full range across very roughly 270 degrees of rotation 2015-12-01 18:32:55 -05:00
cb965cba16 start tweaks to make Shift sticky; remove Shift-press combobox from gui since we don't allow that to be bound (next-marker) 2015-12-01 16:19:16 -05:00