You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef SCREEN_RECORDER_OBS_MANAGER_HPP
#define SCREEN_RECORDER_OBS_MANAGER_HPP
#include <list>
#include <gdkmm/display.h>
#include <glibmm/ustring.h>
#include <gdk/gdkx.h>
#include <X11/X.h>
#include <obs/obs.h>
#include "settings-manager.hpp"
using namespace Glib; using namespace std;
class OBSManager { public: OBSManager(); virtual ~OBSManager(); ustring GetVersion(); void Initialize(); void SetPreviewWindow(XID wid, Display *wdisplay); void StartRecording(); void StopRecording(); obs_source_t *CreateScreenSource(); obs_source_t *CreateWebcamSource(); obs_source_t *CreateAudioSource(); void Cleanup(); void LoadSettings(SettingsManager *settings); int PreviewWidth = 1280; int PreviewHeight = 720; private: bool isInitialized = false; bool isRecording = false; obs_display_t *display; obs_output_t *output; list<obs_source_t*> sources; ustring mPluginDir; ustring mOutputDir; ustring mWebcamDeviceID; void printTypes(); // Plugins
list<ustring> mPlugins; void loadPlugin(ustring name); void loadPlugins(); };
#endif
|