diff options
| author | Grigoriy <[email protected]> | 2018-03-12 00:30:49 +0300 |
|---|---|---|
| committer | Grigoriy <[email protected]> | 2018-03-12 00:30:49 +0300 |
| commit | 2415f5df72265afb368d5189b91cbe6242da4e5f (patch) | |
| tree | fa8a83d9e74b9d1c276e2f34f5a71fe7d6e91680 /ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights | |
| parent | Delete .gitignore (diff) | |
| download | gfesdk-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.h | 132 | ||||
| -rw-r--r-- | ThirdParty/NVIDIAGfeSDK/Include/gfesdk/highlights/ihighlights.h | 157 |
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 |