diff options
Diffstat (limited to 'visualization/renderer/qmpvisrendercore.hpp')
-rw-r--r-- | visualization/renderer/qmpvisrendercore.hpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/visualization/renderer/qmpvisrendercore.hpp b/visualization/renderer/qmpvisrendercore.hpp new file mode 100644 index 0000000..0c024f1 --- /dev/null +++ b/visualization/renderer/qmpvisrendercore.hpp @@ -0,0 +1,44 @@ +#ifndef QMPVISRENDERCORE_HPP +#define QMPVISRENDERCORE_HPP + +#include <cstddef> + +#include <QObject> +#include "qmpcorepublic.hpp" + +class qmpPluginAPIStub; +class CMidiPlayer; +class qmpSettingsRO; + +class QProcess; + +class qmpVisRenderCore:public QObject +{ + Q_OBJECT +public: + qmpVisRenderCore(); + void loadVisualizationLibrary(); + void unloadVisualizationLibrary(); + void setMIDIFile(const char* url); + void startRender(); + + qmpSettingsRO* settings(){return msettings;} + +private: + qmpPluginIntf *vp; + qmpFuncBaseIntf *vf; + callback_t startcb; + void *mp; + qmpPluginAPIStub *api; + CMidiPlayer *player; + qmpSettingsRO *msettings; + QProcess *ffmpegproc; + typedef qmpPluginIntf*(*GetInterface_func)(qmpPluginAPI*); + typedef void(*SwitchMode_func)(void(*frameCallback)(void*,size_t),bool hidewindow); + + friend class qmpPluginAPIStub; + static void framefunc(void* px,size_t sz); + static qmpVisRenderCore *inst; +}; + +#endif // QMPVISRENDERCORE_HPP |