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