Commit graph

14181 commits

Author SHA1 Message Date
Paul Davis
1168ffecad remove crazy thinko 2018-10-07 12:28:53 -04:00
Ben Loftis
0f6e67a32f Faderport(Classic): Add Record-PreRoll and Record-CountIn actions to the footswitch selections. Could make this menu access -any- action, but I think a short useful list of transport items is better in this case. 2018-10-07 10:10:03 -05:00
Robin Gareus
16dc3a1613 Properly disable looping when deleting loop-range 2018-10-05 21:50:55 +02:00
Robin Gareus
32b7343927 NO-OP: whitespace 2018-10-05 21:50:55 +02:00
Paul Davis
e4a914e26e make remove work for transport masters (bug fix, really) 2018-10-05 14:29:15 -04:00
Paul Davis
f0a395e7cd stop MIDIClock transport master reporting continued timestamps 2018-10-05 14:15:02 -04:00
Paul Davis
4c7e5dbc74 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00
Paul Davis
67ba0bd992 laying the groundwork for adding/removing transport masters 2018-10-05 14:15:02 -04:00
Ben Loftis
ccccac7a10 Fix the User button for Mixbus; we use it as a button, not a modifier. 2018-10-04 19:29:14 -05:00
Paul Davis
e6aeb9d6e8 remove LTC port parameter, since it's no longer a thing.
This commit does not remove this concept from the libs/ardour/engine_state_controller code,
which is used exclusively by Waves Track Live (to the extent that this can be said to
be "used").
2018-10-04 10:17:40 -04:00
Paul Davis
22061310c0 add new ::update_interval() method for transport masters, and use in shared ::speed_and_position() implementation 2018-10-04 00:42:14 -04:00
Paul Davis
1dc35d157e fix error introduced in MTC transport master 2018-10-04 00:42:14 -04:00
Robin Gareus
59b789d2bb Sort Session templates alphabetically 2018-10-04 03:36:14 +02:00
Robin Gareus
b6b353d452 Handle generic-midi bindings per session.
This allows to special-cases session-specific control-surface state.
e.g. midi-learn.

Only restore midi-learned, session-specific, bindings when loading a
session with generic-midi enabled.

Also dis/re-enable generic-midi resets midi-learned, but no other
session-independent settings.

This also handles the edge case:
 1) load global config, generic-midi = ON, w/ bindings.
    state is remembered as cpi->state
 2) load session-condig, generic-midi = OFF, cpi->state is retained
 3) user enables the surface, cpi->state from (1) is applied.
 -> invalid bindings applied -> fail
2018-10-04 02:30:21 +02:00
Robin Gareus
9df6e334fc Persistent ctrl-surface state
Keep latest surface configuration, regardless if surface is active
or being deactivated. Current state after de-activation is retained.

Currently state loaded from a session overrides global state from
global preferences, if the surface is marked active in the session.
This is to allow midi-learn.

generic-midi and session-specific midi-learn will require additional
work.
2018-10-04 01:36:51 +02:00
Robin Gareus
be826f3635 Prevent excessive meter redraws for inactive meters at zero 2018-10-03 20:54:14 +02:00
Robin Gareus
cdc64358ec Properly initialize midi-meters
Midi meters are using linear 0..1 range, (not decibels, no log-scale
falloff).

If a track is deactivated, run() is never called. the queued reset never
executed and the meter remained at the initialization default -inf
(visually it looked like a pegged meter).
2018-10-03 20:22:30 +02:00
Robin Gareus
e01582dd9a Prepare a boxy, no round borders, button-style 2018-10-02 21:28:49 +02:00
Robin Gareus
62cd539143 Fix false-positive duplicate format detection
Previously, stem-exports of more than 1 channel always included
the export-format, even if only one format was exported.
2018-10-02 21:28:49 +02:00
Damien Zammit
feb2763a8a libptformat: Add ability to reuse object && add path to ptf to api 2018-10-02 20:14:04 +10:00
John Emmas
b60e9f7df9 Remove a call to 'fst_audio_master_idle()'
Nobody seems quite sure why it's needed but it seems to be crashing a lot of plugins:-

http://tracker.ardour.org/view.php?id=7668
2018-10-02 09:17:32 +01:00
Robin Gareus
87559a6054 Fix Mixbus master-bus tape-saturation controllable 2018-09-30 15:34:59 +02:00
John Emmas
cf652331ad Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 3 of 3
2018-09-30 09:19:28 +01:00
John Emmas
b519434744 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 2 of 3 (more to follow)
2018-09-30 09:06:25 +01:00
John Emmas
9506a294c7 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
John Emmas
097176696b Add support (in our MSVC projects) for using 'boost::atomic'
(only done "where necessary" for the moment - more to follow...)
2018-09-29 12:22:47 +01:00
Robin Gareus
d76589d90f FP8/16: include makeup gain control 2018-09-28 16:19:40 +02:00
Albert Graef
65693a72a2 MCP: Fix up the feedback for the view selection buttons. 2018-09-27 11:31:13 -04:00
Albert Graef
38bccabeca MCP: Allow the current bank to move right one channel even if this results in a partial bank.
Rationale: This change is trivial, but Ardour's behavior of refusing to move right one channel unless a full bank remains has been there for a long time, and there are probably good reasons for it. This design was likely conceived when all MCP-compatible devices had banks of 8 faders anyway. However, with the advent of affordable single-strip devices like the X-Touch ONE it becomes a real issue.

