13
0
Commit Graph

27202 Commits

Author SHA1 Message Date
125a38bdbf Add/remove source(s) in our MSVC project (libardour) 2019-02-18 10:12:57 +00:00
bb4d769310
Remain silent while a disk-buffer is overwritten
This catches a case where a user-operation results in a complete
buffer re-fill during playback (e.g. split or move regions while playing)
2019-02-18 02:18:13 +01:00
feab950ea0
Update Latency UI, subscribe to changes 2019-02-17 03:15:18 +01:00
6d7bc4ea30
Emit signal when plugin latency changes 2019-02-17 02:22:03 +01:00
2ec28f3ce7
Clean up Latency API (Processor vs Plugin)
Plugins are only a source of Latency (Plugin delay).
The API to query, signal and override Latency is managed
by PluginInsert.
2019-02-17 01:51:49 +01:00
4ee15fa7b3
Tweak meterbridge track reordering -- amend d03574987 2019-02-16 23:37:21 +01:00
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00
3df88accc6 additional logic to avoid showing top-level menu actions in the key shortcut editor 2019-02-16 13:06:08 -07:00
56e950b189 rename Main_menu action to Main menu
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
f4c1f237c9 fix mistaken action paths used in MonitorSection
(after recent changes to make some actions "global")
2019-02-16 13:04:16 -07:00
655e53fcc4 monitor section "global actions" are only global, no MS-specific versions 2019-02-16 01:15:12 -07:00
e746ca3645 get ordering correct of global binding set creation and action registration (part2) 2019-02-16 01:15:12 -07:00
308036b195 MonitorSection should only define global actions for mono/dim/cut (all channels)
If it defines local versions, we can end up with two (different) bindings for the same action, one
in global scope, one when MonitorSection has key focus. Bad.
2019-02-16 01:15:12 -07:00
b0f99312d8 get ordering correct of global binding set creation and action registration 2019-02-16 01:15:12 -07:00
8b64f556d7
Tentative Latency GUI update 2019-02-16 01:10:50 +01:00
35609bcfed
Fix some signed/unsigned warnings 2019-02-16 01:10:50 +01:00
fb8505a4ad
NO-OP: whitespace 2019-02-16 01:10:50 +01:00
3cffaeac74
Prepare to allow to disable latency-compensation
Previously "zero custom/user latency" meant "default plugin latency".
This is now saved in a separate boolean allowing a user to reduce a
processor's latency to zero.

This also prepares for a global switch to use zero latency throughout
the whole session.
2019-02-16 01:10:50 +01:00
26f37a4753 better and more correct bindings for monitor section 2019-02-15 16:38:18 -07:00
1d6ee0b7e2
Fix crash when touching stale Automation Points
Undo/Redo allows to change a region's envelope without the envelope-list
changing (AutomationList::StateChanged is not emitted).

This also catches other operations where region-length can change while
the Envelope is visible. -- Normally when using the range or object tool
to modify a Region, the Envelope is not visible.

Without this change it was possible that the GUI shows automation
points that don't have a corresponding libardour representation:

e.g. select range, change tool to "draw", press "s" (split), undo,
click on any region-gain point.
2019-02-15 21:37:19 +01:00
a858f199a1
Simply debugging port-registration failures 2019-02-15 18:27:22 +01:00
edc34b8d05
Optimize DSP-load calculation, pre-calculate fall-off once 2019-02-14 00:04:29 +01:00
d03574987c
Fix meterbridge to follow track/bus re-ordering 2019-02-13 20:24:23 +01:00
b24fef38b2 Fix for automation-line edits using the Range+Draw tool, when no line is already present. 2019-02-12 21:23:01 -06:00
08f51e72d5 midi-audition-synth-uri is deprecated (libardour part). 2019-02-12 13:04:59 -06:00
0971e785a3 midi-audition-synth-uri is deprecated (gtk2 part). 2019-02-12 13:04:59 -06:00
14c69e869f Hard-code GMsynth as the fallback, and allow UI to select the audition synth on-the-fly. 2019-02-12 13:04:59 -06:00
5eca084d00 Allow the selected Instrument to be used as the auditioner synth. 2019-02-12 13:04:59 -06:00
c881b4a85f Summary View should use the playhead color from config. 2019-02-12 11:36:04 -06:00
3e442ae52b Session-range behavior (gtk2 part)
* Both the session-start and session-end point should follow the is-free option
  * Rename the end-is-free option to session-range-is-free, to reflect that change
  * This fixes the problem: recording before the start marker would move the Start,
    even if the user had already fixed the End marker.
