13
0
Commit Graph

26878 Commits

Author SHA1 Message Date
4c7e5dbc74 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00
1b71e4db2c laying the groundwork for adding/removing transport masters 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
b844e3f45a Remove debug output from 39f65bbce 2018-10-05 00:56:59 +02:00
55596e2bf0 Change color of nudge-buttons depending on selection.
Experimental.
This indicates region selection:
  * nudge region(s): red
  * nudge playhead or marker(s): default gray

This does not indicate marker selection (nudge marker vs playhead),
nor does it change when primary-modifier is held (force playhead
nudge).
2018-10-04 21:55:44 +02:00
07ddf6cb36 Fix French translation #7665 2018-10-04 18:47:30 +02: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
7cdf25e02f Remove cruft 2018-10-04 03:57:49 +02:00
4d3cd732c9 Unhardcode and increase bindable Lua-script-action count 2018-10-04 03:57:09 +02:00
39f65bbce2 Sort Factory/Lua-script session-templates 2018-10-04 03:36:40 +02: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
23220955a5 Remove Transport > TimeMaster toggle from menu
The checkbox is not kept in sync with
  Session > Properties > Timecode > JACK Time Master
besides, it relies on JACK, relies on ardour being the first jack client
and also is mostl useless due to tempo-ramps not being supported by
many jack clients.
2018-10-03 18:19:00 +02:00
fe4df1bee3 Prevent adding aux-sends to master or monitor 2018-10-03 18:16:42 +02:00
35243c9b3e Fix weird behavior in playhead_x_to_grid: use return value from snap_to_grid. 2018-10-02 20:12:21 -05:00
e36aa9fab7 Include Track-number with stem-exports, if track-numbers are present. 2018-10-02 23:28:44 +02:00
40316437a4 Add a GUI option to enable boxy button style 2018-10-02 21:28:49 +02:00
e01582dd9a Prepare a boxy, no round borders, button-style 2018-10-02 21:28:49 +02:00
54f0f37c52 Fix context-menu item "bus" = audio and midi busses.
Hide/show logic uses "not track".
This results in matching both audio and midi busses.
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
2b95b5b8b3 More correct fix for 8bfbef4: the check was already there; just needed to set the dirty flag. 2018-10-02 09:41:04 -05:00
8bfbef4888 Fix deadlock when no region boundaries are selected in the Snap prefs. 2018-10-02 09:28:05 -05:00
a9907b7d56 ipw: Fix race condition with polling the cancel state of the dialog
Sometimes the interthread process window dialog reports "cancelled"
when it was not actually cancelled, it was just hidden and reshown,
Since we are polling the cancel state interthread, we must reset
the cancel status BEFORE the dialog is shown, and never toggle the
cancel state unless it is a true cancel action by the user.
2018-10-02 20:14:04 +10: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
4840543272 show last received and when for timecode timestamps in transport masters widget 2018-09-27 11:31:13 -04:00
f8264ed1fb add name editing for transport masters 2018-09-27 11:31:13 -04:00
5685865eae use new TransportMaster::speed_and_position() API 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
b6aefaf100 initial hacks towards a truly thread-safe SafeTime object, using boost::atomic 2018-09-27 11:31:13 -04:00
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
8ff1cc31cb Add script to exercise PI-stats interface 2018-09-25 18:50:14 +02:00
99a8899c2d Add Lua bindings to query DSP load statistics 2018-09-25 18:01:22 +02:00