updates for new DependencyManager API

This commit is contained in:
Stephen Birarda 2014-12-17 18:08:41 -08:00
parent 7beb3a7b62
commit 9f21b41d3f
13 changed files with 60 additions and 57 deletions

View file

@ -251,9 +251,9 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
// put the audio processing on a separate thread
QThread* audioThread = new QThread(this);
Audio::Pointer audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
audioIO->moveToThread(audioThread);
connect(audioThread, &QThread::started, audioIO, &Audio::start);
connect(audioThread, &QThread::started, audioIO.data(), &Audio::start);
audioThread->start();
@ -306,17 +306,17 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
// once the event loop has started, check and signal for an access token
QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection);
AddressManager* addressManager = DependencyManager::get<AddressManager>();
AddressManager::SharedPointer addressManager = DependencyManager::get<AddressManager>();
// use our MyAvatar position and quat for address manager path
addressManager->setPositionGetter(getPositionForPath);
addressManager->setOrientationGetter(getOrientationForPath);
// handle domain change signals from AddressManager
connect(addressManager, &AddressManager::possibleDomainChangeRequiredToHostname,
connect(addressManager.data(), &AddressManager::possibleDomainChangeRequiredToHostname,
this, &Application::changeDomainHostname);
connect(addressManager, &AddressManager::possibleDomainChangeRequiredViaICEForID,
connect(addressManager.data(), &AddressManager::possibleDomainChangeRequiredViaICEForID,
&domainHandler, &DomainHandler::setIceServerHostnameAndID);
_settings = new QSettings(this);
@ -425,7 +425,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
_trayIcon->show();
// set the local loopback interface for local sounds from audio scripts
AudioScriptingInterface::getInstance().setLocalAudioInterface(audioIO);
AudioScriptingInterface::getInstance().setLocalAudioInterface(audioIO.data());
#ifdef HAVE_RTMIDI
// setup the MIDIManager
@ -468,10 +468,10 @@ Application::~Application() {
// kill any audio injectors that are still around
AudioScriptingInterface::getInstance().stopAllInjectors();
Audio* audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
// stop the audio process
QMetaObject::invokeMethod(audioIO, "stop");
QMetaObject::invokeMethod(audioIO.data(), "stop");
// ask the audio thread to quit and wait until it is done
audioIO->thread()->quit();
@ -2424,7 +2424,7 @@ void Application::update(float deltaTime) {
if (sinceLastNack > TOO_LONG_SINCE_LAST_SEND_DOWNSTREAM_AUDIO_STATS) {
_lastSendDownstreamAudioStats = now;
QMetaObject::invokeMethod(DependencyManager::get<Audio>(), "sendDownstreamAudioStatsPacket", Qt::QueuedConnection);
QMetaObject::invokeMethod(DependencyManager::get<Audio>().data(), "sendDownstreamAudioStatsPacket", Qt::QueuedConnection);
}
}
}
@ -3602,7 +3602,7 @@ void Application::resetSensors() {
_myAvatar->reset();
QMetaObject::invokeMethod(DependencyManager::get<Audio>(), "reset", Qt::QueuedConnection);
QMetaObject::invokeMethod(DependencyManager::get<Audio>().data(), "reset", Qt::QueuedConnection);
}
static void setShortcutsEnabled(QWidget* widget, bool enabled) {
@ -3765,7 +3765,7 @@ void Application::nodeKilled(SharedNodePointer node) {
_entityEditSender.nodeKilled(node);
if (node->getType() == NodeType::AudioMixer) {
QMetaObject::invokeMethod(DependencyManager::get<Audio>(), "audioMixerKilled");
QMetaObject::invokeMethod(DependencyManager::get<Audio>().data(), "audioMixerKilled");
}
if (node->getType() == NodeType::VoxelServer) {

View file

@ -12,6 +12,7 @@
#ifndef hifi_GLCanvas_h
#define hifi_GLCanvas_h
#include <QDebug>
#include <QGLWidget>
#include <QTimer>

View file

@ -530,48 +530,48 @@ Menu::Menu() :
SLOT(cycleFrustumRenderMode()));
updateFrustumRenderModeAction();
Audio::Pointer audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
QMenu* audioDebugMenu = developerMenu->addMenu("Audio");
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioNoiseReduction,
0,
true,
audioIO,
audioIO.data(),
SLOT(toggleAudioNoiseReduction()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoServerAudio, 0, false,
audioIO, SLOT(toggleServerEcho()));
audioIO.data(), SLOT(toggleServerEcho()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoLocalAudio, 0, false,
audioIO, SLOT(toggleLocalEcho()));
audioIO.data(), SLOT(toggleLocalEcho()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::StereoAudio, 0, false,
audioIO, SLOT(toggleStereoInput()));
audioIO.data(), SLOT(toggleStereoInput()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::MuteAudio,
Qt::CTRL | Qt::Key_M,
false,
audioIO,
audioIO.data(),
SLOT(toggleMute()));
addActionToQMenuAndActionHash(audioDebugMenu,
MenuOption::MuteEnvironment,
0,
audioIO,
audioIO.data(),
SLOT(sendMuteEnvironmentPacket()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioSourceInject,
0,
false,
audioIO,
audioIO.data(),
SLOT(toggleAudioSourceInject()));
QMenu* audioSourceMenu = audioDebugMenu->addMenu("Generated Audio Source");
{
QAction *pinkNoise = addCheckableActionToQMenuAndActionHash(audioSourceMenu, MenuOption::AudioSourcePinkNoise,
0,
false,
audioIO,
audioIO.data(),
SLOT(selectAudioSourcePinkNoise()));
QAction *sine440 = addCheckableActionToQMenuAndActionHash(audioSourceMenu, MenuOption::AudioSourceSine440,
0,
true,
audioIO,
audioIO.data(),
SLOT(selectAudioSourceSine440()));
QActionGroup* audioSourceGroup = new QActionGroup(audioSourceMenu);
@ -579,7 +579,7 @@ Menu::Menu() :
audioSourceGroup->addAction(sine440);
}
AudioScope::Pointer scope = DependencyManager::get<AudioScope>();
AudioScope::SharedPointer scope = DependencyManager::get<AudioScope>();
QMenu* audioScopeMenu = audioDebugMenu->addMenu("Audio Scope");
addCheckableActionToQMenuAndActionHash(audioScopeMenu, MenuOption::AudioScope,
@ -596,19 +596,19 @@ Menu::Menu() :
QAction *fiveFrames = addCheckableActionToQMenuAndActionHash(audioScopeMenu, MenuOption::AudioScopeFiveFrames,
0,
true,
scope,
scope.data(),
SLOT(selectAudioScopeFiveFrames()));
QAction *twentyFrames = addCheckableActionToQMenuAndActionHash(audioScopeMenu, MenuOption::AudioScopeTwentyFrames,
0,
false,
scope,
scope.data(),
SLOT(selectAudioScopeTwentyFrames()));
QAction *fiftyFrames = addCheckableActionToQMenuAndActionHash(audioScopeMenu, MenuOption::AudioScopeFiftyFrames,
0,
false,
scope,
scope.data(),
SLOT(selectAudioScopeFiftyFrames()));
QActionGroup* audioScopeFramesGroup = new QActionGroup(audioScopeMenu);
@ -617,20 +617,20 @@ Menu::Menu() :
audioScopeFramesGroup->addAction(fiftyFrames);
}
AudioIOStatsRenderer* statsRenderer = DependencyManager::get<AudioIOStatsRenderer>();
AudioIOStatsRenderer::SharedPointer statsRenderer = DependencyManager::get<AudioIOStatsRenderer>();
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioStats,
Qt::CTRL | Qt::Key_A,
false,
statsRenderer,
statsRenderer.data(),
SLOT(toggle()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioStatsShowInjectedStreams,
0,
false,
statsRenderer,
statsRenderer.data(),
SLOT(toggleShowInjectedStreams()));
connect(audioIO, SIGNAL(muteToggled()), this, SLOT(audioMuteToggled()));
connect(audioIO.data(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled()));
QMenu* experimentalOptionsMenu = developerMenu->addMenu("Experimental");
addCheckableActionToQMenuAndActionHash(experimentalOptionsMenu, MenuOption::StringHair, 0, false);
@ -1166,7 +1166,7 @@ void Menu::displayNameLocationResponse(const QString& errorString) {
void Menu::toggleLocationList() {
if (!_userLocationsDialog) {
JavascriptObjectMap locationObjectMap;
locationObjectMap.insert("InterfaceLocation", DependencyManager::get<AddressManager>());
locationObjectMap.insert("InterfaceLocation", DependencyManager::get<AddressManager>().data());
_userLocationsDialog = DataWebDialog::dialogForPath("/user/locations", locationObjectMap);
}
@ -1210,7 +1210,7 @@ void Menu::nameLocation() {
if (!_newLocationDialog) {
JavascriptObjectMap locationObjectMap;
locationObjectMap.insert("InterfaceLocation", DependencyManager::get<AddressManager>());
locationObjectMap.insert("InterfaceLocation", DependencyManager::get<AddressManager>().data());
_newLocationDialog = DataWebDialog::dialogForPath("/user/locations/new", locationObjectMap);
}

View file

@ -97,7 +97,7 @@ void AudioIOStats::parseAudioStreamStatsPacket(const QByteArray& packet) {
void AudioIOStats::sendDownstreamAudioStatsPacket() {
Audio::Pointer audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
// since this function is called every second, we'll sample for some of our stats here
_inputRingBufferMsecsAvailableStats.update(audioIO->getInputRingBufferMsecsAvailable());

View file

@ -36,14 +36,14 @@ AudioScope::AudioScope() :
_scopeOutputRight(NULL),
_scopeLastFrame()
{
Audio* audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
connect(&audioIO->getReceivedAudioStream(), &MixedProcessedAudioStream::addedSilence,
this, &AudioScope::addStereoSilenceToScope);
connect(&audioIO->getReceivedAudioStream(), &MixedProcessedAudioStream::addedLastFrameRepeatedWithFade,
this, &AudioScope::addLastFrameRepeatedWithFadeToScope);
connect(&audioIO->getReceivedAudioStream(), &MixedProcessedAudioStream::addedStereoSamples,
this, &AudioScope::addStereoSamplesToScope);
connect(audioIO, &Audio::inputReceived, this, &AudioScope::addInputToScope);
connect(audioIO.data(), &Audio::inputReceived, this, &AudioScope::addInputToScope);
}
void AudioScope::toggle() {

View file

@ -11,7 +11,9 @@
#include "InterfaceConfig.h"
#include "Application.h"
#include <GLCanvas.h>
#include <PathUtils.h>
#include "Audio.h"
#include "AudioToolBox.h"
@ -22,10 +24,10 @@ const int MUTE_ICON_SIZE = 24;
AudioToolBox::AudioToolBox() :
_iconPulseTimeReference(usecTimestampNow())
{
Application* app = Application::getInstance();
_micTextureId = app->getGLWidget()->bindTexture(QImage(Application::resourcesPath() + "images/mic.svg"));
_muteTextureId = app->getGLWidget()->bindTexture(QImage(Application::resourcesPath() + "images/mic-mute.svg"));
_boxTextureId = app->getGLWidget()->bindTexture(QImage(Application::resourcesPath() + "images/audio-box.svg"));
GLCanvas::SharedPointer glCanvas = DependencyManager::get<GLCanvas>();
_micTextureId = glCanvas->bindTexture(QImage(PathUtils::resourcesPath() + "images/mic.svg"));
_muteTextureId = glCanvas->bindTexture(QImage(PathUtils::resourcesPath() + "images/mic-mute.svg"));
_boxTextureId = glCanvas->bindTexture(QImage(PathUtils::resourcesPath() + "images/audio-box.svg"));
}
bool AudioToolBox::mousePressEvent(int x, int y) {
@ -40,7 +42,7 @@ void AudioToolBox::render(int x, int y, bool boxed) {
glEnable(GL_TEXTURE_2D);
Audio* audioIO = DependencyManager::get<Audio>();
Audio::SharedPointer audioIO = DependencyManager::get<Audio>();
if (boxed) {
bool isClipping = ((audioIO->getTimeSinceLastClip() > 0.0f) && (audioIO->getTimeSinceLastClip() < 1.0f));

View file

@ -14,7 +14,8 @@
#include <DependencyManager.h>
class AudioToolBox : public DependencyManager::Dependency {
class AudioToolBox : public QObject {
SINGLETON_DEPENDENCY(AudioToolBox)
public:
void render(int x, int y, bool boxed);

View file

@ -102,7 +102,8 @@ MyAvatar::MyAvatar() :
_skeletonModel.buildRagdoll();
// connect to AddressManager signal for location jumps
connect(DependencyManager::get<AddressManager>(), &AddressManager::locationChangeRequired, this, &MyAvatar::goToLocation);
connect(DependencyManager::get<AddressManager>().data(), &AddressManager::locationChangeRequired,
this, &MyAvatar::goToLocation);
}
MyAvatar::~MyAvatar() {
@ -146,7 +147,7 @@ void MyAvatar::update(float deltaTime) {
head->relaxLean(deltaTime);
updateFromTrackers(deltaTime);
// Get audio loudness data from audio input device
Audio* audio = DependencyManager::get<Audio>();
Audio::SharedPointer audio = DependencyManager::get<Audio>();
head->setAudioLoudness(audio->getLastInputLoudness());
head->setAudioAverageLoudness(audio->getAudioAverageInputLoudness());

View file

@ -19,13 +19,13 @@ AudioDeviceScriptingInterface* AudioDeviceScriptingInterface::getInstance() {
}
AudioDeviceScriptingInterface::AudioDeviceScriptingInterface() {
connect(DependencyManager::get<Audio>(), &Audio::muteToggled,
connect(DependencyManager::get<Audio>().data(), &Audio::muteToggled,
this, &AudioDeviceScriptingInterface::muteToggled);
}
bool AudioDeviceScriptingInterface::setInputDevice(const QString& deviceName) {
bool result;
QMetaObject::invokeMethod(DependencyManager::get<Audio>(), "switchInputToAudioDevice",
QMetaObject::invokeMethod(DependencyManager::get<Audio>().data(), "switchInputToAudioDevice",
Qt::BlockingQueuedConnection,
Q_RETURN_ARG(bool, result),
Q_ARG(const QString&, deviceName));
@ -35,7 +35,7 @@ bool AudioDeviceScriptingInterface::setInputDevice(const QString& deviceName) {
bool AudioDeviceScriptingInterface::setOutputDevice(const QString& deviceName) {
bool result;
QMetaObject::invokeMethod(DependencyManager::get<Audio>(), "switchOutputToAudioDevice",
QMetaObject::invokeMethod(DependencyManager::get<Audio>().data(), "switchOutputToAudioDevice",
Qt::BlockingQueuedConnection,
Q_RETURN_ARG(bool, result),
Q_ARG(const QString&, deviceName));

View file

@ -19,7 +19,7 @@ LocationScriptingInterface* LocationScriptingInterface::getInstance() {
}
QScriptValue LocationScriptingInterface::locationGetter(QScriptContext* context, QScriptEngine* engine) {
return engine->newQObject(DependencyManager::get<AddressManager>());
return engine->newQObject(DependencyManager::get<AddressManager>().data());
}
QScriptValue LocationScriptingInterface::locationSetter(QScriptContext* context, QScriptEngine* engine) {
@ -28,11 +28,11 @@ QScriptValue LocationScriptingInterface::locationSetter(QScriptContext* context,
if (argumentVariant.canConvert(QMetaType::QVariantMap)) {
// this argument is a variant map, so we'll assume it's an address map
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>(), "goToAddressFromObject",
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>().data(), "goToAddressFromObject",
Q_ARG(const QVariantMap&, argumentVariant.toMap()));
} else {
// just try and convert the argument to a string, should be a hifi:// address
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>(), "handleLookupString",
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>().data(), "handleLookupString",
Q_ARG(const QString&, argumentVariant.toString()));
}

View file

@ -27,10 +27,10 @@ AddressBarDialog::AddressBarDialog() :
setAttribute(Qt::WA_DeleteOnClose, false);
setupUI();
AddressManager* addressManager = DependencyManager::get<AddressManager>();
AddressManager::SharedPointer addressManager = DependencyManager::get<AddressManager>();
connect(addressManager, &AddressManager::lookupResultIsOffline, this, &AddressBarDialog::displayAddressOfflineMessage);
connect(addressManager, &AddressManager::lookupResultIsNotFound, this, &AddressBarDialog::displayAddressNotFoundMessage);
connect(addressManager.data(), &AddressManager::lookupResultIsOffline, this, &AddressBarDialog::displayAddressOfflineMessage);
connect(addressManager.data(), &AddressManager::lookupResultIsNotFound, this, &AddressBarDialog::displayAddressNotFoundMessage);
}
void AddressBarDialog::setupUI() {
@ -131,8 +131,8 @@ void AddressBarDialog::showEvent(QShowEvent* event) {
void AddressBarDialog::accept() {
if (!_addressLineEdit->text().isEmpty()) {
_goButton->setIcon(QIcon(PathUtils::resourcesPath() + ADDRESSBAR_GO_BUTTON_ACTIVE_ICON));
AddressManager* addressManager = DependencyManager::get<AddressManager>();
connect(addressManager, &AddressManager::lookupResultsFinished, this, &QDialog::hide);
AddressManager::SharedPointer addressManager = DependencyManager::get<AddressManager>();
connect(addressManager.data(), &AddressManager::lookupResultsFinished, this, &QDialog::hide);
addressManager->handleLookupString(_addressLineEdit->text());
}
}

View file

@ -764,8 +764,6 @@ void ApplicationOverlay::renderMagnifier(glm::vec2 magPos, float sizeMult, bool
}
void ApplicationOverlay::renderAudioMeter() {
Application* application = Application::getInstance();
GLCanvas::SharedPointer glCanvas = DependencyManager::get<GLCanvas>();
Audio::SharedPointer audio = DependencyManager::get<Audio>();

View file

@ -36,7 +36,7 @@ bool DataWebPage::acceptNavigationRequest(QWebFrame* frame, const QNetworkReques
return true;
} else {
// this is a hifi URL - have the AddressManager handle it
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>(), "handleLookupString",
QMetaObject::invokeMethod(DependencyManager::get<AddressManager>().data(), "handleLookupString",
Qt::AutoConnection, Q_ARG(const QString&, request.url().toString()));
return false;
}