Budget the sample buffer in samples per signal, under a hard memory limit
--buffer-samples (k/M/G) replaces --buffer-mb: the request is rounded down to a power of two for every signal and the shared time ring. A separate memory limit (--memory-limit-mb, a Preferences row, default 8 GiB) halves the plan until the real ring bytes fit and says so on stderr and in the status line. The per-source key buffer_mb becomes buffer_samples; an old buffer_mb is ignored. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
616cde5b13
commit
034c82f7d7
20 files changed
+516
-134
No files matched your search
+22
-1
@@ -13,7 +13,7 @@
|
||||
show-apply-button is off here: the write is a few bytes to one file, so a keystroke is not worth
|
||||
batching). The two settings that cannot take effect immediately — the cache directory and relative
|
||||
time, both of which are planned before any source is known — say so in their subtitles instead of
|
||||
being held back by a button.
|
||||
being held back by a button. The memory limit does take effect at once: a running buffer re-plans.
|
||||
|
||||
Nothing here carries a value: `ui_prefs.cpp` fills the rows from `Settings` when the dialog opens,
|
||||
and writes it back on every change. This file is the shape, that is the state.
|
||||
@@ -77,6 +77,27 @@
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Sample buffer</property>
|
||||
<child>
|
||||
<object class="AdwSpinRow" id="memory_row">
|
||||
<property name="title" translatable="yes">_Memory limit (MB)</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="subtitle" translatable="yes">Hard ceiling on the memory of the sample rings, all signals together. A source asks for a number of samples per signal; if that does not fit under this limit it is halved until it does, and the status line says so. Applies at once: a running buffer is re-planned, which clears its history.</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment">
|
||||
<property name="lower">16</property>
|
||||
<property name="upper">1048576</property>
|
||||
<property name="step-increment">256</property>
|
||||
<property name="page-increment">1024</property>
|
||||
<property name="value">8192</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
|
||||
Reference in new issue
Block a user