13
0
Commit Graph

29542 Commits

Author SHA1 Message Date
a6d1890168
NO-OP: whitespace 2020-04-04 01:48:31 +02:00
4e005540c6
Update PatchChange when instrument/midnam changes 2020-04-04 01:48:30 +02:00
d0a116b2ae
Forward instrument MIDNAM changed signal 2020-04-04 01:48:30 +02:00
096d23fcc2 change text describing relayout after UI scaling change 2020-04-03 14:31:51 -06:00
8a1f1a3005 remove border around ATAV controls table (looks better with new theme) 2020-04-03 14:25:32 -06:00
626d97b13a a better solution for automation axis name labels 2020-04-03 14:25:13 -06:00
be2322ef2b set size request for automation lane name label, to prevent it from changing tracker header width 2020-04-03 14:11:14 -06:00
f26dd1f13d add automation item to top level edit menu 2020-04-03 13:28:58 -06:00
9ca9aa8ae1 add new Editor method to toggle all existing automation
Applies to selected tracks if non-empty; all tracks otherwise
2020-04-03 13:28:58 -06:00
97d1ee9822 move templated foreach methods from TrackSelection into parent (TrackViewList)
This allows the same methods to be used on e.g. Editor::track_views
2020-04-03 13:28:58 -06:00
e954303fec move automation show/hide methods into public access
Note that they are still intended to be called via a specific mechanism from Editor, not
directly.

Also remove unnecessary duplicate virtual decls
2020-04-03 13:28:58 -06:00
71ab4614f8
Fix fan-out port connection race-condition
This directly creates tracks without auto-connect.
2020-04-03 15:37:49 +02:00
c16ab3a248
Allow to disable input auto-connect when creating tracks
Auto-connect is handled in a background thread, so newly created
tracks are not immediately connected.

This causes a race-condition when fan-out directly disconnects
and re-connects ports after track/bus creation.
2020-04-03 15:36:19 +02:00
80f3b54be4
NO-OP: indent & whitespace 2020-04-03 14:56:57 +02:00
3d98d13760
Add missing include 2020-04-03 14:52:05 +02:00
11f28a4b1d
NO-OP: cleanup and remove debug messages 2020-04-03 14:49:03 +02:00
35aab65d59
Consistent processor labels "Meter"
Track name is implicit, so instead of "meter-<name>", showing a
translatable label "Meter" is sufficient and consistent with "Fader".

Under the hood, for introspection, the processor name remains as is.
2020-04-03 14:49:03 +02:00
John Emmas
fb186aaaa0 2 x new backend/port classes need to be exportable 2020-04-03 10:09:22 +01:00
John Emmas
03f52e622a Add/remove source(s) in our MSVC project (libardour) 2020-04-03 07:15:42 +01:00
6a6b3f2703 fix another iterator type 2020-04-02 19:45:31 -06:00
cb4997f4a4 fix iterator type 2020-04-02 19:45:31 -06:00
af69ac1285 use clear_ports() 2020-04-02 19:45:31 -06:00
6cdc245967 fix header name 2020-04-02 19:45:31 -06:00
7fc5a6c971 initial try (not compiled) of PortAudio backend using PortEngineSharedImpl 2020-04-02 19:45:31 -06:00
72925e4453 use _instance_name in all messages from PortEngineSharedImpl 2020-04-02 19:45:31 -06:00
e5507f7072 use PortEngineSharedImpl with PulseAudio backend 2020-04-02 19:45:31 -06:00
04551c39f6 use PortEngineSharedImpl with DummyAudioBackend 2020-04-02 19:45:31 -06:00
30766c75e8 buildable version of CoreAudio backend using PortEngineSharedImpl 2020-04-02 19:45:31 -06:00
a31d3689bf tentative changes to extend port engine shared impl to coreaudio 2020-04-02 19:45:31 -06:00
6c2e30b790 use new PortEngineSharedImpl in AlsaAudioBackend 2020-04-02 19:45:31 -06:00
9ea6f598bd add new file to wscript 2020-04-02 19:45:31 -06:00
9461a30a97 refactor shared PortEngine implementation from AlsaAudioBackend 2020-04-02 19:45:31 -06:00
9ac0d5b60f add RCU to manage _ports and _portmap in AlsaAudioBackend
This is intended to prevent crashes when unregister_port() modifies the contents of these
two members at the same time that something else is iterating over them.
2020-04-02 19:45:31 -06:00
714e2f1736
Optimize MTAV creation, speed up new MIDI track
This removes various duplicate code-paths leading to midi-model
updates, and expensive context-menu rebuilds. This significantly
speeds up MIDI track creation.
2020-04-03 03:42:56 +02:00
21c9505652
Allow to query current effective instrument model/mode
This exposes custom plugin model/mode. It can be useful for
the GUI to detect if effective settings have changed, and
context-menus have to be re-build.
2020-04-03 03:29:32 +02:00
dabd5715e9
Revert "move the point of adding a new MIDI track until *after* the instrument is added"
This reverts commit fac8d84786.

