![]() |
Mixxx
|
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