summaryrefslogtreecommitdiffstats
path: root/examples/mediaplayer/main.cpp
diff options
context:
space:
mode:
authorNoam Rosenthal <nrosenth@nokia.com>2009-06-08 12:27:03 -0700
committerNoam Rosenthal <nrosenth@nokia.com>2009-06-08 12:27:03 -0700
commitd0441f605434a89b53735427e4e81182c65debbd (patch)
treeb96d25dc89cdb523c007a22bc0deed3a5aa5dd56 /examples/mediaplayer/main.cpp
parenta6553f68f17c28adca049857686496a69b4c1e7a (diff)
scxml for 4.6
Diffstat (limited to 'examples/mediaplayer/main.cpp')
-rw-r--r--examples/mediaplayer/main.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/mediaplayer/main.cpp b/examples/mediaplayer/main.cpp
new file mode 100644
index 0000000..1eb7b4b
--- /dev/null
+++ b/examples/mediaplayer/main.cpp
@@ -0,0 +1,58 @@
+#include "qscriptedstatemachine.h"
+#include "spview.h"
+#include "spmodel.h"
+#include "spengine.h"
+#include "spharvester.h"
+#include "math.h"
+#include "time.h"
+#include <QDebug>
+#include <QApplication>
+#include <QLabel>
+#include <QPushButton>
+#include <QScriptEngine>
+#include <QVBoxLayout>
+#include <QHBoxLayout>
+#include <QFileInfo>
+#include <QScriptContext>
+#include <QScriptEngine>
+#include <QMenu>
+#include <QMainWindow>
+
+
+int main( int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ QString dir;
+ bool recurse;
+ if (argc > 1) {
+ dir = QString(argv[1]);
+ if (argc > 2)
+ {
+ recurse = !strcmp(argv[2],"-recurse");
+ }
+ } else {
+ printf("Usage: stateplayer directory [-recurse]");
+ return 0;
+ }
+
+ app.setApplicationName("SCXML-mediaplayer");
+
+ SPView* view = new SPView(NULL);
+ QtScriptedStateMachine *sm = QtScriptedStateMachine::load(":/mediaplayer.scxml");
+ QObject::connect (sm, SIGNAL(finished()), &app, SLOT(quit()));
+ SPModel* model= new SPModel(NULL);
+ view->setModel(model);
+ model->setObjectName("model");
+ SPEngine* engine = new SPEngine(sm);
+ engine->setObjectName("engine");
+ SPHarvester* harvester = new SPHarvester (view);
+ QObject::connect (harvester, SIGNAL(foundTrack(SongData)), model, SLOT(addSong(SongData)));
+ harvester->harvest(dir,recurse);
+ view->setObjectName("view");
+ sm->registerObject(model);
+ sm->registerObject(engine);
+ sm->registerObject(view,"",true);
+ view->show ();
+ sm->start ();
+ return app.exec ();
+}