aboutsummaryrefslogtreecommitdiff
path: root/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights
diff options
context:
space:
mode:
authorGrigoriy <[email protected]>2018-03-12 00:30:49 +0300
committerGrigoriy <[email protected]>2018-03-12 00:30:49 +0300
commit2415f5df72265afb368d5189b91cbe6242da4e5f (patch)
treefa8a83d9e74b9d1c276e2f34f5a71fe7d6e91680 /ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights
parentDelete .gitignore (diff)
downloadgfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.tar.xz
gfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.zip
First commit
Diffstat (limited to 'ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights')
-rw-r--r--ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/highlights_types.h132
-rw-r--r--ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/ihighlights.h157
2 files changed, 289 insertions, 0 deletions
diff --git a/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/highlights_types.h b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/highlights_types.h
new file mode 100644
index 0000000..3ae751c
--- /dev/null
+++ b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/highlights_types.h
@@ -0,0 +1,132 @@
+/* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*/
+
+/*!
+* \file
+* Highlights types
+*/
+
+#ifndef HIGHLIGHTS_TYPES_H
+#define HIGHLIGHTS_TYPES_H
+
+#include <gfesdk/sdk_types.h>
+#include <stdint.h>
+#include <stdbool.h>
+
+/*! Possible significance values */
+typedef enum
+{
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_BAD = 0x00000001,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_BAD = 0x00000002,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_BAD = 0x00000004,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL = 0x00000010,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_GOOD = 0x00000100,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD = 0x00000200,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_GOOD = 0x00000400,
+ NVGSDK_HIGHLIGHT_SIGNIFICANCE_MAX = 0x00000800
+} NVGSDK_HighlightSignificance;
+
+/*! Possible highlights that can occur during gameplay */
+typedef struct
+{
+ char const* id; //!< Unique id for game event. Max length @ref NVGSDK_MAX_LENGTH - 1
+ bool userInterest; /*!< Boolean, whether the player is interested in this event.
+ * User can change this setting. This value provides the default. */
+ NVGSDK_HighlightType highlightTags; //!< Tags for this highlight
+ NVGSDK_HighlightSignificance significance; //!< How significant the highlight is
+ NVGSDK_LocalizedPair* nameTable; /*!< An array of locale-highlightName pairs for the user-facing highlight name.
+ * If no names are given, the highlight id will be used as the "name" */
+ size_t nameTableSize; //!< Number of entries in the localeNameTable */
+} NVGSDK_Highlight;
+
+/*! Highlight configuration parameters */
+typedef struct
+{
+ NVGSDK_Highlight* highlightDefinitionTable;
+ size_t highlightTableSize;
+ char const* defaultLocale; //!< Default locality, used for hinting GFE which translation to use. Defaults to en-us
+} NVGSDK_HighlightConfigParams;
+
+/*! Informs the app of the user's highlight choices */
+typedef struct
+{
+ char const* id; //!< Unique id for game event.
+ bool enabled; //!< Boolean for whether the user wants to record this type of highlight
+} NVGSDK_HighlightUserSetting;
+
+/*! Parameters passed into OpenGroup calls */
+typedef struct
+{
+ char const* groupId; /*!< Unique group ID used to refer back to the group for adding Highlights,
+ * or for opening the group Summary later. Max length @ref NVGSDK_MAX_LENGTH - 1 */
+ NVGSDK_LocalizedPair* groupDescriptionTable; /*!< An array of locale-groupDesc pairs for the user-facing group description.
+ * If no names are given, the groupId will be used as the "name" */
+ size_t groupDescriptionTableSize; //!< Number of entries in the groupDescriptionTable */
+} NVGSDK_HighlightOpenGroupParams;
+
+/*! Parameters passed into CloseGroup calls */
+typedef struct
+{
+ char const* groupId; //!< Unique group ID that was used to Open a group previously
+ bool destroyHighlights; /*!< If set to true, deletes the persisted highlights from disk.
+ * Highlights that have been moved to gallery are not removed */
+} NVGSDK_HighlightCloseGroupParams;
+
+/*! Passed into NVGSDK_Highlights_SetScreenshotHighlightAsync */
+typedef struct
+{
+ char const* groupId; //!< Required ID of the group this highlight is attached to.
+ char const* highlightId; //!< Refers to unique highlight id in highlight table
+} NVGSDK_ScreenshotHighlightParams;
+
+/*! Passed into NVGSDK_Highlights_SetVideoHighlightAsync */
+typedef struct
+{
+ char const* groupId; //!< Required ID of the group this highlight is attached to.
+ char const* highlightId; //!< Refers to unique highlight id in highlight table
+ int32_t startDelta; //!< Milliseconds between the time of request, and the start of desired video clip
+ int32_t endDelta; //!< Milliseconds between the time of request, and end of desired video clip
+} NVGSDK_VideoHighlightParams;
+
+/*! Represents a filtered highlight group */
+typedef struct
+{
+ char const* groupId; //!< Unique ID of the group to open
+ NVGSDK_HighlightType tagsFilter; //!< If not zero, represents a bitfield of tags to include
+ NVGSDK_HighlightSignificance significanceFilter; //!< If not zero, represents a bitfield of significance values to include
+} NVGSDK_GroupView;
+
+/*! Choose the highlights to display in the group summary */
+typedef struct
+{
+ NVGSDK_GroupView* groupSummaryTable; //!< Pass in all the groups to display on screen
+ size_t groupSummaryTableSize; //!< Number of groups contained in the table pointer
+} NVGSDK_SummaryParams;
+
+
+/////////////// Responses from API calls
+
+/*! Returned data from NVGSDK_Highlights_GetUserSettings */
+typedef struct
+{
+ NVGSDK_HighlightUserSetting* highlightSettingTable;
+ size_t highlightSettingTableSize;
+} NVGSDK_Highlights_UserSettings;
+/*! Type of callback to provide to NVGSDK_Highlights_GetUserSettings */
+typedef void(__stdcall* NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const*, void*);
+
+/*! Returned data from NVGSDK_Highlights_GetNumberOfHighlightsAsync */
+typedef struct
+{
+ uint16_t numberOfHighlights;
+} NVGSDK_Highlights_NumberOfHighlights;
+/*! Type of callback to provide to NVGSDK_Highlights_GetNumberOfHighlightsAsync */
+typedef void(__stdcall* NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const*, void*);
+
+#endif // HIGHLIGHTS_TYPES_H
diff --git a/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/ihighlights.h b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/ihighlights.h
new file mode 100644
index 0000000..2439945
--- /dev/null
+++ b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/ihighlights.h
@@ -0,0 +1,157 @@
+/* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*/
+
+/*!
+* \file
+* C GfeSDK Highlights API
+*/
+
+#ifndef GFESDK_IHIGHLIGHTS_H
+#define GFESDK_IHIGHLIGHTS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <gfesdk/highlights/highlights_types.h>
+
+/*!
+* Gives a list of possible Highlights to GFE. The user will be able to see this list and determine which of them
+* she cares about. Future calls to \ref NVGSDK_SetVideoHighlight and \ref NVGSDK_SetScreenshotHighlight will refer to an
+* entry in this list by name.
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param config[in] - Table of possible Highlights
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_ConfigureAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightConfigParams const* config, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* The user is able to enable/disable Highlights. This gives the game that information.
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param userSettings[out] - On NVGSDK_SUCCESS, will be populated with the user settings.
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_GetUserSettingsAsync(NVGSDK_HANDLE* handle, NVGSDK_Highlights_GetUserSettingsCallback cb, void* cbContext);
+
+/*!
+* Begins a "group" which groups several Highlights together. As an example, an online game will commonly consist
+* of a round of action, followed by a down period sitting in the lobby. The game can choose to define a Group as
+* the time between starting and finishing this round of action. At the end, all of the highlights recorded
+* during that group may be displayed to the user in a group summary.
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param params[in] - Parameter struct containing the name of the group and additional metadata
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_OpenGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightOpenGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* Closes out a group and purges the unsaved contents. See @ref NVGSDK_Highlights_OpenGroupAsync
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param groupName[in] - Parameter struct containing the name of the group and additional close instructions
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_CloseGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightCloseGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* Records a screenshot highlight for the given group. Attached metadata to it to make the Highlight more interesting.
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param params[in] - GroupID and metadata to attach to the highlight
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_SetScreenshotHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_ScreenshotHighlightParams const* params, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* Records a video highlight for the given group. Attached metadata to it to make the Highlight more interesting.
+* Set the start and end delta to change the length
+* of the video clip.
+*
+* Examples:
+* * The API call is made at T+0, with startDelta at -5000 and endDelta 5000. The start of the desired highlight will be
+* at T-5s, and the clip will be 10s long.
+* * The API call is made at T+0, with startDelta at -10000 and endDelta -5000. The start of the desired highlight will be
+* at T-10s, and the clip will be 5s long.
+* * The API call is made at T+0, with startDelta at 5000 and endDelta 10000. The start of the desired highlight will be
+* at T+5s, and the clip will be 5s long.
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param params[in] - GroupID and metadata to attach to the highlight
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*
+* \retval NVGSDK_SUCCESS - Call was successful
+* \retval NVGSDK_ERR_INVALID_PARAMETER - Invalid handle or other pointer provided
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_SetVideoHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_VideoHighlightParams const*, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* Opens up Summary Dialog for one or more groups
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param params[in] - Struct containing the group names and filter params
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_OpenSummaryAsync(NVGSDK_HANDLE* handle, NVGSDK_SummaryParams const* params, NVGSDK_EmptyCallback callback, void* context);
+
+/*!
+* Retrieves the number of highlights given the group ID and filtering params
+*
+* \param handle[in] - Valid SDK handle returned by NVGSDK_Create
+* \param groupParams[in] - Struct containing the group names and filter params
+*
+* \param callback[in] - Callback return function as described by \ref section_async
+* \param context[in] - Opaque context pointer as described by \ref section_async
+*/
+NVGSDK_EXPORT void NVGSDKApi
+NVGSDK_Highlights_GetNumberOfHighlightsAsync(NVGSDK_HANDLE* handle, NVGSDK_GroupView const* groupParams, NVGSDK_Highlights_GetNumberOfHighlightsCallback cb, void* context);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // GFESDK_IHIGHLIGHTS_H