2019-02-12 11:35:57 -06:00
688bd28458 Session-range behavior (libardour part) 2019-02-12 11:35:48 -06:00
22deebb42f Selection-after-split behavior (gtk2 part)
*  When splitting in MouseObject, entered_region should get priority over selected regions.
    This fixes the unexpected case where you try to split an unselected a region, but
       a)  nothing happens  OR
       b)  some other region (maybe off-screen) is split

*  Range mode now has its own option for splits, which can be:
     Clear:  the selection is cleared.
     Preserve:  the selection is left as-is. (default)
     Force:  all the regions that resulted from the split are selected (forcing a tool change).

*  Un-hid the additional config options to select only the regions BEFORE or AFTER a split.

*  Note:  splits made with Cut Tool should be unaffected by these changes.
2019-02-12 11:35:39 -06:00
37d28c63db Selection-after-split behavior ( libardour part ) 2019-02-12 11:34:50 -06:00
983875ffc8
Fix llabs() ambiguity
some older systems (e.g. OSX/PPC) fail to compile with
  error: call of overloaded 'llabs(long long int)' is ambiguous
  candidates are:
      long long int llabs(long long int)
      long long int __gnu_cxx::llabs(long long int)
2019-02-09 03:33:32 +01:00
3f66bac4d0
Fix MIDI-bypass for inplace plugins -- #7722 2019-02-09 00:38:36 +01:00
865a33f7b9
Properly initialize atomic variable 2019-02-08 19:33:23 +01:00
796ac29cf2
Fix some disk-buffer threading issues
Make _pending_overwrite atomic (butler + process thread).
This also addresses a potential seek before override race.

Seeking will fill the buffers and by the time overwrite_existing_buffers()
is called from there is no space to overwrite anymore.
2019-02-08 19:33:23 +01:00
b5587e5e43
NO-OP: clarify internal API, prepare for overwrite queue 2019-02-08 19:33:19 +01:00
a6e7abb7fa Accommodate newly introduced source(s) in our MSVC project (libpbd) 2019-02-08 10:17:57 +00:00
bea9f5adc3
Remove disk-reader local MIDI vari-speed
Vari-speed is now handled by the engine, on port-level
2019-02-07 21:32:20 +01:00
8dda9f4ca8
Prefer AudioBuffer reference over raw buffer
This allows for consistent libardour API usage, in particular Amp.
2019-02-07 15:28:30 +01:00
18af4dd55a
Prepare dedicated Disk-reader de-click gain-stage
This allows to specify a shorter fade-duration than default
Amp::apply_gain(), also allows to unroll and vectorize the loop
2019-02-07 15:28:25 +01:00
3c96ba1de6
Allow reading future data without read-commit
This is in preparation for de-click, fade-out. A disk-reader
can keep going, reading buffered data (if any) without changing the
read-index.
2019-02-07 01:31:15 +01:00
243412d930 do not use green for "OK" deltas in transport master dialog and drop delta character 2019-02-06 15:04:33 -07:00
68897a742f use correct value for silent sample count delivered to LTC decoder 2019-02-06 13:54:05 -07:00
896091d256 do not attempt to update transport master rows if audioengine is not running 2019-02-06 13:54:05 -07:00
5e1484bf18
Fix rolling backwards
When speed is -1,  start_sample >= end_sample and _transport_sample
needs to be decremented.

Session::process_with_events() did this correctly, this change makes
Session::process_without_events() behave identically.
2019-02-06 20:26:44 +01:00
1845dff4c8
Implement backwards micro-locates 2019-02-06 20:22:22 +01:00
dcd612f8a7
Prepare Disk-reader for bi-directional micro-locates 2019-02-06 19:22:46 +01:00
6975b5ca54
Prepare buffer for seeking
Keep track of safe reservation:
Data has been read (or was skipped) previously can be read again
up to the allocated "reservation" (which is never overwritten).
2019-02-06 19:00:15 +01:00