1 #pragma once 2 3 #include <vector> 4 5 #include <util/MediaItem.h> 6 #include <util/PluginOption.h> 7 #include <core/MediaLoader.h> 8 #include <core/PluginManager.h> 9 #include <core/ConvTask.h> 10 #include <core/ConvTaskFactory.h> 11 #include <core/TagParserFactory.h> 12 using namespace mous; 13 14 struct Context 15 { 16 using PluginPtrVector = std::vector<const Plugin*>; 17 18 Context(); 19 ~Context(); 20 21 PluginManager pluginManager; 22 23 MediaLoader loader; 24 TagParserFactory tagParserFactory; 25 ConvTaskFactory convertTaskFactory; 26 27 PluginPtrVector decoderPlugins; 28 PluginPtrVector encoderPlugins; 29 PluginPtrVector outputPlugins; 30 PluginPtrVector tagParserPlugins; 31 PluginPtrVector sheetParserPlugins; 32 }; 33 34 extern Context ctx; 35