Commit Graph

40 Commits (0a218e06b7601c0e561db518b1b5878557cd1ebc)

Author SHA1 Message Date
cg2121 65a360fa41 obs-frontend-api: Add function to get frontend translated string
Developers now can easily get a translated string from the frontend
instead of using their own translations.
2022-03-10 06:27:18 -08:00
Jim b9e01380f3 UI: Replace addref calls with get_ref 2022-01-24 14:06:50 -08:00
tt2468 47397ce527 UI: Add `obs_frontend_open_source_interaction()`
Adds a frontend api call to open the interact dialog of a source,
just like the `_properties` and `_filters` functions.
2021-12-28 21:44:35 -08:00
VodBox 3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
tt2468 22fa8f8bb0 UI: Add obs_frontend_get_current_record_output_path()
Returns the current path of the record output.
2021-11-13 16:05:52 -08:00
jp9000 ee67228a94 UI: Fix compiler error
I probably should have at least compiled this before pushing a commit.
2021-08-15 06:55:15 -07:00
jp9000 228ca55661 UI: Fix frontend API cleanup/exit event order
Makes it so that the exit event is always called regardless of save
state, and that exit is always called after cleanup rather than before.
2021-08-15 06:44:23 -07:00
Exeldro 5b18faeb49 UI: Add functions to open properties and filters 2021-08-12 04:31:40 -07:00
Exeldro f0d372bdd7 obs-frontend-api: Send OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP 2021-08-12 01:33:52 -07:00
Norihiro Kamae 04b0d632aa UI: Fix da_push_back taking a wrong type of item
A pointer to `OBSSource` was passed to an argument that expect a pointer
to `obs_source_t *`.
Since the current implementation of a class `OBSSource` has a member
`obs_source_t *obj` at first and the class does not have any virtual
member functions, most implementation should work correctly.
2021-07-31 15:29:26 -07:00
SCG82 88cc691afa UI: Add obs-frontend-api functions to create/delete profiles 2021-07-09 19:32:18 +12:00
tt2468 9ca70f4470 UI: Add obs_frontend_get_current_profile_path()
Returns the path of the current profile's location on the filesystem.
2021-07-09 17:39:40 +12:00
Christopher P Yarger 25a335dc3c UI: Add Frontend API function to get value of T-bar
Also add a Frontend API event for when the T-bar's value changes.
2021-03-10 20:18:36 -08:00
tt2468 fa3ae6db93 Frontend-API: Add obs_frontend_reset_video() 2021-02-03 08:53:42 -08:00
Clayton Groeneveld 3bc4e8ecba obs-frontend-api: Add frontend api functions for the virtual camera
This adds functions to the frontend api to start/stop the virtual
camera, to check if it is active and adds function to get the output
reference. It also adds api events for when the virtual camera is
started or stopped.
2021-01-13 09:46:04 -08:00
Clayton Groeneveld b9b990a35a UI: Fix transition enumeration
Fixes issue where sometimes the transition loop would return a null
transition.
2020-08-23 09:47:52 -07:00
Clayton Groeneveld a70014d7b2 UI: Add ability to make screenshots
Co-authored-by: Jim <obs.jim@gmail.com>
2020-07-30 17:41:43 -07:00
tt2468 a03189bb68 UI: Add TBar controls to obs-frontend-api
Adds `obs_frontend_set_tbar_position` and `obs_frontend_release_tbar`,
which allow plugins and scripts to control the tbar in OBS.
This specific change is required for the `SetTBarPosition`
request to be added to obs-websocket.
2020-07-06 17:48:30 -07:00
Chris Angelico 7c540acc11 UI: Create an API for opening projector windows 2019-11-24 22:45:28 -08:00
jp9000 eab10d48b2 UI: Add pause support
Adds support for pausing recordings.  When settings are eligible for
recordings, a pause button will appear next to the recording button.  If
the settings are not eligible, it will warn the user in the output
settings that they cannot pause recordings if those settings are used.
2019-07-08 08:11:56 -07:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000 bcd59b670a obs-frontend-api: Add func to add custom docks 2019-06-13 21:12:49 -07:00
Jim 3a3cfce29d
Merge pull request #1873 from Palakis/feature/frontend-api-studio-mode-transition
obs-frontend-api: Add method to trigger a Studio Mode transition
2019-05-09 19:24:59 -07:00
Stéphane L 4762351258 obs-frontend-api: Add func to trigger a Studio Mode transition 2019-05-09 17:01:08 -07:00
Stéphane L d3910149d2 obs-frontend-api: Add methods to get/set transition duration 2019-05-09 16:58:47 -07:00
Nick Stockton 54da8eca85 obs-frontend-api: Access system tray icon from API
All UI elements are accessible through the obs frontend api via
obs_frontend_api_get_main_window, except for the tray icon and its
elements. This commit adds an obs_frontend_api_get_system_tray function
which returns the pointer to the QSystemTrayIcon cast to void (much like
the QMainWindow pointer for the main window).
2019-04-04 07:55:19 -04:00
jp9000 1c4a6ca6c6 UI: Make workaround for Logitech plugin hard lock
In commit d17ee20863, we attempted to fix a race condition crash in the
Logitech plugin by deferring the "stream/recording/replay buffer active"
calls to the UI thread.  However, the Logitech plugin loop_function
funciton can call obs_frontend_streaming_active/etc functions while the
UI thread waits for the loop_function thread for many OBS events,
causing a hard lock in the Logitech plugin.  This fixes that by making
the obs_frontend_streaming_active/etc functions completely atomic
instead.  It's a bit of a hack but it's better than accessing objects.
2019-02-26 06:37:01 -08:00
jp9000 d17ee20863 obs-frontend-api: Make a few frontend API thread-safe
Additionally, check for null output handlers.
2019-02-18 19:28:26 -08:00
Ilya Melamed e265fc92ed UI: Block when calling obs_frontend_set_current_scene
Uses WaitConnection() when calling obs_frontend_set_current_scene to
ensure that the calling thread and the UI thread are synchronized when
setting the current scene via this function.

