Ref T609, mixer utility functions

This commit is contained in:
Klaus Basan
2019-08-04 20:58:00 +02:00
committed by Mat Sutcliffe
parent e53833856a
commit 90deceae6b
2 changed files with 30 additions and 1 deletions

View File

@@ -12,4 +12,25 @@ namespace BlackCore
{
IAudioMixer::IAudioMixer(QObject *parent) : QObject(parent)
{ }
bool IAudioMixer::makeOrRemoveConnection(IAudioMixer::InputPort inputPort, IAudioMixer::OutputPort outputPort, bool make)
{
return make ?
this->makeMixerConnectionIfNotExisting(inputPort, outputPort) :
this->removeMixerConnectionIfExisting(inputPort, outputPort);
}
bool IAudioMixer::makeMixerConnectionIfNotExisting(IAudioMixer::InputPort inputPort, IAudioMixer::OutputPort outputPort)
{
if (this->hasMixerConnection(inputPort, outputPort)) { return false; }
this->makeMixerConnection(inputPort, outputPort);
return true;
}
bool IAudioMixer::removeMixerConnectionIfExisting(IAudioMixer::InputPort inputPort, IAudioMixer::OutputPort outputPort)
{
if (!this->hasMixerConnection(inputPort, outputPort)) { return false; }
this->removeMixerConnection(inputPort, outputPort);
return true;
}
}

View File

@@ -34,7 +34,7 @@ namespace BlackCore
//! Audio mixer output ports
enum OutputPort
{
OutputOutputDevice1,
OutputDevice1,
OutputVoiceChannel1,
OutputVoiceChannel2,
};
@@ -53,6 +53,14 @@ namespace BlackCore
//! Returns true if input port and output port are connected
virtual bool hasMixerConnection(InputPort inputPort, OutputPort outputPort) = 0;
//! Make or remove connection
bool makeOrRemoveConnection(InputPort inputPort, OutputPort outputPort, bool make);
//! Safe versions of make/remove @{
bool makeMixerConnectionIfNotExisting(InputPort inputPort, OutputPort outputPort);
bool removeMixerConnectionIfExisting(InputPort inputPort, OutputPort outputPort);
//! @}
};
} // ns