mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 07:17:43 +02:00
commit
7d168b5b1f
3 changed files with 32 additions and 5 deletions
|
@ -143,6 +143,28 @@ QAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef WIN32
|
||||||
|
QString deviceName;
|
||||||
|
if (mode == QAudio::AudioInput) {
|
||||||
|
WAVEINCAPS wic;
|
||||||
|
// first use WAVE_MAPPER to get the default devices manufacturer ID
|
||||||
|
waveInGetDevCaps(WAVE_MAPPER, &wic, sizeof(wic));
|
||||||
|
//Use the received manufacturer id to get the device's real name
|
||||||
|
waveInGetDevCaps(wic.wMid, &wic, sizeof(wic));
|
||||||
|
qDebug() << "input device:" << wic.szPname;
|
||||||
|
deviceName = wic.szPname;
|
||||||
|
} else {
|
||||||
|
WAVEOUTCAPS woc;
|
||||||
|
// first use WAVE_MAPPER to get the default devices manufacturer ID
|
||||||
|
waveOutGetDevCaps(WAVE_MAPPER, &woc, sizeof(woc));
|
||||||
|
//Use the received manufacturer id to get the device's real name
|
||||||
|
waveOutGetDevCaps(woc.wMid, &woc, sizeof(woc));
|
||||||
|
qDebug() << "output device:" << woc.szPname;
|
||||||
|
deviceName = woc.szPname;
|
||||||
|
}
|
||||||
|
return getNamedAudioDeviceForMode(mode, deviceName);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// fallback for failed lookup is the default device
|
// fallback for failed lookup is the default device
|
||||||
return (mode == QAudio::AudioInput) ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
return (mode == QAudio::AudioInput) ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
||||||
|
@ -840,7 +862,6 @@ bool Audio::switchOutputToAudioDevice(const QAudioDeviceInfo& outputDeviceInfo)
|
||||||
// cleanup any previously initialized device
|
// cleanup any previously initialized device
|
||||||
if (_audioOutput) {
|
if (_audioOutput) {
|
||||||
_audioOutput->stop();
|
_audioOutput->stop();
|
||||||
disconnect(_outputDevice, 0, 0, 0);
|
|
||||||
_outputDevice = NULL;
|
_outputDevice = NULL;
|
||||||
|
|
||||||
delete _audioOutput;
|
delete _audioOutput;
|
||||||
|
|
|
@ -66,8 +66,6 @@ public:
|
||||||
static Menu* getInstance();
|
static Menu* getInstance();
|
||||||
~Menu();
|
~Menu();
|
||||||
|
|
||||||
bool isOptionChecked(const QString& menuOption);
|
|
||||||
void setIsOptionChecked(const QString& menuOption, bool isChecked);
|
|
||||||
void triggerOption(const QString& menuOption);
|
void triggerOption(const QString& menuOption);
|
||||||
QAction* getActionForOption(const QString& menuOption);
|
QAction* getActionForOption(const QString& menuOption);
|
||||||
|
|
||||||
|
@ -133,6 +131,8 @@ public slots:
|
||||||
void removeSeparator(const QString& menuName, const QString& separatorName);
|
void removeSeparator(const QString& menuName, const QString& separatorName);
|
||||||
void addMenuItem(const MenuItemProperties& properties);
|
void addMenuItem(const MenuItemProperties& properties);
|
||||||
void removeMenuItem(const QString& menuName, const QString& menuitem);
|
void removeMenuItem(const QString& menuName, const QString& menuitem);
|
||||||
|
bool isOptionChecked(const QString& menuOption);
|
||||||
|
void setIsOptionChecked(const QString& menuOption, bool isChecked);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void aboutApp();
|
void aboutApp();
|
||||||
|
|
|
@ -65,9 +65,15 @@ void MenuScriptingInterface::removeMenuItem(const QString& menu, const QString&
|
||||||
};
|
};
|
||||||
|
|
||||||
bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) {
|
bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) {
|
||||||
return Menu::getInstance()->isOptionChecked(menuOption);
|
bool result;
|
||||||
|
QMetaObject::invokeMethod(Menu::getInstance(), "isOptionChecked", Qt::BlockingQueuedConnection,
|
||||||
|
Q_RETURN_ARG(bool, result),
|
||||||
|
Q_ARG(const QString&, menuOption));
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool isChecked) {
|
void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool isChecked) {
|
||||||
return Menu::getInstance()->setIsOptionChecked(menuOption, isChecked);
|
QMetaObject::invokeMethod(Menu::getInstance(), "setIsOptionChecked", Qt::BlockingQueuedConnection,
|
||||||
|
Q_ARG(const QString&, menuOption),
|
||||||
|
Q_ARG(bool, isChecked));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue