File: obs-frontend-internal.hpp

package info (click to toggle)
obs-studio 22.0.3%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 23,052 kB
  • sloc: ansic: 134,708; cpp: 49,169; objc: 1,036; makefile: 829; sh: 410; python: 360
file content (102 lines) | stat: -rw-r--r-- 4,142 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#pragma once

#include "obs-frontend-api.h"

#include <vector>
#include <string>

struct obs_frontend_callbacks {
	virtual ~obs_frontend_callbacks() {}
	virtual void *obs_frontend_get_main_window(void)=0;
	virtual void *obs_frontend_get_main_window_handle(void)=0;

	virtual void obs_frontend_get_scenes(
			struct obs_frontend_source_list *sources)=0;
	virtual obs_source_t *obs_frontend_get_current_scene(void)=0;
	virtual void obs_frontend_set_current_scene(obs_source_t *scene)=0;

	virtual void obs_frontend_get_transitions(
			struct obs_frontend_source_list *sources)=0;
	virtual obs_source_t *obs_frontend_get_current_transition(void)=0;
	virtual void obs_frontend_set_current_transition(
			obs_source_t *transition)=0;

	virtual void obs_frontend_get_scene_collections(
			std::vector<std::string> &strings)=0;
	virtual char *obs_frontend_get_current_scene_collection(void)=0;
	virtual void obs_frontend_set_current_scene_collection(
			const char *collection)=0;
	virtual bool obs_frontend_add_scene_collection(const char *name)=0;

	virtual void obs_frontend_get_profiles(
			std::vector<std::string> &strings)=0;
	virtual char *obs_frontend_get_current_profile(void)=0;
	virtual void obs_frontend_set_current_profile(const char *profile)=0;

	virtual void obs_frontend_streaming_start(void)=0;
	virtual void obs_frontend_streaming_stop(void)=0;
	virtual bool obs_frontend_streaming_active(void)=0;

	virtual void obs_frontend_recording_start(void)=0;
	virtual void obs_frontend_recording_stop(void)=0;
	virtual bool obs_frontend_recording_active(void)=0;

	virtual void obs_frontend_replay_buffer_start(void)=0;
	virtual void obs_frontend_replay_buffer_save(void) = 0;
	virtual void obs_frontend_replay_buffer_stop(void)=0;
	virtual bool obs_frontend_replay_buffer_active(void)=0;

	virtual void *obs_frontend_add_tools_menu_qaction(const char *name)=0;
	virtual void obs_frontend_add_tools_menu_item(const char *name,
			obs_frontend_cb callback, void *private_data)=0;

	virtual void obs_frontend_add_event_callback(
			obs_frontend_event_cb callback, void *private_data)=0;
	virtual void obs_frontend_remove_event_callback(
			obs_frontend_event_cb callback, void *private_data)=0;

	virtual obs_output_t *obs_frontend_get_streaming_output(void)=0;
	virtual obs_output_t *obs_frontend_get_recording_output(void)=0;
	virtual obs_output_t *obs_frontend_get_replay_buffer_output(void)=0;

	virtual config_t *obs_frontend_get_profile_config(void)=0;
	virtual config_t *obs_frontend_get_global_config(void)=0;

	virtual void obs_frontend_save(void) = 0;
	virtual void obs_frontend_defer_save_begin(void) = 0;
	virtual void obs_frontend_defer_save_end(void) = 0;
	virtual void obs_frontend_add_save_callback(
			obs_frontend_save_cb callback, void *private_data)=0;
	virtual void obs_frontend_remove_save_callback(
			obs_frontend_save_cb callback, void *private_data)=0;

	virtual void obs_frontend_add_preload_callback(
			obs_frontend_save_cb callback, void *private_data)=0;
	virtual void obs_frontend_remove_preload_callback(
			obs_frontend_save_cb callback, void *private_data)=0;

	virtual void obs_frontend_push_ui_translation(
			obs_frontend_translate_ui_cb translate)=0;
	virtual void obs_frontend_pop_ui_translation(void)=0;

	virtual void obs_frontend_set_streaming_service(
			obs_service_t *service)=0;
	virtual obs_service_t *obs_frontend_get_streaming_service(void)=0;
	virtual void obs_frontend_save_streaming_service()=0;

	virtual bool obs_frontend_preview_program_mode_active(void)=0;
	virtual void obs_frontend_set_preview_program_mode(bool enable)=0;
	virtual bool obs_frontend_preview_enabled(void)=0;
	virtual void obs_frontend_set_preview_enabled(bool enable)=0;

	virtual obs_source_t *obs_frontend_get_current_preview_scene(void)=0;
	virtual void obs_frontend_set_current_preview_scene(obs_source_t *scene)=0;

	virtual void on_load(obs_data_t *settings)=0;
	virtual void on_preload(obs_data_t *settings)=0;
	virtual void on_save(obs_data_t *settings)=0;
	virtual void on_event(enum obs_frontend_event event)=0;
};

EXPORT void obs_frontend_set_callbacks_internal(
		obs_frontend_callbacks *callbacks);