13
0
Commit Graph

14198 Commits

Author SHA1 Message Date
0e6d88f39a PT import: Fix circular dependency with libptformat <-> libardour 2018-10-12 19:09:40 +11:00
3fd7f9478f PT import: Minor changes to session 2018-10-12 19:09:40 +11:00
244098cb40 PT import: Add new import_pt.cc session methods 2018-10-12 19:09:40 +11:00
ca6c11dbca libptformat: Update lib to upstream e75320e (+source lengths) 2018-10-12 19:09:40 +11:00
2a9af2d2f6 Always use internal, modified, zita-resampler
zita-resampler was modified from the original:

 * a dedicated mono variable-resampler version was added
 * full-cycle no-resampling was optimized into a delayline
2018-10-11 15:30:28 +02:00
78a3683233 Consolidate relative sched_get_priority computation 2018-10-11 15:29:50 +02:00
3a776b58ce Use new RT-priority API 2018-10-11 15:29:43 +02:00
94e6164bc3 Add API to query backend realtime thread priority 2018-10-11 15:29:40 +02:00
5c47ce32ec Fix master_send_enable_controllable for Mixbusses 2018-10-10 22:41:49 +02:00
19bbbc7fbe Fix inconsistent controllable Lua binding names
This also fixes incorrectly mapped send_level/enable
2018-10-10 22:32:08 +02:00
96b4a85fed Fix well-known control Lua bindings 2018-10-10 22:16:08 +02:00
b27a8169d2 Ignore small (or negative) radii.
Some calls use e.g. (corner_radius - 1.5). With small radii or boxy
layout the radius can become negative.
2018-10-09 19:31:01 +02:00
b32b9ceb58 Constant radian/degree factor 2018-10-09 19:31:01 +02:00
425c54883a Remove unused variable 2018-10-09 19:31:01 +02:00
970c8939d4 some rather simple code to allow MIDI Clock to set the tempo of the session.
This is only allowed if the session has only 1 tempo marker
2018-10-08 12:59:51 -04:00
ad4dc4460d fix duplicate name check for new transport master 2018-10-07 12:43:28 -04:00
a4692389b8 fix return value and avoid unnecessary extra conditional 2018-10-07 12:29:37 -04:00
1168ffecad remove crazy thinko 2018-10-07 12:28:53 -04:00
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
16dc3a1613 Properly disable looping when deleting loop-range 2018-10-05 21:50:55 +02:00
32b7343927 NO-OP: whitespace 2018-10-05 21:50:55 +02:00
e4a914e26e make remove work for transport masters (bug fix, really) 2018-10-05 14:29:15 -04:00
f0a395e7cd stop MIDIClock transport master reporting continued timestamps 2018-10-05 14:15:02 -04:00
4c7e5dbc74 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00
67ba0bd992 laying the groundwork for adding/removing transport masters 2018-10-05 14:15:02 -04:00
ccccac7a10 Fix the User button for Mixbus; we use it as a button, not a modifier. 2018-10-04 19:29:14 -05:00
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
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
1dc35d157e fix error introduced in MTC transport master 2018-10-04 00:42:14 -04:00
59b789d2bb Sort Session templates alphabetically 2018-10-04 03:36:14 +02:00
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
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
be826f3635 Prevent excessive meter redraws for inactive meters at zero 2018-10-03 20:54:14 +02:00
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
e01582dd9a Prepare a boxy, no round borders, button-style 2018-10-02 21:28:49 +02:00
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
feb2763a8a libptformat: Add ability to reuse object && add path to ptf to api 2018-10-02 20:14:04 +10:00
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
87559a6054 Fix Mixbus master-bus tape-saturation controllable 2018-09-30 15:34:59 +02:00
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
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
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
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
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
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
147d456dbd change type of MIDI::Parser::position signal to include timestamp 2018-09-27 11:31:13 -04:00
0f7123d33a more objectification for SafeTime 2018-09-27 11:31:13 -04:00