mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-08 08:01:19 +02:00
An alpha-only toggle command for extra dropout detection; default off
This commit is contained in:
parent
a019addafb
commit
f78a418df8
@ -5168,8 +5168,10 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
|
||||
bool inputError =
|
||||
(statusFlags & (paInputOverflow))
|
||||
&& !(statusFlags & paPrimingOutput);
|
||||
|
||||
// But it seems it's easy to get false positives, at least on Mac
|
||||
wxUnusedVar( inputError );
|
||||
// So we have not decided to enable this extra detection yet in
|
||||
// production
|
||||
|
||||
size_t len = framesPerBuffer;
|
||||
for(unsigned t = 0; t < numCaptureChannels; t++)
|
||||
@ -5186,7 +5188,7 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
|
||||
// enough from mCaptureBuffers; maybe it's CPU-bound, or maybe the
|
||||
// storage device it writes is too slow
|
||||
if (gAudioIO->mDetectDropouts &&
|
||||
(//inputError ||
|
||||
((gAudioIO->mDetectUpstreamDropouts && inputError) ||
|
||||
len < framesPerBuffer) ) {
|
||||
// Assume that any good partial buffer should be written leftmost
|
||||
// and zeroes will be padded after; label the zeroes.
|
||||
|
@ -807,6 +807,10 @@ public:
|
||||
|
||||
// Used only for testing purposes in alpha builds
|
||||
bool mSimulateRecordingErrors{ false };
|
||||
|
||||
// Whether to check the error code passed to audacityAudioCallback to
|
||||
// detect more dropouts
|
||||
bool mDetectUpstreamDropouts{ false };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1237,6 +1237,10 @@ void AudacityProject::CreateMenusAndCommands()
|
||||
_("Simulate Recording Errors"),
|
||||
FN(OnSimulateRecordingErrors),
|
||||
gAudioIO->mSimulateRecordingErrors);
|
||||
c->AddCheck(wxT("DetectUpstreamDropouts"),
|
||||
_("Detect Upstream Dropouts"),
|
||||
FN(OnDetectUpstreamDropouts),
|
||||
gAudioIO->mDetectUpstreamDropouts);
|
||||
#endif
|
||||
|
||||
c->AddItem(wxT("Screenshot"), _("&Screenshot Tools..."), FN(OnScreenshot));
|
||||
@ -8422,6 +8426,13 @@ void AudacityProject::OnSimulateRecordingErrors(const CommandContext &)
|
||||
setting = !setting;
|
||||
}
|
||||
|
||||
void AudacityProject::OnDetectUpstreamDropouts(const CommandContext &)
|
||||
{
|
||||
bool &setting = gAudioIO->mDetectUpstreamDropouts;
|
||||
mCommandManager.Check(wxT("DetectUpstreamDropouts"), !setting);
|
||||
setting = !setting;
|
||||
}
|
||||
|
||||
void AudacityProject::OnScreenshot(const CommandContext &)
|
||||
{
|
||||
::OpenScreenshotTools();
|
||||
|
@ -510,6 +510,7 @@ void OnBenchmark(const CommandContext &);
|
||||
void OnCrashReport(const CommandContext &);
|
||||
#endif
|
||||
void OnSimulateRecordingErrors(const CommandContext &);
|
||||
void OnDetectUpstreamDropouts(const CommandContext &);
|
||||
void OnScreenshot(const CommandContext &);
|
||||
void OnAudioDeviceInfo(const CommandContext &);
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
|
Loading…
x
Reference in New Issue
Block a user