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
18#include <QtNetwork/QNetworkReply>18#include <QtNetwork/QNetworkReply>
19#include <QScriptEngine>19#include <QScriptEngine>
20 20
21#include <AudioInjector.h>
21#include <AudioRingBuffer.h>22#include <AudioRingBuffer.h>
22#include <AvatarData.h>23#include <AvatarData.h>
23#include <CollisionInfo.h>24#include <CollisionInfo.h>
@@ -52,6 +53,14 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){ · 28 unmodified lines
52 return QScriptValue();53 return QScriptValue();
53}54}
54 55
56QScriptValue injectorToScriptValue(QScriptEngine *engine, AudioInjector* const &in) {
57 return engine->newQObject(in);
58}
59
60void injectorFromScriptValue(const QScriptValue &object, AudioInjector* &out) {
61 out = qobject_cast<AudioInjector*>(object.toQObject());
62}
63
55ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString,64ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString,
56 AbstractControllerScriptingInterface* controllerScriptingInterface) :65 AbstractControllerScriptingInterface* controllerScriptingInterface) :
57 66
@@ -226,6 +235,8 @@ void ScriptEngine::init() { · 168 unmodified lines
226 235
227 QScriptValue localVoxelsValue = _engine.scriptValueFromQMetaObject<LocalVoxels>();236 QScriptValue localVoxelsValue = _engine.scriptValueFromQMetaObject<LocalVoxels>();
228 _engine.globalObject().setProperty("LocalVoxels", localVoxelsValue);237 _engine.globalObject().setProperty("LocalVoxels", localVoxelsValue);
238
239 qScriptRegisterMetaType(&_engine, injectorToScriptValue, injectorFromScriptValue);
229 240
230 registerGlobalObject("Script", this);241 registerGlobalObject("Script", this);
231 registerGlobalObject("Audio", &_audioScriptingInterface);242 registerGlobalObject("Audio", &_audioScriptingInterface);