13
0
Commit Graph

29633 Commits

Author SHA1 Message Date
76070cb8c2 fix boolean logic PART THREE when trying to avoid complete_refill heuristic 2020-03-31 21:47:39 -06:00
76b6c5ebfd fix boolean logic PART TWO when trying to avoid complete_refill heuristic 2020-03-31 21:44:42 -06:00
1c82fc4879 fix boolean logic when trying to avoid complete_refill heuristic 2020-03-31 21:14:07 -06:00
6d0434a3c5 change variable name and debug messages for underrun case (information was misleading/confusing) 2020-03-31 20:54:14 -06:00
0047dc383f clean up logic for declick out in DiskReader
This is intended to be a no-op that makes the code easier to read/reason about
2020-03-31 20:54:14 -06:00
88e84067f2 if a locate brings us within a heuristic-specified distance of the current position in a DiskReader, pay attention to loop status
If the last read was not looped, but the new one should be, we need to ignore the heuristic. Ditto for vice-versa.

This isomorphic with the read-reversed case
2020-03-31 20:54:14 -06:00
370f7bb30f
Propagate MIDNAM selection to Route
Most of Ardour's GUI queries route->instrument_info() for MIDNAM.
This is a minimal invasive hotfix to update the PatchChange
dialog and patch-names on the timeline when the MIDNAM selection
changes.

This got lost in de74cca6b8.
2020-04-01 00:53:27 +02:00
1aae553dae
Fix source list selection
Retain selection when showing context-menu.
2020-03-31 21:00:45 +02:00
bc1c3e5c21
Postpone disk-i/o setup during session-load
This fixes another assert(), caused by configuring processors,
before set_processor_state() was called.
Route::configure_processors() will be called later.

---
#3  0x00007ffff2472102 in __GI___assert_fail at assert.c:101
#4  0x00007ffff7a8ca1f in ARDOUR::Route::setup_invisible_processors() at ../libs/ardour/route.cc:5013
#5  0x00007ffff7a7a665 in ARDOUR::Route::configure_processors_unlocked at ../libs/ardour/route.cc:1870
#6  0x00007ffff7a79377 in ARDOUR::Route::configure_processors at ../libs/ardour/route.cc:1719
#7  0x00007ffff7a902c0 in ARDOUR::Route::set_disk_io_point at ../libs/ardour/route.cc:6041
#8  0x00007ffff7a7ea0a in ARDOUR::Route::set_state at ../libs/ardour/route.cc:2679
2020-03-31 19:48:17 +02:00
5253c7eb8b
Tweak error-dump (when session load fails)
When limiting the message count (e.g. for display in a dialog),
use reverse order, and only print errors.

When loading a session fails, the most recent error is
more likely the real cause.
2020-03-31 18:58:12 +02:00
Johannes Mueller
5774be46fe Remember the route count when route lua template sets it by "how_many"
If the user has an audio interface with 32 inputs, there is the danger, that
they click through the route template list and hit "Generic Audio Track" which
then sets the number of routes to be added to 32. When they click back to
e.g. "Audio Tracks" this number remains at 32. So they will accidentally add 32
audio tracks although they wanted just one. Somewhat inconvenient.

By this commit we remember the number of routes to be added, when it is set by
a lua template and thus can set it back when the user clicks back on a route
type that does not set it.
2020-03-31 09:01:59 +02:00
bd92e290c0
Fix send-button layout (2 column table)
Amend c765079b2f, remove Mixbus special-case for Ardour
2020-03-31 01:37:38 +02:00
8fced29372
Visibility fixes for detached editor and Show-Sends buttons
Detaching the editor would cause the inactive_name labels and
to mixer-strip elements to appear (due to show_all).
2020-03-31 01:37:38 +02:00
eb6d718305
Hide Aux-send button in editor-mixer 2020-03-31 01:37:38 +02:00
b7e30cfc24 remove debug output 2020-03-30 17:37:10 -06:00
04635896d4 add braces as per coding guide 2020-03-30 17:25:07 -06:00
6fec78221f use const ref to UIConfiguration::instance() to shorten lines a bit 2020-03-30 17:25:07 -06:00
ff08fbb969 when build the region boundary cache, use the "end" of a region, not its "last sample"
It makes no sense to every align a region start/sync point during a drag or alignment operation
with the last sample of another region. It only makes sense to align with the position immediately
after the last sample of the other region (e.g. directly sequencing regions).
2020-03-30 17:25:07 -06:00
83cd796a47
GNU libc 2.31 compatibility
Optimized builds of Ardour use various _finite math methods
(due to -ffast-math). Those functions have apparently been
removed, and replaced with macros and are no longer available
in libm/libc++.

see also
https://discourse.ardour.org/t/a-eq-and-a-comp-fail-on-manjaro-xfce/103122
https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00001.html
2020-03-30 22:41:11 +02:00
3df530e7f6
Clean up double/float narrowing math in plugins. 2020-03-30 22:25:21 +02:00
070d8f5ee1
Fix SesionhandlRef when rebuilding peak-files
Since rebuilding peaks does not call drop-references, the WaveView
is not explicitly released. and ArdourWaveView::WaveView
keeps a shared pointer reference to the AudioRegion.

