Fix media and audio condition unexpectedly returning true after unpause

This commit is contained in:
WarmUpTill 2022-05-11 16:14:45 +02:00 committed by WarmUpTill
parent 8da1e3ad40
commit a2e4580970
2 changed files with 16 additions and 0 deletions

View File

@ -212,6 +212,10 @@ void MacroConditionAudio::SetVolumeLevel(void *data, const float *,
const float *)
{
MacroConditionAudio *c = static_cast<MacroConditionAudio *>(data);
const auto macro = c->GetMacro();
if (macro && macro->Paused()) {
return;
}
for (int i = 0; i < MAX_AUDIO_CHANNELS; i++) {
if (peak[i] > c->_peak) {

View File

@ -329,18 +329,30 @@ void MacroConditionMedia::ResetSignalHandler()
void MacroConditionMedia::MediaStopped(void *data, calldata_t *)
{
MacroConditionMedia *media = static_cast<MacroConditionMedia *>(data);
const auto macro = media->GetMacro();
if (macro && macro->Paused()) {
return;
}
media->_stopped = true;
}
void MacroConditionMedia::MediaEnded(void *data, calldata_t *)
{
MacroConditionMedia *media = static_cast<MacroConditionMedia *>(data);
const auto macro = media->GetMacro();
if (macro && macro->Paused()) {
return;
}
media->_ended = true;
}
void MacroConditionMedia::MediaNext(void *data, calldata_t *)
{
MacroConditionMedia *media = static_cast<MacroConditionMedia *>(data);
const auto macro = media->GetMacro();
if (macro && macro->Paused()) {
return;
}
media->_next = true;
}