mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
obs-frontend-api: Add functions to get last saved files
Adds functions to the frontend api to get the last recording, screenshot and replay buffer saved.
This commit is contained in:
parent
3d985f7c60
commit
8dda8d3500
@ -647,6 +647,21 @@ struct OBSStudioAPI : obs_frontend_callbacks {
|
||||
return App()->IsThemeDark();
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_recording(void) override
|
||||
{
|
||||
return main->outputHandler->lastRecordingPath.c_str();
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_screenshot(void) override
|
||||
{
|
||||
return main->lastScreenshot.c_str();
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_replay(void) override
|
||||
{
|
||||
return main->lastReplay.c_str();
|
||||
}
|
||||
|
||||
void on_load(obs_data_t *settings) override
|
||||
{
|
||||
for (size_t i = saveCallbacks.size(); i > 0; i--) {
|
||||
|
@ -576,3 +576,21 @@ bool obs_frontend_is_theme_dark(void)
|
||||
{
|
||||
return !!callbacks_valid() ? c->obs_frontend_is_theme_dark() : false;
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_recording(void)
|
||||
{
|
||||
return !!callbacks_valid() ? c->obs_frontend_get_last_recording()
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_screenshot(void)
|
||||
{
|
||||
return !!callbacks_valid() ? c->obs_frontend_get_last_screenshot()
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
const char *obs_frontend_get_last_replay(void)
|
||||
{
|
||||
return !!callbacks_valid() ? c->obs_frontend_get_last_replay()
|
||||
: nullptr;
|
||||
}
|
||||
|
@ -232,6 +232,10 @@ EXPORT const char *obs_frontend_get_locale_string(const char *string);
|
||||
|
||||
EXPORT bool obs_frontend_is_theme_dark(void);
|
||||
|
||||
EXPORT const char *obs_frontend_get_last_recording(void);
|
||||
EXPORT const char *obs_frontend_get_last_screenshot(void);
|
||||
EXPORT const char *obs_frontend_get_last_replay(void);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -147,6 +147,10 @@ struct obs_frontend_callbacks {
|
||||
obs_frontend_get_locale_string(const char *string) = 0;
|
||||
|
||||
virtual bool obs_frontend_is_theme_dark(void) = 0;
|
||||
|
||||
virtual const char *obs_frontend_get_last_recording(void) = 0;
|
||||
virtual const char *obs_frontend_get_last_screenshot(void) = 0;
|
||||
virtual const char *obs_frontend_get_last_replay(void) = 0;
|
||||
};
|
||||
|
||||
EXPORT void
|
||||
|
@ -54,6 +54,8 @@ ScreenshotObj::~ScreenshotObj()
|
||||
QTStr("Basic.StatusBar.ScreenshotSavedTo")
|
||||
.arg(QT_UTF8(path.c_str())));
|
||||
|
||||
main->lastScreenshot = path;
|
||||
|
||||
if (main->api)
|
||||
main->api->on_event(
|
||||
OBS_FRONTEND_EVENT_SCREENSHOT_TAKEN);
|
||||
|
@ -7476,15 +7476,17 @@ void OBSBasic::ReplayBufferSaved()
|
||||
proc_handler_t *ph =
|
||||
obs_output_get_proc_handler(outputHandler->replayBuffer);
|
||||
proc_handler_call(ph, "get_last_replay", &cd);
|
||||
QString path = QT_UTF8(calldata_string(&cd, "path"));
|
||||
QString msg = QTStr("Basic.StatusBar.ReplayBufferSavedTo").arg(path);
|
||||
std::string path = calldata_string(&cd, "path");
|
||||
QString msg = QTStr("Basic.StatusBar.ReplayBufferSavedTo")
|
||||
.arg(QT_UTF8(path.c_str()));
|
||||
ShowStatusBarMessage(msg);
|
||||
lastReplay = path;
|
||||
calldata_free(&cd);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED);
|
||||
|
||||
AutoRemux(path);
|
||||
AutoRemux(QT_UTF8(path.c_str()));
|
||||
}
|
||||
|
||||
void OBSBasic::ReplayBufferStop(int code)
|
||||
|
@ -636,6 +636,9 @@ private:
|
||||
|
||||
float GetDevicePixelRatio();
|
||||
|
||||
std::string lastScreenshot;
|
||||
std::string lastReplay;
|
||||
|
||||
public slots:
|
||||
void DeferSaveBegin();
|
||||
void DeferSaveEnd();
|
||||
|
@ -798,3 +798,21 @@ Functions
|
||||
.. function:: bool obs_frontend_is_theme_dark(void)
|
||||
|
||||
:return: Checks if the current theme is dark or light.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
.. function:: const char *obs_frontend_get_last_recording(void)
|
||||
|
||||
:return: The file path of the last recording.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
.. function:: const char *obs_frontend_get_last_screenshot(void)
|
||||
|
||||
:return: The file path of the last screenshot taken.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
.. function:: const char *obs_frontend_get_last_replay(void)
|
||||
|
||||
:return: The file path of the last replay buffer saved.
|
||||
|
Loading…
Reference in New Issue
Block a user