This also fixes a memory leak, waves, tmp_waves store C++ pointers,
not shared pointers. Explicit delete is required
2020-03-30 21:19:43 +02:00
7701e5ecb9
Tweak wording: Rebuild (not reset) 2020-03-30 18:51:08 +02:00
4162f0f1ba
Fix snap if there are no locations - amend 4a036a2da 2020-03-30 18:16:09 +02:00
58bbf358e9
Follow backend API change 2020-03-30 18:00:21 +02:00
40e3364c66
Always delegate meter-point positioning to rt-thread
Previously set_state() -> set_meter_point() acquired the
process-lock to change meter-position, usually causing x-runs
when setting route-state.

This also fixes an issue introduced in fd414ec158. After
populating the processor list, force setting the meter-position
looks up the output streams of the processor before the meter.
However the processors are not configured. That will only happen
later from Session::post_engine_init().

---
#3 0x00007ff07b7d4102 in __GI___assert_fail at assert.c:101
#4 0x00007ff080d3224a in ARDOUR::PluginInsert::output_streams() const at ../libs/ardour/plugin_insert.cc:289
#5 0x00007ff080de8c30 in ARDOUR::Route::set_meter_point_unlocked() at ../libs/ardour/route.cc:4106
#6 0x00007ff080de8699 in ARDOUR::Route::set_meter_point(ARDOUR::MeterPoint, bool) at ../libs/ardour/route.cc:4037
#7 0x00007ff080ddfad3 in ARDOUR::Route::set_state(XMLNode const&, int) at ../libs/ardour/route.cc:269
2020-03-30 17:58:35 +02:00
b6ca576832
Zero x-run counter after GUI completed loading a session
This re-introduces 4262d701eb in a different manner.
2020-03-30 17:43:16 +02:00
a8ff35accb
Reset DSP load on backend re-start and after freewheeling 2020-03-30 16:58:55 +02:00
27b2794133
Add API to reset DSP load state 2020-03-30 16:43:42 +02:00
f866ed6305
Remove duplicate calls 2020-03-30 15:20:54 +02:00
fd414ec158
Assert that plugins are configured before setting custom meter position
This fixes the following issue:
  On the master channel insert the waveform scope before the fader.
  Then set the meter position to custom and move the meter to the
  very beginning of the chain.

Before this change, when set_meter_point() was called the
processor list only contained the Fader (_amp) and no other
processor. _main_outs was not yet present in the list, and
Route::maybe_note_meter_position() triggered an
and assert(_processor_after_last_custom_meter.lock());

See also d0dca7daf0
2020-03-30 15:20:54 +02:00
23baeee829
Tweak engine startup, initial silence
This can help when running with very low latency and the
initial process callback is [indirectly] expensive.

E.g. load a heavy session the a RPi4, initial setup can pull
in a lot of data, which blocks the bus.

In particular with the ALSA backend this can lead to poll timeout
which effectively stops the backend.
2020-03-30 15:20:54 +02:00
591c219349 don't mark session as unnamed if -N name given on command line 2020-03-29 20:28:08 -06:00
0cedb68882
Statusbar: fix double-click to reset x-run counter 2020-03-30 03:53:09 +02:00
232b21d289
Statusbar: tweak tooltips 2020-03-30 03:52:20 +02:00
9a505ec671
Statusbar: finishing touches (tooltips, engine-dialog) 2020-03-30 01:40:47 +02:00
b49764edf5
Statusbar: link session property dialog for format & timecode 2020-03-30 01:10:00 +02:00
65e34719bb
Statusbar: respond to mouse-clicks
* open session folder when path label is clicked
* reset x-runs only on x-run label
* allow to reset x-run count via shift+click and double-click
2020-03-30 00:37:49 +02:00
e43cc9c7bb
Statusbar: add session-path display 2020-03-30 00:14:25 +02:00
96b2b35963
Statusbar: increase spacing around the clock 2020-03-29 23:54:56 +02:00
325477803e
Statusbar: fix >24h disk-space label 2020-03-29 23:54:34 +02:00
7a98605748
Statusbar: do not highlight 100% DSP load when freewheeling 2020-03-29 21:05:23 +02:00
a49365ef1e
Statusbar: use white on red as fixed color error highlight 2020-03-29 21:04:21 +02:00
6f4d1f5e2e
Use light font for status-bar labels instead of italic 2020-03-29 21:02:26 +02:00
3c9a5c7ee5
Reorder "WallClock" visibility option to match L->R layout 2020-03-29 19:06:18 +02:00
9076cc60a4
Tweak status-bar layout & design
* remove color: increase contrast, do not use red/green
  foreground because it does no work with various themes
* do use red background to alert users
* use italics for labels heading
* increase spacing between elements
* use mono-space font with DSP load (fixed with) up to 99%
* Fix translations, use compose strings
2020-03-29 18:56:21 +02:00
2cb075bf49
StatusBar: move clock to the right 2020-03-29 18:56:21 +02:00
a43824d8db
Fix typo in prev commit's help message 2020-03-29 18:06:30 +02:00
44f50914cf
Add option to run Lua interpreter interactively from non-ttys 2020-03-29 18:00:53 +02:00
2ceaa98c1c
Fix optimized build crashes (missing return value) - #7958 2020-03-29 15:27:12 +02:00
9d737964d6
Set thread-names (GUI) 2020-03-29 14:56:50 +02:00