This fixes fan-out. The track should be created before any tracks or
busses are created that are fed by the MIDI track.

The apparent motivation for fac8d847 was MIDNAM related
(there was code in the GUI that needed the instrument, which was
called from within ::add_routes).

This should no longer be the case, the GUI needs to pick up
instrument changes after track creation via processors changed;
besides MIDI busses were still created before the instrument.
2020-04-02 21:43:16 +02:00
14f15ca1e9
Move RouteUI::fan_out to Mixer_UI
The previous version had various issues, in particular
when creating Tracks with an instrument, the RouteUI was not
available when the signal was emitted (likely caused by recent
ee-work of Audio+MIDI and Tape track removal).

However as side-effect fanned-out tracks/busses may now
be ordered before the new instrument route.

This also fixes an edge case of multiple fan-out in case
there is more than one RouteUI instance (mixer, editor-mixer,
meter-bridge).
2020-04-02 20:27:51 +02:00
f0b25a776b
Update fan-out signal
* Signals use camelcase.
* use a static signal, independent of the route

Previously the signal was handled by RouteUI, which
caused various issues:
 * the RouteUI may not yet be available
 * There may be many RouteUIs for a single Route
   (mixer, editor-mixer, meter-bridge strips)
2020-04-02 20:27:51 +02:00
652f62f20a
Remove signal in preparation to rework fan-out 2020-04-02 20:27:48 +02:00
Johannes Mueller
06dee15a18 Emit Locate() in ::locate() even if we are not synced_to_engine()
This reverts 05c77db773 (revert necessary due to 4637c49838)

Since 4637c49838 we no longer emit Located() in ::backend_sync_callback().
Therefore we must emit Located() in ::locate() even if we are
synced_to_engine().

Otherwise the playhead is not updated when synced_to_engine() in some
circumstances.
2020-04-02 18:39:46 +02:00
849bce6e4d
Add LTC output port preference #7932 2020-04-02 16:46:05 +02:00
Johannes Mueller
41fa647b69 Template descriptions no longer dirty when saved or changes discarded 2020-04-02 14:37:12 +02:00
Johannes Mueller
7a2e9bf224 Re-save templates if they have been loaded from an older version of Ardour 2020-04-02 14:37:12 +02:00
Johannes Mueller
64cb0a6e4b Let the user also choose template archives from Ardour 5.x 2020-04-02 14:37:12 +02:00
Johannes Mueller
687b3078c3 Don't issue VersionMismatch when creating a new session
When we create a new session and are using a template from an old version of
Ardour, we should not issue the VersionMismatch dialog and not make a copy of
the session file for the old version.

We need to extend the signature of Session::load_state() to tell it if we are
creating a session from a template. Session::_is_new cannot be used for it
because it has a the semantics if to auto connect the the master bus.
2020-04-02 14:33:21 +02:00
1439610f95
Restart Transport FSM after x-run halt #7951 2020-04-02 03:58:21 +02:00
163a065543
Fix gcc-4.2/PPC builds
Old STL has an issue with ambiguity
   reverse_iterator rend();
   const_reverse_iterator rend() const;
2020-04-02 03:43:29 +02:00
42af08fb92
Consolidate MIDNAM control display code 2020-04-01 23:26:13 +02:00
20ee430fda
Add API to count named MIDNAM controls 2020-04-01 23:25:19 +02:00
37bbc70179
Cache instrument plugin MIDNAM model & mode 2020-04-01 23:24:45 +02:00