Closes obsproject/obs-studio#1234
2018-05-04 15:45:27 -07:00
Ilya Melamed c768f703ad UI: Add obs_frontend_add_scene_collection API call
Allows the ability to add a new scene collection via the frontend API.
Blocks until the scene collection has been successfully added to ensure
synchronization between the calling thread and the UI thread.

(Jim: Added detailed description to commit message)

Closes obsproject/obs-studio#1232
2018-05-04 15:40:53 -07:00
Ilya M 439b9e4d15 UI: Add frontend API to defer saving
Allows the ability to perform multiple actions that would normally save,
and defer the save until all of those actions are complete.

Closes obsproject/obs-studio#1231
2018-04-06 17:34:10 -07:00
Matt Morrissette 5e741b8a5b UI: Add frontend API funcs for enabling/disable preview
Closes jp9000/obs-studio#1106
2018-01-05 14:57:53 -08:00
jp9000 03b8fd0186 UI: Call frontend callbacks in reverse order
Allows safely removing callbacks from within the callbacks themselves.
2018-01-03 17:04:03 -08:00
jp9000 5645c02c8f UI: Add preload callbacks to frontend API
Allows loading data before actually loading any scene data.
2018-01-03 17:04:03 -08:00
Ryan Foster 44b3cde9da UI: Add Frontend API function to save replay buffer 2017-10-19 07:16:00 -04:00
Palakis 2e3888abd4 UI: Add Studio Mode features in the Frontend API
With these new functions, plugin developers can enable, disable and
get the status of Studio Mode, as well as get and set the current
preview scene and transition the current preview to Program

Here is a list of the Studio Mode events:
   - Studio Mode enabled
   - Studio Mode disabled
   - Previewed scene in Studio Mode changed
2017-05-03 23:19:04 +02:00
Palakis 9f3bb4a13f UI: Add front-end API functions to get/modify service
This commit adds functions to get, set and save the service and its
settings, and is plugged straight into the existing internal functions
serving this purpose

(Jim: Fixed commit message and missing newline at end of file)

Closes jp9000/obs-studio#895
2017-04-30 02:53:44 -07:00
jp9000 f790d0fe08 UI: Separate replay buffer from recording
Replay buffer and recording should be separate in case the user wants to
start recording from a specific point rather being forced to reconfigure
for regular recording.

Creates a new button on the main window below the recording button for
turning on/off the replay buffer.
2016-12-09 14:47:03 -08:00
jp9000 971dd4945c UI: Fix bug in frontend API event
Was using main->outputHandler->StreamingActive() for the
obs_frontend_recording_active function.
2016-10-17 02:45:28 -07:00
jp9000 8836592d92 UI: Add front-end API library
Allows manipulating and modifying the front-end via plugins.
2016-09-06 22:01:48 -07:00