Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 5 files). Show all
Unified · Split
| @@ -18,6 +18,7 @@ · 17 unmodified lines | ||
| 18 | 18 | #include <QtNetwork/QNetworkReply> |
| 19 | 19 | #include <QScriptEngine> |
| 20 | 20 | |
| 21 | +#include <AudioInjector.h> | |
| 21 | 22 | #include <AudioRingBuffer.h> |
| 22 | 23 | #include <AvatarData.h> |
| 23 | 24 | #include <CollisionInfo.h> |
| @@ -52,6 +53,14 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){ · 28 unmodified lines | ||
| 52 | 53 | return QScriptValue(); |
| 53 | 54 | } |
| 54 | 55 | |
| 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 | + | |
| 55 | 64 | ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString, |
| 56 | 65 | AbstractControllerScriptingInterface* controllerScriptingInterface) : |
| 57 | 66 | |
| @@ -226,6 +235,8 @@ void ScriptEngine::init() { · 168 unmodified lines | ||
| 226 | 235 | |
| 227 | 236 | QScriptValue localVoxelsValue = _engine.scriptValueFromQMetaObject<LocalVoxels>(); |
| 228 | 237 | _engine.globalObject().setProperty("LocalVoxels", localVoxelsValue); |
| 238 | + | |
| 239 | + qScriptRegisterMetaType(&_engine, injectorToScriptValue, injectorFromScriptValue); | |
| 229 | 240 | |
| 230 | 241 | registerGlobalObject("Script", this); |
| 231 | 242 | registerGlobalObject("Audio", &_audioScriptingInterface); |