diff --git a/libraries/script-engine/src/RecordingScriptingInterface.h b/libraries/script-engine/src/RecordingScriptingInterface.h
index 604ec6bc2e..19db6dc50d 100644
--- a/libraries/script-engine/src/RecordingScriptingInterface.h
+++ b/libraries/script-engine/src/RecordingScriptingInterface.h
@@ -24,6 +24,9 @@ class QScriptEngine;
class QScriptValue;
/**jsdoc
+ * The Recording
API makes and plays back recordings of voice and avatar movements. Playback may be done on a
+ * user's avatar or an assignment client agent (see the {@link Agent} API).
+ *
* @namespace Recording
*
* @hifi-interface
@@ -40,56 +43,79 @@ public:
public slots:
/**jsdoc
- * @function Recording.loadRecording
- * @param {string} url
- * @param {Recording~loadRecordingCallback} [callback=null]
+ * Called when a {@link Recording.loadRecording} call is complete.
+ * @callback Recording~loadRecordingCallback
+ * @param {boolean} success - true
if the recording has successfully been loaded, false
if it
+ * hasn't.
+ * @param {string} url - The URL of the recording that was requested to be loaded.
*/
/**jsdoc
- * Called when {@link Recording.loadRecording} is complete.
- * @callback Recording~loadRecordingCallback
- * @param {boolean} success
- * @param {string} url
+ * Loads a recording so that it is ready for playing.
+ * @function Recording.loadRecording
+ * @param {string} url - The ATP, HTTP, or file system URL of the recording to load.
+ * @param {Recording~loadRecordingCallback} [callback=null] - The function to call upon completion.
+ * @example
true
if a recording is being played, false
if one isn't.
*/
bool isPlaying() const;
/**jsdoc
+ * Gets whether recording playback is currently paused.
* @function Recording.isPaused
- * @returns {boolean}
+ * @returns {boolean} true
if recording playback is currently paused, false
if it isn't.
*/
bool isPaused() const;
/**jsdoc
+ * Gets the current playback time in the loaded recording, in seconds.
* @function Recording.playerElapsed
- * @returns {number}
+ * @returns {number} The current playback time in the loaded recording, in seconds.
*/
float playerElapsed() const;
/**jsdoc
+ * Gets the length of the loaded recording, in seconds.
* @function Recording.playerLength
- * @returns {number}
+ * @returns {number} The length of the recording currently loaded, in seconds
*/
float playerLength() const;
@@ -102,132 +128,222 @@ public slots:
void setPlayerVolume(float volume);
/**jsdoc
+ * Not implemented: This method is not implemented yet.
* @function Recording.setPlayerAudioOffset - * @param {number} audioOffset + * @param {number} audioOffset - Audio offset. */ void setPlayerAudioOffset(float audioOffset); /**jsdoc + * Sets the current playback time in the loaded recording. * @function Recording.setPlayerTime - * @param {number} time + * @param {number} time - The current playback time, in seconds. */ void setPlayerTime(float time); /**jsdoc + * Sets whether playback should repeat in a loop. * @function Recording.setPlayerLoop - * @param {boolean} loop + * @param {boolean} loop -true
if playback should repeat, false
if it shouldn't.
*/
void setPlayerLoop(bool loop);
/**jsdoc
+ * Sets whether recording playback will use the display name that the recording was made with.
* @function Recording.setPlayerUseDisplayName
- * @param {boolean} useDisplayName
+ * @param {boolean} useDisplayName - true
to have recording playback use the display name that the recording
+ * was made with, false
to have recording playback keep the current display name.
*/
void setPlayerUseDisplayName(bool useDisplayName);
/**jsdoc
+ * Not used.
* @function Recording.setPlayerUseAttachments - * @param {boolean} useAttachments + * @param {boolean} useAttachments - Use attachments. + * @deprecated This method is deprecated and will be removed. */ void setPlayerUseAttachments(bool useAttachments); /**jsdoc + *Not used.
* @function Recording.setPlayerUseHeadModel - * @param {boolean} useHeadModel - * @todo Note: This function currently has no effect. + * @param {boolean} useHeadModel - Use head model. + * @deprecated This method is deprecated and will be removed. */ void setPlayerUseHeadModel(bool useHeadModel); /**jsdoc + * Sets whether recording playback will use the avatar model that the recording was made with. * @function Recording.setPlayerUseSkeletonModel - * @param {boolean} useSkeletonModel - * @todo Note: This function currently doesn't work. + * @param {boolean} useSkeletonModel -true
to have recording playback use the avatar model that the recording
+ * was made with, false
to have playback use the current avatar model.
*/
void setPlayerUseSkeletonModel(bool useSkeletonModel);
/**jsdoc
+ * Sets whether recordings are played at the current avatar location or the recorded location.
* @function Recording.setPlayFromCurrentLocation
- * @param {boolean} playFromCurrentLocation
+ * @param {boolean} playFromCurrentLocation - true
to play recordings at the current avatar location,
+ * false
to play recordings at the recorded location.
*/
void setPlayFromCurrentLocation(bool playFromCurrentLocation);
/**jsdoc
+ * Gets whether recording playback will use the display name that the recording was made with.
* @function Recording.getPlayerUseDisplayName
- * @returns {boolean}
+ * @returns {boolean} true
if recording playback will use the display name that the recording was made with,
+ * false
if playback will keep the current display name.
*/
bool getPlayerUseDisplayName() { return _useDisplayName; }
/**jsdoc
+ * Not used.
* @function Recording.getPlayerUseAttachments - * @returns {boolean} + * @returns {boolean} Use attachments. + * @deprecated This method is deprecated and will be removed. */ bool getPlayerUseAttachments() { return _useAttachments; } /**jsdoc + *Not used.
* @function Recording.getPlayerUseHeadModel - * @returns {boolean} + * @returns {boolean} Use head model. + * @deprecated This method is deprecated and will be removed. */ bool getPlayerUseHeadModel() { return _useHeadModel; } /**jsdoc + * Gets whether recording playback will use the avatar model that the recording was made with. * @function Recording.getPlayerUseSkeletonModel - * @returns {boolean} + * @returns {boolean}true
if recording playback will use the avatar model that the recording was made with,
+ * false
if playback will use the current avatar model.
*/
bool getPlayerUseSkeletonModel() { return _useSkeletonModel; }
/**jsdoc
+ * Gets whether recordings are played at the current avatar location or the recorded location.
* @function Recording.getPlayFromCurrentLocation
- * @returns {boolean}
+ * @returns {boolean} true
if recordings are played at the current avatar location, false
if
+ * played at the recorded location.
*/
bool getPlayFromCurrentLocation() { return _playFromCurrentLocation; }
/**jsdoc
+ * Starts making a recording.
* @function Recording.startRecording
*/
void startRecording();
/**jsdoc
+ * Stops making a recording. The recording may be saved using {@link Recording.saveRecording|saveRecording} or
+ * {@link Recording.saveRecordingToAsset|saveRecordingToAsset}, or immediately played back with
+ * {@link Recording.loadLastRecording|loadLastRecording}.
* @function Recording.stopRecording
*/
void stopRecording();
/**jsdoc
+ * Gets whether a recording is currently being made.
* @function Recording.isRecording
- * @returns {boolean}
+ * @returns {boolean} true
if a recording is currently being made, false
if one isn't.
*/
bool isRecording() const;
/**jsdoc
+ * Gets the duration of the recording currently being made or recently made, in seconds.
* @function Recording.recorderElapsed
- * @returns {number}
+ * @returns {number} The duration of the recording currently being made or recently made, in seconds.
*/
float recorderElapsed() const;
/**jsdoc
+ * Gets the default directory that recordings are saved in.
* @function Recording.getDefaultRecordingSaveDirectory
- * @returns {string}
+ * @returns {string} The default recording save directory.
+ * @exampl ""
if
+ * unsuccessful. The URL has atp:
as the scheme and the SHA256 hash as the filename (with no extension).
+ */
+ /**jsdoc
+ * Saves the most recently made recording to the domain's asset server.
* @function Recording.saveRecordingToAsset
- * @param {function} getClipAtpUrl
+ * @param {Recording~saveRecordingToAssetCallback} callback - The function to call upon completion.
+ * @returns {boolean} true
if the recording is successfully being saved, false
if not.
+ * @example