History

return an injector from playSound and allow user to stop it

Stephen Birarda committed 12 years ago

Commit 99ee6ae1 parent fec2ba75 files · +30 −6Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 5 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+11−0
@@ -18,6 +18,7 @@ · 17 unmodified lines
1818 #include <QtNetwork/QNetworkReply>
1919 #include <QScriptEngine>
2020
21+#include <AudioInjector.h>
2122 #include <AudioRingBuffer.h>
2223 #include <AvatarData.h>
2324 #include <CollisionInfo.h>
@@ -52,6 +53,14 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){ · 28 unmodified lines
5253 return QScriptValue();
5354 }
5455
56+QScriptValue injectorToScriptValue(QScriptEngine *engine, AudioInjector* const &in) {
57+ return engine->newQObject(in);
58+}
59+
60+void injectorFromScriptValue(const QScriptValue &object, AudioInjector* &out) {
61+ out = qobject_cast<AudioInjector*>(object.toQObject());
62+}
63+
5564 ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString,
5665 AbstractControllerScriptingInterface* controllerScriptingInterface) :
5766
@@ -226,6 +235,8 @@ void ScriptEngine::init() { · 168 unmodified lines
226235
227236 QScriptValue localVoxelsValue = _engine.scriptValueFromQMetaObject<LocalVoxels>();
228237 _engine.globalObject().setProperty("LocalVoxels", localVoxelsValue);
238+
239+ qScriptRegisterMetaType(&_engine, injectorToScriptValue, injectorFromScriptValue);
229240
230241 registerGlobalObject("Script", this);
231242 registerGlobalObject("Audio", &_audioScriptingInterface);