Single-strip devices can only access the first channel in the current bank, so relaxing this restriction is the easiest way to enable such devices to access all strips, while still maintaining the usual bank size of 8. Note that maintaining a bank size of 8 is beneficial even with single-strip devices for several reasons:

- It allows use of the bank switch buttons to flip through a large number of strips more quickly.

- It maintains compatibility with existing device descriptions. E.g., the X-Touch ONE can be used with the existing X-Touch device description without any ado.

- Most importantly, it maintains compatibility with other MCP-compatible controllers which do have 8 strips and may be connected to Ardour at the same time. E.g., one might want to use an X-Touch Mini, or even a full-size X-Touch along with the X-Touch ONE in some use cases. Changing the bank size to 1 affects all connected MCP devices, so you'd rather keep the bank size to 8 in such scenarios. (Ardour should preferably have separate bank size settings for each connected MCP device, but that isn't possible right now since only one MCP device description can be active at the same time.)
2018-09-27 11:31:13 -04:00
Albert Graef
936f6814ac MCP: Fix up the feedback for the bank left/right buttons. 2018-09-27 11:31:13 -04:00
Paul Davis
c4fcd0c268 consolidate all transport masters on a SafeTime object that is a member of the TransportMaster base class.
This seems to have broken some aspects of chasing/locking
2018-09-27 11:31:13 -04:00
Paul Davis
147d456dbd change type of MIDI::Parser::position signal to include timestamp 2018-09-27 11:31:13 -04:00
Paul Davis
0f7123d33a more objectification for SafeTime 2018-09-27 11:31:13 -04:00
Paul Davis
b6aefaf100 initial hacks towards a truly thread-safe SafeTime object, using boost::atomic 2018-09-27 11:31:13 -04:00
Robin Gareus
3c11660d2a VST-state, set/restore program before loading chunk.
This may fix some issues with VST state being restored incorrectly
when a plugin-preset was loaded.
2018-09-25 21:46:59 +02:00
Robin Gareus
99a8899c2d Add Lua bindings to query DSP load statistics 2018-09-25 18:01:22 +02:00
Paul Davis
6ca8ec5141 remove debug output 2018-09-23 13:48:19 -04:00
Paul Davis
12d5eb9a34 remove debug output 2018-09-23 13:48:19 -04:00
Paul Davis
d48dd0ccd5 defer creating a visibility tracker for a window until the window is mapped
Without this, the visibility tracker will report that the window is not visible at startup, and
this overrides the XML _visible property which denotes that the window should be made visible
2018-09-23 13:48:19 -04:00
Paul Davis
b9d8f75119 emit property change for "collect" on a TransportMaster 2018-09-23 13:48:19 -04:00
John Emmas
fd23f89b35 Accommodate newly added/renamed source(s) in our MSVC project (libardour) 2018-09-22 16:55:43 +01:00
Jan Lentfer
e52c8e376a LCXL: fix off by one cause by fader8master 2018-09-22 15:12:26 +02:00
Jan Lentfer
7d6c9c3085 LCXL: Fix a crash on exit 2018-09-22 15:12:26 +02:00
Paul Davis
3b151c8cfb no more slave.h 2018-09-22 09:03:50 -04:00
Paul Davis
c83d5add7b use abs() instead of fabs() on integers 2018-09-22 08:51:58 -04:00
Paul Davis
f39bcaa4bf Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers"
You can't remove an abs() conversion and keep the same semantics.

This reverts commit d89b8cc0ad.
2018-09-22 08:50:16 -04:00
Paul Davis
62f29d6c44 remove old slave files 2018-09-22 08:49:24 -04:00
John Emmas
736b6a3e57 Replace a namespace brace deleted by accident 2018-09-22 09:08:44 +01:00
John Emmas
a3a156520d Remove some namespace ambiguity
There are a couple of places where we're using both MIDI namespace as well as ARDOUR namespace (both of which declare 'pframes_t)
2018-09-22 08:48:41 +01:00
John Emmas
0354dbdfe9 Remove 2 x unneeded functions in 'SlaveSessionProxy'
I assume they're not needed now because their declarations got removed in commit #e6915e01de
2018-09-22 08:44:42 +01:00