summaryrefslogtreecommitdiffstats
path: root/app/main.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-10-23 21:37:30 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-10-23 21:47:41 +0900
commit4153b3eef4907427a27e318a21f976132ca9da3b (patch)
tree596e0498b2d3374549ba19bec11d536d23adc204 /app/main.cpp
parent283a0f1ddd10cfd96d488f0701537b83b4ebe889 (diff)
Adopt sound manager feature to get sound right
Adopt sound manager feature to get sound right In the future, it is better to be compatible to switch AAAA and Sound Manager qlibsoundmanager will be removed when qlibsoundmanager repository is created It is OK to replace library to QML websocket class Change-Id: I29501e68923e95a2ca889b87f5d59ea5195c71bd Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'app/main.cpp')
-rw-r--r--app/main.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/app/main.cpp b/app/main.cpp
index 23966ca..7c967c2 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -27,8 +27,10 @@
#include <QQuickWindow>
#include "PresetDataObject.h"
#include "qlibwindowmanager.h"
+#include "qlibsoundmanager.h"
static QLibWindowmanager* qwm;
+static QLibSoundmanager* smw;
static std::string myname = std::string("Radio");
int main(int argc, char *argv[])
@@ -91,6 +93,8 @@ int main(int argc, char *argv[])
context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress);
qwm = new QLibWindowmanager();
+ smw = new QLibSoundmanager();
+
// WindowManager
if(qwm->init(port,secret) != 0){
exit(EXIT_FAILURE);
@@ -102,16 +106,28 @@ int main(int argc, char *argv[])
fprintf(stderr, "Surface got syncDraw!\n");
qwm->endDraw(myname.c_str());
});
- qwm->set_event_handler(QLibWindowmanager::Event_FlushDraw, [](json_object *object) {
- fprintf(stderr, "Surface got flushDraw!\n");;
+ qwm->set_event_handler(QLibWindowmanager::Event_FlushDraw, [&engine, smw](json_object *object) {
+ fprintf(stderr, "Surface got flushDraw!\n");
+ QObject *root = engine.rootObjects().first();
+ int sourceID = root->property("sourceID").toInt();
+ smw->connect(sourceID, "default");
});
+ // SoundManager, event handler is set inside smw
+ smw->init(port, secret);
+
+ engine.rootContext()->setContextProperty("smw",smw);
+
// Loading QML File
engine.load(QUrl(QStringLiteral("qrc:/Radio.qml")));
QObject *root = engine.rootObjects().first();
QQuickWindow *window = qobject_cast<QQuickWindow *>(root);
QObject::connect(window, SIGNAL(frameSwapped()),
qwm, SLOT(slotActivateSurface())); // This should be disconnected, but when...
+ QObject::connect(smw, SIGNAL(reply(QVariant)),
+ root, SLOT(slotReply(QVariant)));
+ QObject::connect(smw, SIGNAL(event(QVariant, QVariant)),
+ root, SLOT(slotEvent(QVariant, QVariant)));
}
return app.exec();