Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/script/scriptengine.h

Go to the documentation of this file.
00001 #ifndef SCRIPT_SCRIPTENGINE_H
00002 #define SCRIPT_SCRIPTENGINE_H
00003 
00004 #include "../mixxx.h"
00005 #include "../track.h"
00006 #include "playinterface.h"
00007 #include "qtscriptinterface.h"
00008 
00009 #ifdef __LUA__
00010         #include "lua/luainterface.h"
00011 #endif
00012 
00013 #include "macro.h"
00014 #include "scriptstudio.h"
00015 #include <QList>
00016 #include <qstring.h>
00017 
00018 class ScriptStudio;
00019 class ScriptRecorder;
00020 
00021 class ScriptEngine {
00022         public:
00023                 ScriptEngine(MixxxApp* parent, Track* track);
00024                 ~ScriptEngine();
00025         
00026                 void executeMacro(Macro* macro);
00027                 void executeScript(const char* script);
00028                 void addMacro(Macro* macro);
00029                 void newMacro(int lang);
00030                 void deleteMacro(Macro* macro);
00031                 int macroCount();
00032                 Macro* getMacro(int index);
00033 
00034                 void playTrack(int channel, QString filename);
00035                 
00036                 void saveMacros();
00037                 ScriptStudio* getStudio();
00038                 ScriptRecorder* getRecorder();
00039         private:
00040                 QFile* getMacroFile();
00041 
00042                 MixxxApp* m_parent;
00043                 Track* m_track;
00044                 ScriptRecorder* m_rec;
00045                 ScriptStudio* m_studio;
00046 
00047                 PlayInterface *m_pi;
00048                 QtScriptInterface* m_qti;
00049 #ifdef __LUA__
00050                 LuaInterface *m_lua;
00051 #endif
00052                 QList<Macro*>* m_macros;
00053 
00054                 void loadMacros();
00055 
00056                 int m_pcount;
00057 };
00058 
00059 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines