diff --git a/interface/src/AvatarBookmarks.h b/interface/src/AvatarBookmarks.h
index 228d78333a..177e6e493e 100644
--- a/interface/src/AvatarBookmarks.h
+++ b/interface/src/AvatarBookmarks.h
@@ -16,7 +16,8 @@
#include "Bookmarks.h"
/**jsdoc
- * This API helps manage adding and deleting Avatar bookmarks
+ * This API helps manage adding and deleting avatar bookmarks.
+ * @namespace AvatarBookmarks
*/
class AvatarBookmarks: public Bookmarks, public Dependency {
@@ -27,16 +28,12 @@ public:
AvatarBookmarks();
void setupMenus(Menu* menubar, MenuWrapper* menu) override;
-/**jsdoc
- * Add the current Avatar to your Avatar Bookmarks
- * @function AvatarBookmarks.addBookMark
- */
-
-/**jsdoc
- * @function AvatarBookmarks.deleteBookMark
- */
public slots:
+ /**jsdoc
+ * Add the current Avatar to your avatar bookmarks.
+ * @function AvatarBookmarks.addBookMark
+ */
void addBookmark();
protected:
diff --git a/interface/src/Bookmarks.h b/interface/src/Bookmarks.h
index 99e5911591..7bd32ce7f1 100644
--- a/interface/src/Bookmarks.h
+++ b/interface/src/Bookmarks.h
@@ -49,7 +49,6 @@ protected:
protected slots:
/**jsdoc
- * Delete
* @function AvatarBookmarks.deleteBookmark
*/
void deleteBookmark();
diff --git a/interface/src/LODManager.h b/interface/src/LODManager.h
index fa87a6c61b..e8737d92ae 100644
--- a/interface/src/LODManager.h
+++ b/interface/src/LODManager.h
@@ -49,21 +49,18 @@ public:
* @function LODManager.setAutomaticLODAdjust
* @param {boolean} value
*/
-
Q_INVOKABLE void setAutomaticLODAdjust(bool value) { _automaticLODAdjust = value; }
/**jsdoc
* @function LODManager.getAutomaticLODAdjust
* @returns {boolean}
*/
-
Q_INVOKABLE bool getAutomaticLODAdjust() const { return _automaticLODAdjust; }
/**jsdoc
* @function LODManager.setDesktopLODDecreaseFPS
- * @param {float} value
+ * @param {number} value
*/
-
Q_INVOKABLE void setDesktopLODDecreaseFPS(float value);
/**jsdoc
@@ -77,28 +74,25 @@ public:
* @function LODManager.getDesktopLODIncreaseFPS
* @returns {number}
*/
-
Q_INVOKABLE float getDesktopLODIncreaseFPS() const;
/**jsdoc
* @function LODManager.setHMDLODDecreaseFPS
* @param {number} value
*/
-
+
Q_INVOKABLE void setHMDLODDecreaseFPS(float value);
/**jsdoc
* @function LODManager.getHMDLODDecreaseFPS
* @returns {number}
*/
-
Q_INVOKABLE float getHMDLODDecreaseFPS() const;
/**jsdoc
* @function LODManager.getHMDLODIncreaseFPS
* @returns {number}
*/
-
Q_INVOKABLE float getHMDLODIncreaseFPS() const;
// User Tweakable LOD Items
@@ -106,61 +100,54 @@ public:
* @function LODManager.getLODFeedbackText
* @returns {string}
*/
-
Q_INVOKABLE QString getLODFeedbackText();
/**jsdoc
* @function LODManager.setOctreeSizeScale
* @param {number} sizeScale
*/
-
Q_INVOKABLE void setOctreeSizeScale(float sizeScale);
/**jsdoc
* @function LODManager.getOctreeSizeScale
* @returns {number}
*/
-
Q_INVOKABLE float getOctreeSizeScale() const { return _octreeSizeScale; }
/**jsdoc
* @function LODManager.setBoundaryLevelAdjust
* @param {number} boundaryLevelAdjust
*/
-
Q_INVOKABLE void setBoundaryLevelAdjust(int boundaryLevelAdjust);
/**jsdoc
* @function LODManager.getBoundaryLevelAdjust
* @returns {number}
*/
-
Q_INVOKABLE int getBoundaryLevelAdjust() const { return _boundaryLevelAdjust; }
/**jsdoc
* @function LODManager.getLODDecreaseFPS
* @returns {number}
*/
-
Q_INVOKABLE float getLODDecreaseFPS() const;
/**jsdoc
* @function LODManager.getLODIncreaseFPS
* @returns {number}
*/
-
Q_INVOKABLE float getLODIncreaseFPS() const;
/**jsdoc
* @namespace LODManager
- * @property presentTime {number}
- * @property engineRunTime {number}
- * @property gpuTime {number}
- * @property avgRenderTime {number}
- * @property fps {number}
- * @property lodLevel {number}
- * @property lodDecreaseFPS {number}
- * @property lodIncreaseFPS {number}
+ * @property {number} presentTime Read-only.
+ * @property {number} engineRunTime Read-only.
+ * @property {number} gpuTime Read-only.
+ * @property {number} avgRenderTime Read-only.
+ * @property {number} fps Read-only.
+ * @property {number} lodLevel Read-only.
+ * @property {number} lodDecreaseFPS Read-only.
+ * @property {number} lodIncreaseFPS Read-only.
*/
Q_PROPERTY(float presentTime READ getPresentTime)
@@ -195,14 +182,12 @@ signals:
* @function LODManager.LODIncreased
* @returns {Signal}
*/
-
void LODIncreased();
/**jsdoc
* @function LODManager.LODDecreased
* @returns {Signal}
*/
-
void LODDecreased();
private:
diff --git a/interface/src/audio/AudioScope.h b/interface/src/audio/AudioScope.h
index 4fde25ecb8..ff8bfda6dd 100644
--- a/interface/src/audio/AudioScope.h
+++ b/interface/src/audio/AudioScope.h
@@ -28,12 +28,12 @@ class AudioScope : public QObject, public Dependency {
/**jsdoc
* The AudioScope API helps control the Audio Scope features in Interface
* @namespace AudioScope
- * @property {int} scopeInput
- * @property {int} scopeOutputLeft
- * @property {int} scopeOutputRight
- * @property {int} triggerInput
- * @property {int} triggerOutputLeft
- * @property {int} triggerOutputRight
+ * @property {number} scopeInput Read-only.
+ * @property {number} scopeOutputLeft Read-only.
+ * @property {number} scopeOutputRight Read-only.
+ * @property {number} triggerInput Read-only.
+ * @property {number} triggerOutputLeft Read-only.
+ * @property {number} triggerOutputRight Read-only.
*/
Q_PROPERTY(QVector scopeInput READ getScopeInput)
@@ -55,62 +55,52 @@ public slots:
/**jsdoc
* @function AudioScope.toggle
*/
-
void toggle() { setVisible(!_isEnabled); }
/**jsdoc
* @function AudioScope.setVisible
* @param {boolean} visible
*/
-
void setVisible(bool visible);
/**jsdoc
* @function AudioScope.getVisible
- * @param {boolean} visible
* @returns {boolean}
*/
-
bool getVisible() const { return _isEnabled; }
/**jsdoc
* @function AudioScope.togglePause
*/
-
void togglePause() { setPause(!_isPaused); }
/**jsdoc
* @function AudioScope.setPause
- * @param {boolean}
+ * @param {boolean} paused
*/
-
void setPause(bool paused) { _isPaused = paused; emit pauseChanged(); }
/**jsdoc
* @function AudioScope.getPause
* @returns {boolean}
*/
-
bool getPause() { return _isPaused; }
/**jsdoc
* @function AudioScope.toggleTrigger
*/
-
void toggleTrigger() { _autoTrigger = !_autoTrigger; }
/**jsdoc
* @function AudioScope.getAutoTrigger
* @returns {boolean}
*/
-
bool getAutoTrigger() { return _autoTrigger; }
/**jsdoc
* @function AudioScope.setAutoTrigger
* @param {boolean} autoTrigger
*/
-
void setAutoTrigger(bool autoTrigger) { _isTriggered = false; _autoTrigger = autoTrigger; }
/**jsdoc
@@ -118,109 +108,93 @@ public slots:
* @param {number} x
* @param {number} y
*/
-
void setTriggerValues(int x, int y) { _triggerValues.x = x; _triggerValues.y = y; }
/**jsdoc
* @function AudioScope.setTriggered
* @param {boolean} triggered
*/
-
void setTriggered(bool triggered) { _isTriggered = triggered; }
/**jsdoc
* @function AudioScope.getTriggered
* @returns {boolean}
*/
-
bool getTriggered() { return _isTriggered; }
/**jsdoc
* @function AudioScope.getFramesPerSecond
* @returns {number}
*/
-
float getFramesPerSecond();
/**jsdoc
* @function AudioScope.getFramesPerScope
* @returns {number}
*/
-
int getFramesPerScope() { return _framesPerScope; }
/**jsdoc
* @function AudioScope.selectAudioScopeFiveFrames
*/
-
void selectAudioScopeFiveFrames();
/**jsdoc
* @function AudioScope.selectAudioScopeTwentyFrames
*/
-
void selectAudioScopeTwentyFrames();
/**jsdoc
* @function AudioScope.selectAudioScopeFiftyFrames
*/
-
void selectAudioScopeFiftyFrames();
/**jsdoc
* @function AudioScope.getScopeInput
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getScopeInput() { return _scopeInputData; };
/**jsdoc
* @function AudioScope.getScopeOutputLeft
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getScopeOutputLeft() { return _scopeOutputLeftData; };
/**jsdoc
* @function AudioScope.getScopeOutputRight
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getScopeOutputRight() { return _scopeOutputRightData; };
/**jsdoc
* @function AudioScope.getTriggerInput
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getTriggerInput() { return _triggerInputData; };
/**jsdoc
* @function AudioScope.getTriggerOutputLeft
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getTriggerOutputLeft() { return _triggerOutputLeftData; };
/**jsdoc
* @function AudioScope.getTriggerOutputRight
- * @returns {number}
+ * @returns {number[]}
*/
-
QVector getTriggerOutputRight() { return _triggerOutputRightData; };
/**jsdoc
* @function AudioScope.setLocalEcho
- * @parm {boolean} serverEcho
+ * @parm {boolean} localEcho
*/
-
- void setLocalEcho(bool serverEcho);
+ void setLocalEcho(bool localEcho);
/**jsdoc
* @function AudioScope.setServerEcho
* @parm {boolean} serverEcho
*/
-
void setServerEcho(bool serverEcho);
signals:
@@ -229,14 +203,12 @@ signals:
* @function AudioScope.pauseChanged
* @returns {Signal}
*/
-
void pauseChanged();
/**jsdoc
* @function AudioScope.triggered
* @returns {Signal}
*/
-
void triggered();
protected:
diff --git a/interface/src/avatar/AvatarManager.h b/interface/src/avatar/AvatarManager.h
index 192f183f30..d2655914d2 100644
--- a/interface/src/avatar/AvatarManager.h
+++ b/interface/src/avatar/AvatarManager.h
@@ -38,75 +38,6 @@ class AvatarManager : public AvatarHashMap {
public:
- // JSDOCS Copied over from AvatarHashMap (see AvatarHashMap.h for reason)
-
- /**jsdoc
- * @function AvatarManager.getAvatarIdentifiers
- */
-
- /**jsdoc
- * @function AvatarManager.getAvatarsInRange
- * @param {Vec3} position
- * @param {float} rangeMeters
- * @returns {string[]}
- */
-
- /**jsdoc
- * @function AvatarManager.getAvatar
- * @param {string} avatarID
- * @returns {ScriptAvatarData}
- */
-
- /**jsdoc
- * @function AvatarManager.avatarAddedEvent
- * @param {string} sessionUUID
- * @returns {Signal}
- */
-
- /**jsdoc
- * @function AvatarManager.avatarRemovedEvent
- * @param {string} sessionUUID
- * @returns {Signal}
- */
-
- /**jsdoc
- * @function AvatarManager.avatarSessionChangedEvent
- * @param {string} sessionUUID
- * @param {string} oldUUID
- * @returns {Signal}
- */
-
- /**jsdoc
- * @function AvatarManager.isAvatarInRange
- * @param {string} position
- * @param {string} range
- * @returns {boolean}
- */
-
- /**jsdoc
- * @function AvatarManager.sessionUUIDChanged
- * @param {string} sessionUUID
- * @param {string} oldUUID
- */
-
- /**jsdoc
- * @function AvatarManager.processAvatarDataPacket
- * @param {} message
- * @param {} sendingNode
- */
-
- /**jsdoc
- * @function AvatarManager.processAvatarIdentityPacket
- * @param {} message
- * @param {} sendingNode
- */
-
- /**jsdoc
- * @function AvatarManager.processKillAvatar
- * @param {} message
- * @param {} sendingNode
- */
-
/// Registers the script types associated with the avatar manager.
static void registerMetaTypes(QScriptEngine* engine);
@@ -119,10 +50,9 @@ public:
/**jsdoc
* @function AvatarManager.getAvatar
- * @param {string} avatarID
- * @returns {}
+ * @param {Uuid} avatarID
+ * @returns {AvatarData}
*/
-
// Null/Default-constructed QUuids will return MyAvatar
Q_INVOKABLE virtual ScriptAvatarData* getAvatar(QUuid avatarID) override { return new ScriptAvatar(getAvatarBySessionID(avatarID)); }
@@ -148,16 +78,15 @@ public:
/**jsdoc
* @function AvatarManager.getAvatarDataRate
- * @param {string} sessionID
+ * @param {Uuid} sessionID
* @param {string} [rateName=""]
* @returns {number}
*/
-
Q_INVOKABLE float getAvatarDataRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
/**jsdoc
* @function AvatarManager.getAvatarUpdateRate
- * @param {string} sessionID
+ * @param {Uuid} sessionID
* @param {string} [rateName=""]
* @returns {number}
*/
@@ -166,51 +95,47 @@ public:
/**jsdoc
* @function AvatarManager.getAvatarSimulationRate
- * @param {string} sessionID
+ * @param {Uuid} sessionID
* @param {string} [rateName=""]
* @returns {number}
*/
-
+
Q_INVOKABLE float getAvatarSimulationRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
/**jsdoc
* @function AvatarManager.findRayIntersection
* @param {PickRay} ray
- * @param {} avatarIdsToInclude
- * @param {} avatarIdsToDiscard
+ * @param {Uuid[]} [avatarsToInclude=[]]
+ * @param {Uuid[]} [avatarsToDiscard=[]]
* @returns {RayToAvatarIntersectionResult}
*/
-
Q_INVOKABLE RayToAvatarIntersectionResult findRayIntersection(const PickRay& ray,
const QScriptValue& avatarIdsToInclude = QScriptValue(),
const QScriptValue& avatarIdsToDiscard = QScriptValue());
/**jsdoc
* @function AvatarManager.findRayIntersectionVector
* @param {PickRay} ray
- * @param {} avatarsToInclude
- * @param {} avatarIdsToDiscard
+ * @param {Uuid[]} avatarsToInclude
+ * @param {Uuid[]} avatarsToDiscard
* @returns {RayToAvatarIntersectionResult}
*/
-
Q_INVOKABLE RayToAvatarIntersectionResult findRayIntersectionVector(const PickRay& ray,
const QVector& avatarsToInclude,
const QVector& avatarsToDiscard);
- // TODO: remove this HACK once we settle on optimal default sort coefficients
/**jsdoc
* @function AvatarManager.getAvatarSortCoefficient
* @param {string} name
* @returns {number}
*/
-
+ // TODO: remove this HACK once we settle on optimal default sort coefficients
Q_INVOKABLE float getAvatarSortCoefficient(const QString& name);
/**jsdoc
* @function AvatarManager.setAvatarSortCoefficient
* @param {string} name
- * @param {string} value
+ * @param {number} value
*/
-
Q_INVOKABLE void setAvatarSortCoefficient(const QString& name, const QScriptValue& value);
float getMyAvatarSendRate() const { return _myAvatarSendRate.rate(); }
@@ -221,7 +146,6 @@ public slots:
* @function AvatarManager.updateAvatarRenderStatus
* @param {boolean} shouldRenderAvatars
*/
-
void updateAvatarRenderStatus(bool shouldRenderAvatars);
private:
diff --git a/interface/src/devices/DdeFaceTracker.h b/interface/src/devices/DdeFaceTracker.h
index 37ebf9159d..d4af0bbd37 100644
--- a/interface/src/devices/DdeFaceTracker.h
+++ b/interface/src/devices/DdeFaceTracker.h
@@ -67,13 +67,11 @@ public slots:
* @function FaceTracker.setEnabled
* @param {boolean} enabled
*/
-
void setEnabled(bool enabled) override;
/**jsdoc
* @function FaceTracker.calibrate
*/
-
void calibrate();
private slots:
diff --git a/interface/src/scripting/AccountServicesScriptingInterface.h b/interface/src/scripting/AccountServicesScriptingInterface.h
index 65c083b8e4..d38a84d8fa 100644
--- a/interface/src/scripting/AccountServicesScriptingInterface.h
+++ b/interface/src/scripting/AccountServicesScriptingInterface.h
@@ -39,10 +39,10 @@ class AccountServicesScriptingInterface : public QObject {
* The AccountServices API contains helper functions related to user connectivity
*
* @namespace AccountServices
- * @property {string} username
- * @property {boolean} loggedIn
+ * @property {string} username Read-only.
+ * @property {boolean} loggedIn Read-only.
* @property {string} findableBy
- * @property {string} metaverseServerURL
+ * @property {string} metaverseServerURL Read-only.
*/
Q_PROPERTY(QString username READ getUsername NOTIFY myUsernameChanged)
@@ -63,33 +63,28 @@ public slots:
* @function AccountServices.getDownloadInfo
* @returns {DownloadInfoResult}
*/
-
DownloadInfoResult getDownloadInfo();
/**jsdoc
* @function AccountServices.updateDownloadInfo
*/
-
void updateDownloadInfo();
/**jsdoc
* @function AccountServices.isLoggedIn
* @returns {boolean}
*/
-
bool isLoggedIn();
/**jsdoc
* @function AccountServices.checkAndSignalForAccessToken
* @returns {boolean}
*/
-
bool checkAndSignalForAccessToken();
/**jsdoc
* @function AccountServices.logOut
*/
-
void logOut();
private slots:
@@ -108,47 +103,41 @@ signals:
* @function AccountServices.connected
* @returns {Signal}
*/
-
void connected();
/**jsdoc
* @function AccountServices.disconnected
- * @params {string} reason
+ * @param {string} reason
* @returns {Signal}
*/
-
void disconnected(const QString& reason);
/**jsdoc
* @function AccountServices.myUsernameChanged
- * @params {string} username
+ * @param {string} username
* @returns {Signal}
*/
-
void myUsernameChanged(const QString& username);
/**jsdoc
* @function AccountServices.downloadInfoChanged
- * @params {} info
+ * @param {} info
* @returns {Signal}
*/
-
void downloadInfoChanged(DownloadInfoResult info);
/**jsdoc
* @function AccountServices.findableByChanged
- * @params {string} discoverabilityMode
+ * @param {string} discoverabilityMode
* @returns {Signal}
*/
-
void findableByChanged(const QString& discoverabilityMode);
/**jsdoc
* @function AccountServices.loggedInChanged
- * @params {boolean} loggedIn
+ * @param {boolean} loggedIn
* @returns {Signal}
*/
-
void loggedInChanged(bool loggedIn);
private:
diff --git a/interface/src/scripting/Audio.h b/interface/src/scripting/Audio.h
index b7cd3067be..c77d1522b5 100644
--- a/interface/src/scripting/Audio.h
+++ b/interface/src/scripting/Audio.h
@@ -31,10 +31,10 @@ class Audio : public AudioScriptingInterface, protected ReadWriteLockable {
* @namespace Audio
* @property {boolean} muted
* @property {boolean} noiseReduction
- * @property {boolean} inputVolume
- * @property {boolean} inputLevel
- * @property {string} context
- * @property {} devices
+ * @property {number} inputVolume
+ * @property {number} inputLevel Read-only.
+ * @property {string} context Read-only.
+ * @property {} devices Read-only.
*/
Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
@@ -66,7 +66,6 @@ public:
* @param {} device
* @param {boolean} isHMD
*/
-
Q_INVOKABLE void setInputDevice(const QAudioDeviceInfo& device, bool isHMD);
/**jsdoc
@@ -74,40 +73,36 @@ public:
* @param {} device
* @param {boolean} isHMD
*/
-
Q_INVOKABLE void setOutputDevice(const QAudioDeviceInfo& device, bool isHMD);
/**jsdoc
* @function Audio.setReverb
* @param {boolean} enable
*/
-
Q_INVOKABLE void setReverb(bool enable);
/**jsdoc
* @function Audio.setReverbOptions
* @param {} options
*/
-
Q_INVOKABLE void setReverbOptions(const AudioEffectOptions* options);
/**jsdoc
- * @function Audio.setReverbOptions
+ * @function Audio.startRecording
* @param {string} filename
+ * @returns {boolean}
*/
-
Q_INVOKABLE bool startRecording(const QString& filename);
/**jsdoc
* @function Audio.stopRecording
*/
-
Q_INVOKABLE void stopRecording();
/**jsdoc
* @function Audio.getRecording
+ * @returns {boolean}
*/
-
Q_INVOKABLE bool getRecording();
signals:
@@ -116,39 +111,34 @@ signals:
* @function Audio.nop
* @returns {Signal}
*/
-
void nop();
/**jsdoc
- * @function Audio.nop
- * @param {bool} isMuted
+ * @function Audio.mutedChanged
+ * @param {boolean} isMuted
* @returns {Signal}
*/
-
void mutedChanged(bool isMuted);
/**jsdoc
* @function Audio.noiseReductionChanged
- * @param {bool} isEnabled
+ * @param {boolean} isEnabled
* @returns {Signal}
*/
-
void noiseReductionChanged(bool isEnabled);
/**jsdoc
* @function Audio.inputVolumeChanged
- * @param {float} volume
+ * @param {number} volume
* @returns {Signal}
*/
-
void inputVolumeChanged(float volume);
/**jsdoc
* @function Audio.inputLevelChanged
- * @param {float} level
+ * @param {number} level
* @returns {Signal}
*/
-
void inputLevelChanged(float level);
/**jsdoc
@@ -156,7 +146,6 @@ signals:
* @param {string} context
* @returns {Signal}
*/
-
void contextChanged(const QString& context);
public slots:
@@ -165,7 +154,6 @@ public slots:
* @function Audio.onContextChanged
* @returns {Signal}
*/
-
void onContextChanged();
private slots:
diff --git a/interface/src/scripting/GooglePolyScriptingInterface.h b/interface/src/scripting/GooglePolyScriptingInterface.h
index 55d2236ec1..5c37b394fa 100644
--- a/interface/src/scripting/GooglePolyScriptingInterface.h
+++ b/interface/src/scripting/GooglePolyScriptingInterface.h
@@ -32,7 +32,6 @@ public slots:
* @function GooglePoly.setAPIKey
* @param {string} key
*/
-
void setAPIKey(const QString& key);
/**jsdoc
@@ -42,7 +41,6 @@ public slots:
* @param {string} format
* @returns {string}
*/
-
QString getAssetList(const QString& keyword, const QString& category, const QString& format);
/**jsdoc
@@ -51,7 +49,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getFBX(const QString& keyword, const QString& category);
/**jsdoc
@@ -60,7 +57,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getOBJ(const QString& keyword, const QString& category);
/**jsdoc
@@ -69,7 +65,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getBlocks(const QString& keyword, const QString& category);
/**jsdoc
@@ -78,7 +73,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getGLTF(const QString& keyword, const QString& category);
/**jsdoc
@@ -87,7 +81,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getGLTF2(const QString& keyword, const QString& category);
/**jsdoc
@@ -96,7 +89,6 @@ public slots:
* @param {string} category
* @returns {string}
*/
-
QString getTilt(const QString& keyword, const QString& category);
/**jsdoc
@@ -104,7 +96,6 @@ public slots:
* @param {string} input
* @returns {string}
*/
-
QString getModelInfo(const QString& input);
private:
diff --git a/interface/src/ui/AvatarInputs.h b/interface/src/ui/AvatarInputs.h
index c34542735e..a9d1509770 100644
--- a/interface/src/ui/AvatarInputs.h
+++ b/interface/src/ui/AvatarInputs.h
@@ -26,10 +26,10 @@ class AvatarInputs : public QObject {
/**jsdoc
* API to help manage your Avatar's input
* @namespace AvatarInputs
- * @param {boolean} cameraEnabled
- * @param {boolean} cameraMuted
- * @param {boolean} isHMD
- * @param {boolean} showAudioTools
+ * @property {boolean} cameraEnabled Read-only.
+ * @property {boolean} cameraMuted Read-only.
+ * @property {boolean} isHMD Read-only.
+ * @property {boolean} showAudioTools
*/
AI_PROPERTY(bool, cameraEnabled, false)
@@ -46,8 +46,8 @@ public:
* @param {number} loudness
* @returns {number}
*/
-
Q_INVOKABLE float loudnessToAudioLevel(float loudness);
+
AvatarInputs(QObject* parent = nullptr);
void update();
bool showAudioTools() const { return _showAudioTools; }
@@ -58,7 +58,6 @@ public slots:
* @function AvatarInputs.setShowAudioTools
* @param {boolean} showAudioTools
*/
-
void setShowAudioTools(bool showAudioTools);
signals:
@@ -67,14 +66,12 @@ signals:
* @function AvatarInputs.cameraEnabledChanged
* @returns {Signal}
*/
-
void cameraEnabledChanged();
/**jsdoc
* @function AvatarInputs.cameraMutedChanged
* @returns {Signal}
*/
-
void cameraMutedChanged();
/**jsdoc
@@ -89,7 +86,6 @@ signals:
* @param {boolean} show
* @returns {Signal}
*/
-
void showAudioToolsChanged(bool show);
protected:
@@ -97,13 +93,11 @@ protected:
/**jsdoc
* @function AvatarInputs.resetSensors
*/
-
Q_INVOKABLE void resetSensors();
/**jsdoc
* @function AvatarInputs.toggleCameraMute
*/
-
Q_INVOKABLE void toggleCameraMute();
private:
diff --git a/libraries/animation/src/AnimationCache.h b/libraries/animation/src/AnimationCache.h
index d93c69e6fb..03b37aef2f 100644
--- a/libraries/animation/src/AnimationCache.h
+++ b/libraries/animation/src/AnimationCache.h
@@ -20,11 +20,6 @@
#include
#include
-/**jsdoc
- * API to manage Animation Cache resources
- * @namespace AnimationCache
- */
-
class Animation;
typedef QSharedPointer AnimationPointer;
@@ -35,79 +30,67 @@ class AnimationCache : public ResourceCache, public Dependency {
SINGLETON_DEPENDENCY
public:
- // Copied over from ResourceCache (see ResourceCache.h for reason)
+
+ // Properties are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
+ * API to manage animation cache resources.
* @namespace AnimationCache
- * @property numTotal {number} total number of total resources
- * @property numCached {number} total number of cached resource
- * @property sizeTotal {number} size in bytes of all resources
- * @property sizeCached {number} size in bytes of all cached resources
+ *
+ * @property {number} numTotal - Total number of total resources. Read-only.
+ * @property {number} numCached - Total number of cached resource. Read-only.
+ * @property {number} sizeTotal - Size in bytes of all resources. Read-only.
+ * @property {number} sizeCached - Size in bytes of all cached resources. Read-only.
*/
- /**jsdoc
- * Returns the total number of resources
- * @function AnimationCache.getNumTotalResources
- * @returns {number}
- */
+ // Functions are copied over from ResourceCache (see ResourceCache.h for reason).
- /**jsdoc
- * Returns the total size in bytes of all resources
- * @function AnimationCache.getSizeTotalResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns the total number of cached resources
- * @function AnimationCache.getNumCachedResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns the total size in bytes of cached resources
- * @function AnimationCache.getSizeCachedResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns list of all resource urls
+ /**jsdoc
+ * Get the list of all resource URLs.
* @function AnimationCache.getResourceList
- * @returns {string[]}
+ * @return {string[]}
*/
- /**jsdoc
- * Asynchronously loads a resource from the spedified URL and returns it.
- * @param url {string} url of resource to load
- * @param fallback {string} fallback URL if load of the desired url fails
- * @function AnimationCache.getResource
- * @returns {Resource}
- */
-
- /**jsdoc
- * Prefetches a resource.
- * @param url {string} url of resource to load
- * @function AnimationCache.prefetch
- * @returns {Resource}
- */
-
- /**jsdoc
- * @param {number} deltaSize
- * @function AnimationCache.updateTotalSize
- * @returns {Resource}
- */
-
- /**jsdoc
+ /**jsdoc
* @function AnimationCache.dirty
- * @returns {Signal}
+ * @returns {Signal}
*/
+ /**jsdoc
+ * @function AnimationCache.updateTotalSize
+ * @param {number} deltaSize
+ */
+
+ /**jsdoc
+ * @function AnimationCache.prefetch
+ * @param {string} url
+ * @param {object} extra
+ * @returns {object}
+ */
+
+ /**jsdoc
+ * Asynchronously loads a resource from the specified URL and returns it.
+ * @function AnimationCache.getResource
+ * @param {string} url - URL of the resource to load.
+ * @param {string} [fallback=""] - Fallback URL if load of the desired URL fails.
+ * @param {} [extra=null]
+ * @return {Resource}
+ */
+
+ /**jsdoc
+ * Prefetches a resource.
+ * @function AnimationCache.prefetch
+ * @param {string} url - URL of the resource to prefetch.
+ * @return {Resource}
+ */
+
+
/**jsdoc
- * Returns animation resource for particular animation
+ * Returns animation resource for particular animation.
* @function AnimationCache.getAnimation
- * @param url {string} url to load
+ * @param {string} url - URL to load.
* @returns {Resource} animation
*/
-
Q_INVOKABLE AnimationPointer getAnimation(const QString& url) { return getAnimation(QUrl(url)); }
Q_INVOKABLE AnimationPointer getAnimation(const QUrl& url);
diff --git a/libraries/audio-client/src/AudioIOStats.h b/libraries/audio-client/src/AudioIOStats.h
index dd97f1fe9e..89db4942ec 100644
--- a/libraries/audio-client/src/AudioIOStats.h
+++ b/libraries/audio-client/src/AudioIOStats.h
@@ -40,65 +40,135 @@ class AudioStreamStatsInterface : public QObject {
Q_OBJECT
/**jsdoc
- * Audio stats from the Audio Mixer
- * @namespace AudioStats.mixerStream
- * @param {number} lossRate
- * @param {number} lossCount
- * @param {number} lossRateWindow
- * @param {number} lossCountWindow
- * @param {number} framesDesired
- * @param {number} framesAvailable
- * @param {number} framesAvailableAvg
- * @param {number} unplayedMsMax
- * @param {number} starveCount
- * @param {number} lastStarveDurationCount
- * @param {number} dropCount
- * @param {number} overflowCount
- * @param {number} timegapMsMax
- * @param {number} timegapMsAvg
- * @param {number} timegapMsMaxWindow
- * @param {number} timegapMsAvgWindow
+ * @class AudioStats.AudioStreamStats
+ * @property {number} lossRate Read-only.
+ * @property {number} lossCount Read-only.
+ * @property {number} lossRateWindow Read-only.
+ * @property {number} lossCountWindow Read-only.
+ * @property {number} framesDesired Read-only.
+ * @property {number} framesAvailable Read-only.
+ * @property {number} framesAvailableAvg Read-only.
+ * @property {number} unplayedMsMax Read-only.
+ * @property {number} starveCount Read-only.
+ * @property {number} lastStarveDurationCount Read-only.
+ * @property {number} dropCount Read-only.
+ * @property {number} overflowCount Read-only.
+ * @property {number} timegapMsMax Read-only.
+ * @property {number} timegapMsAvg Read-only.
+ * @property {number} timegapMsMaxWindow Read-only.
+ * @property {number} timegapMsAvgWindow Read-only.
*/
/**jsdoc
- * Audio stats from the Client Mixer
- * @namespace AudioStats.clientMixer
+ * @function AudioStats.AudioStreamStats.lossRateChanged
* @param {number} lossRate
- * @param {number} lossCount
- * @param {number} lossRateWindow
- * @param {number} lossCountWindow
- * @param {number} framesDesired
- * @param {number} framesAvailable
- * @param {number} framesAvailableAvg
- * @param {number} unplayedMsMax
- * @param {number} starveCount
- * @param {number} lastStarveDurationCount
- * @param {number} dropCount
- * @param {number} overflowCount
- * @param {number} timegapMsMax
- * @param {number} timegapMsAvg
- * @param {number} timegapMsMaxWindow
- * @param {number} timegapMsAvgWindow
+ * @returns {Signal}
*/
-
AUDIO_PROPERTY(float, lossRate)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.lossCountChanged
+ * @param {number} lossCount
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, lossCount)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.lossRateWindowChanged
+ * @param {number} lossRateWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, lossRateWindow)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.lossCountWindowChanged
+ * @param {number} lossCountWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, lossCountWindow)
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.framesDesiredChanged
+ * @param {number} framesDesired
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, framesDesired)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.framesAvailableChanged
+ * @param {number} framesAvailable
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, framesAvailable)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.framesAvailableAvgChanged
+ * @param {number} framesAvailableAvg
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, framesAvailableAvg)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.unplayedMsMaxChanged
+ * @param {number} unplayedMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, unplayedMsMax)
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.starveCountChanged
+ * @param {number} starveCount
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, starveCount)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.lastStarveDurationCountChanged
+ * @param {number} lastStarveDurationCount
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, lastStarveDurationCount)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.dropCountChanged
+ * @param {number} dropCount
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, dropCount)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.overflowCountChanged
+ * @param {number} overflowCount
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(int, overflowCount)
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.timegapMsMaxChanged
+ * @param {number} timegapMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, timegapMsMax)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.timegapMsAvgChanged
+ * @param {number} timegapMsAvg
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, timegapMsAvg)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.timegapMsMaxWindowChanged
+ * @param {number} timegapMsMaxWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, timegapMsMaxWindow)
+
+ /**jsdoc
+ * @function AudioStats.AudioStreamStats.timegapMsAvgWindowChanged
+ * @param {number} timegapMsAvgWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, timegapMsAvgWindow)
public:
@@ -113,31 +183,82 @@ class AudioStatsInterface : public QObject {
Q_OBJECT
/**jsdoc
- * Audio stats from the client
+ * Audio stats from the client.
* @namespace AudioStats
- * @param {number} pingMs
- * @param {number} inputReadMsMax
- * @param {number} inputUnplayedMsMax
- * @param {number} outputUnplayedMsMax
- * @param {number} sentTimegapMsMax
- * @param {number} sentTimegapMsAvg
- * @param {number} sentTimegapMsMaxWindow
- * @param {number} sentTimegapMsAvgWindow
+ * @property {number} pingMs Read-only.
+ * @property {number} inputReadMsMax Read-only.
+ * @property {number} inputUnplayedMsMax Read-only.
+ * @property {number} outputUnplayedMsMax Read-only.
+ * @property {number} sentTimegapMsMax Read-only.
+ * @property {number} sentTimegapMsAvg Read-only.
+ * @property {number} sentTimegapMsMaxWindow Read-only.
+ * @property {number} sentTimegapMsAvgWindow Read-only.
+ * @property {AudioStats.AudioStreamStats} clientStream Read-only.
+ * @property {AudioStats.AudioStreamStats} mixerStream Read-only.
*/
+ /**jsdoc
+ * @function AudioStats.pingMsChanged
+ * @param {number} pingMs
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, pingMs);
+
+ /**jsdoc
+ * @function AudioStats.inputReadMsMaxChanged
+ * @param {number} inputReadMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, inputReadMsMax);
+
+ /**jsdoc
+ * @function AudioStats.inputUnplayedMsMaxChanged
+ * @param {number} inputUnplayedMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, inputUnplayedMsMax);
+
+ /**jsdoc
+ * @function AudioStats.outputUnplayedMsMaxChanged
+ * @param {number} outputUnplayedMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(float, outputUnplayedMsMax);
+
+ /**jsdoc
+ * @function AudioStats.sentTimegapMsMaxChanged
+ * @param {number} sentTimegapMsMax
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, sentTimegapMsMax);
+
+ /**jsdoc
+ * @function AudioStats.sentTimegapMsAvgChanged
+ * @param {number} sentTimegapMsAvg
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, sentTimegapMsAvg);
+
+ /**jsdoc
+ * @function AudioStats.sentTimegapMsMaxWindowChanged
+ * @param {number} sentTimegapMsMaxWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, sentTimegapMsMaxWindow);
+
+ /**jsdoc
+ * @function AudioStats.sentTimegapMsAvgWindowChanged
+ * @param {number} sentTimegapMsAvgWindow
+ * @returns {Signal}
+ */
AUDIO_PROPERTY(quint64, sentTimegapMsAvgWindow);
Q_PROPERTY(AudioStreamStatsInterface* mixerStream READ getMixerStream NOTIFY mixerStreamChanged);
Q_PROPERTY(AudioStreamStatsInterface* clientStream READ getClientStream NOTIFY clientStreamChanged);
+
+ // FIXME: The injectorStreams property isn't available in JavaScript but the notification signal is.
Q_PROPERTY(QObject* injectorStreams READ getInjectorStreams NOTIFY injectorStreamsChanged);
public:
@@ -159,21 +280,18 @@ signals:
* @function AudioStats.mixerStreamChanged
* @returns {Signal}
*/
-
void mixerStreamChanged();
/**jsdoc
* @function AudioStats.clientStreamChanged
* @returns {Signal}
*/
-
void clientStreamChanged();
/**jsdoc
* @function AudioStats.injectorStreamsChanged
* @returns {Signal}
*/
-
void injectorStreamsChanged();
private:
diff --git a/libraries/audio/src/SoundCache.h b/libraries/audio/src/SoundCache.h
index bdb9e106d0..d8c52635e0 100644
--- a/libraries/audio/src/SoundCache.h
+++ b/libraries/audio/src/SoundCache.h
@@ -16,84 +16,32 @@
#include "Sound.h"
-/**jsdoc
- * API to manage Sound Cache resources
- * @namespace SoundCache
- */
-
-
/// Scriptable interface for sound loading.
class SoundCache : public ResourceCache, public Dependency {
Q_OBJECT
SINGLETON_DEPENDENCY
public:
- // Copied over from ResourceCache (see ResourceCache.h for reason)
+
+ // Properties are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
+ * API to manage sound cache resources.
* @namespace SoundCache
- * @property numTotal {number} total number of total resources
- * @property numCached {number} total number of cached resource
- * @property sizeTotal {number} size in bytes of all resources
- * @property sizeCached {number} size in bytes of all cached resources
+ *
+ * @property {number} numTotal - Total number of total resources. Read-only.
+ * @property {number} numCached - Total number of cached resource. Read-only.
+ * @property {number} sizeTotal - Size in bytes of all resources. Read-only.
+ * @property {number} sizeCached - Size in bytes of all cached resources. Read-only.
*/
- /**jsdoc
- * Returns the total number of resources
- * @function SoundCache.getNumTotalResources
- * @returns {number}
- */
+
+ // Functions are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
- * Returns the total size in bytes of all resources
- * @function SoundCache.getSizeTotalResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns the total number of cached resources
- * @function SoundCache.getNumCachedResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns the total size in bytes of cached resources
- * @function SoundCache.getSizeCachedResources
- * @returns {number}
- */
-
- /**jsdoc
- * Returns list of all resource urls
+ * Get the list of all resource URLs.
* @function SoundCache.getResourceList
- * @returns {string[]}
- */
-
- /**jsdoc
- * Returns animation resource for particular animation
- * @function SoundCache.getAnimation
- * @param url {string} url to load
- * @returns {Resource} animation
- */
-
- /**jsdoc
- * Asynchronously loads a resource from the spedified URL and returns it.
- * @param url {string} url of resource to load
- * @param fallback {string} fallback URL if load of the desired url fails
- * @function SoundCache.getResource
- * @returns {Resource}
- */
-
- /**jsdoc
- * Prefetches a resource.
- * @param url {string} url of resource to load
- * @function SoundCache.prefetch
- * @returns {Resource}
- */
-
- /**jsdoc
- * @param {number} deltaSize
- * @function SoundCache.updateTotalSize
- * @returns {Resource}
+ * @return {string[]}
*/
/**jsdoc
@@ -101,12 +49,40 @@ public:
* @returns {Signal}
*/
+ /**jsdoc
+ * @function SoundCache.updateTotalSize
+ * @param {number} deltaSize
+ */
+
+ /**jsdoc
+ * @function SoundCache.prefetch
+ * @param {string} url
+ * @param {object} extra
+ * @returns {object}
+ */
+
+ /**jsdoc
+ * Asynchronously loads a resource from the specified URL and returns it.
+ * @function SoundCache.getResource
+ * @param {string} url - URL of the resource to load.
+ * @param {string} [fallback=""] - Fallback URL if load of the desired URL fails.
+ * @param {} [extra=null]
+ * @return {Resource}
+ */
+
+ /**jsdoc
+ * Prefetches a resource.
+ * @function SoundCache.prefetch
+ * @param {string} url - URL of the resource to prefetch.
+ * @return {Resource}
+ */
+
+
/**jsdoc
* @function SoundCache.getSound
* @param {string} url
- * @returns {}
+ * @returns {object}
*/
-
Q_INVOKABLE SharedSoundPointer getSound(const QUrl& url);
protected:
virtual QSharedPointer createResource(const QUrl& url, const QSharedPointer& fallback,
diff --git a/libraries/avatars/src/AvatarHashMap.h b/libraries/avatars/src/AvatarHashMap.h
index 77e0b1e5c7..dc3f40c5d3 100644
--- a/libraries/avatars/src/AvatarHashMap.h
+++ b/libraries/avatars/src/AvatarHashMap.h
@@ -30,15 +30,6 @@
#include "AvatarData.h"
-/**jsdoc
- * The AvatarHashMap API deals with functionality related to Avatar information and connectivity
- * @namespace AvatarHashMap
- */
-
-// JSDoc 3.5.5 doesn't augment @property definitions.
-// These functions are being copied into Avatar classes which inherit the AvatarHashMap
-
-
class AvatarHashMap : public QObject, public Dependency {
Q_OBJECT
SINGLETON_DEPENDENCY
@@ -51,26 +42,20 @@ public:
// Currently, your own avatar will be included as the null avatar id.
/**jsdoc
- * @function AvatarHashMap.getAvatarIdentifiers
+ * @function AvatarManager.getAvatarIdentifiers
+ * @returns {Uuid[]}
*/
-
Q_INVOKABLE QVector getAvatarIdentifiers();
/**jsdoc
- * @function AvatarHashMap.getAvatarsInRange
+ * @function AvatarManager.getAvatarsInRange
* @param {Vec3} position
- * @param {float} rangeMeters
- * @returns {string[]}
+ * @param {number} range
+ * @returns {Uuid[]}
*/
-
Q_INVOKABLE QVector getAvatarsInRange(const glm::vec3& position, float rangeMeters) const;
- /**jsdoc
- * @function AvatarHashMap.getAvatar
- * @param {string} avatarID
- * @returns {ScriptAvatarData}
- */
-
+ // No JSDod because it's documwented in AvatarManager.
// Null/Default-constructed QUuids will return MyAvatar
Q_INVOKABLE virtual ScriptAvatarData* getAvatar(QUuid avatarID) { return new ScriptAvatarData(getAvatarBySessionID(avatarID)); }
@@ -80,73 +65,65 @@ public:
signals:
/**jsdoc
- * @function AvatarHashMap.avatarAddedEvent
- * @param {string} sessionUUID
+ * @function AvatarManager.avatarAddedEvent
+ * @param {Uuid} sessionUUID
* @returns {Signal}
*/
-
void avatarAddedEvent(const QUuid& sessionUUID);
/**jsdoc
- * @function AvatarHashMap.avatarRemovedEvent
- * @param {string} sessionUUID
+ * @function AvatarManager.avatarRemovedEvent
+ * @param {Uuid} sessionUUID
* @returns {Signal}
*/
-
void avatarRemovedEvent(const QUuid& sessionUUID);
/**jsdoc
- * @function AvatarHashMap.avatarSessionChangedEvent
- * @param {string} sessionUUID
- * @param {string} oldUUID
+ * @function AvatarManager.avatarSessionChangedEvent
+ * @param {Uuid} sessionUUID
+ * @param {Uuid} oldSessionUUID
* @returns {Signal}
*/
-
void avatarSessionChangedEvent(const QUuid& sessionUUID,const QUuid& oldUUID);
public slots:
/**jsdoc
- * @function AvatarHashMap.isAvatarInRange
+ * @function AvatarManager.isAvatarInRange
* @param {string} position
* @param {string} range
* @returns {boolean}
*/
-
bool isAvatarInRange(const glm::vec3 & position, const float range);
protected slots:
/**jsdoc
- * @function AvatarHashMap.sessionUUIDChanged
- * @param {string} sessionUUID
- * @param {string} oldUUID
+ * @function AvatarManager.sessionUUIDChanged
+ * @param {Uuid} sessionUUID
+ * @param {Uuid} oldSessionUUID
*/
-
void sessionUUIDChanged(const QUuid& sessionUUID, const QUuid& oldUUID);
/**jsdoc
- * @function AvatarHashMap.processAvatarDataPacket
+ * @function AvatarManager.processAvatarDataPacket
* @param {} message
* @param {} sendingNode
*/
-
void processAvatarDataPacket(QSharedPointer message, SharedNodePointer sendingNode);
/**jsdoc
- * @function AvatarHashMap.processAvatarIdentityPacket
+ * @function AvatarManager.processAvatarIdentityPacket
* @param {} message
* @param {} sendingNode
*/
-
void processAvatarIdentityPacket(QSharedPointer message, SharedNodePointer sendingNode);
/**jsdoc
- * @function AvatarHashMap.processKillAvatar
+ * @function AvatarManager.processKillAvatar
* @param {} message
* @param {} sendingNode
*/
-
void processKillAvatar(QSharedPointer message, SharedNodePointer sendingNode);
protected:
diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h
index c9fa50932a..d4a8b11453 100644
--- a/libraries/entities/src/EntityScriptingInterface.h
+++ b/libraries/entities/src/EntityScriptingInterface.h
@@ -393,7 +393,7 @@ public slots:
* @param {Entities.EntityType} entityName - The name of the entity to search for.
* @param {Vec3} center - The point about which to search.
* @param {number} radius - The radius within which to search.
- * @param {bool} caseSensitiveSearch - Choose whether to to return case sensitive results back.
+ * @param {boolean} caseSensitiveSearch - Choose whether to to return case sensitive results back.
* @returns {Uuid[]} An array of entity IDs of the specified type that intersect the search sphere. The array is empty if
* no entities could be found.
* @example Get back a list of entities
diff --git a/libraries/model-networking/src/model-networking/ModelCache.h b/libraries/model-networking/src/model-networking/ModelCache.h
index 369d972a7d..9532f39ce0 100644
--- a/libraries/model-networking/src/model-networking/ModelCache.h
+++ b/libraries/model-networking/src/model-networking/ModelCache.h
@@ -21,11 +21,6 @@
#include "FBXReader.h"
#include "TextureCache.h"
-/**jsdoc
-* API to manage Model Cache resources
-* @namespace ModelCache
-*/
-
// Alias instead of derive to avoid copying
class NetworkTexture;
@@ -141,72 +136,62 @@ class ModelCache : public ResourceCache, public Dependency {
Q_OBJECT
SINGLETON_DEPENDENCY
-
public:
- /**jsdoc
- * @namespace ModelCache
- * @property numTotal {number} total number of total resources
- * @property numCached {number} total number of cached resource
- * @property sizeTotal {number} size in bytes of all resources
- * @property sizeCached {number} size in bytes of all cached resources
- */
+ // Properties are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
- * Returns the total number of resources
- * @function ModelCache.getNumTotalResources
- * @returns {number}
- */
+ * API to manage model cache resources.
+ * @namespace ModelCache
+ *
+ * @property {number} numTotal - Total number of total resources. Read-only.
+ * @property {number} numCached - Total number of cached resource. Read-only.
+ * @property {number} sizeTotal - Size in bytes of all resources. Read-only.
+ * @property {number} sizeCached - Size in bytes of all cached resources. Read-only.
+ */
+
+
+ // Functions are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
- * Returns the total size in bytes of all resources
- * @function ModelCache.getSizeTotalResources
- * @returns {number}
- */
+ * Get the list of all resource URLs.
+ * @function ModelCache.getResourceList
+ * @return {string[]}
+ */
/**jsdoc
- * Returns the total number of cached resources
- * @function ModelCache.getNumCachedResources
- * @returns {number}
- */
+ * @function ModelCache.dirty
+ * @returns {Signal}
+ */
/**jsdoc
- * Returns the total size in bytes of cached resources
- * @function ModelCache.getSizeCachedResources
- * @returns {number}
- */
+ * @function ModelCache.updateTotalSize
+ * @param {number} deltaSize
+ */
/**jsdoc
- * Returns list of all resource urls
- * @function ModelCache.getResourceList
- * @returns {string[]}
- */
+ * @function ModelCache.prefetch
+ * @param {string} url
+ * @param {object} extra
+ * @returns {object}
+ */
/**jsdoc
- * Asynchronously loads a resource from the spedified URL and returns it.
- * @param url {string} url of resource to load
- * @param fallback {string} fallback URL if load of the desired url fails
- * @function ModelCache.getResource
- * @returns {Resource}
- */
+ * Asynchronously loads a resource from the specified URL and returns it.
+ * @function ModelCache.getResource
+ * @param {string} url - URL of the resource to load.
+ * @param {string} [fallback=""] - Fallback URL if load of the desired URL fails.
+ * @param {} [extra=null]
+ * @return {Resource}
+ */
/**jsdoc
- * Prefetches a resource.
- * @param url {string} url of resource to load
- * @function ModelCache.prefetch
- * @returns {Resource}
- */
+ * Prefetches a resource.
+ * @function ModelCache.prefetch
+ * @param {string} url - URL of the resource to prefetch.
+ * @return {Resource}
+ */
- /**jsdoc
- * @param {number} deltaSize
- * @function ModelCache.updateTotalSize
- * @returns {Resource}
- */
-
- /**jsdoc
- * @function ModelCache.dirty
- * @returns {Signal}
- */
GeometryResource::Pointer getGeometryResource(const QUrl& url,
const QVariantHash& mapping = QVariantHash(),
diff --git a/libraries/model-networking/src/model-networking/TextureCache.h b/libraries/model-networking/src/model-networking/TextureCache.h
index 174a25fee2..3f46dc3074 100644
--- a/libraries/model-networking/src/model-networking/TextureCache.h
+++ b/libraries/model-networking/src/model-networking/TextureCache.h
@@ -137,10 +137,6 @@ using NetworkTexturePointer = QSharedPointer;
Q_DECLARE_METATYPE(QWeakPointer)
-/**jsdoc
- * API to manage Texture Cache resources
- * @namespace TextureCache
- */
/// Stores cached textures, including render-to-texture targets.
class TextureCache : public ResourceCache, public Dependency {
@@ -148,78 +144,61 @@ class TextureCache : public ResourceCache, public Dependency {
SINGLETON_DEPENDENCY
public:
- // Copied over from ResourceCache (see ResourceCache.h for reason)
+
+ // Properties are copied over from ResourceCache (see ResourceCache.h for reason).
/**jsdoc
- * @namespace TextureCache
- * @property numTotal {number} total number of total resources
- * @property numCached {number} total number of cached resource
- * @property sizeTotal {number} size in bytes of all resources
- * @property sizeCached {number} size in bytes of all cached resources
- */
+ * API to manage texture cache resources.
+ * @namespace TextureCache
+ *
+ * @property {number} numTotal - Total number of total resources. Read-only.
+ * @property {number} numCached - Total number of cached resource. Read-only.
+ * @property {number} sizeTotal - Size in bytes of all resources. Read-only.
+ * @property {number} sizeCached - Size in bytes of all cached resources. Read-only.
+ */
- /**jsdoc
- * Returns the total number of resources
- * @function TextureCache.getNumTotalResources
- * @returns {number}
- */
- /**jsdoc
- * Returns the total size in bytes of all resources
- * @function TextureCache.getSizeTotalResources
- * @returns {number}
- */
+ // Functions are copied over from ResourceCache (see ResourceCache.h for reason).
- /**jsdoc
- * Returns the total number of cached resources
- * @function TextureCache.getNumCachedResources
- * @returns {number}
- */
+ /**jsdoc
+ * Get the list of all resource URLs.
+ * @function TextureCache.getResourceList
+ * @return {string[]}
+ */
- /**jsdoc
- * Returns the total size in bytes of cached resources
- * @function TextureCache.getSizeCachedResources
- * @returns {number}
- */
+ /**jsdoc
+ * @function TextureCache.dirty
+ * @returns {Signal}
+ */
- /**jsdoc
- * Returns list of all resource urls
- * @function TextureCache.getResourceList
- * @returns {string[]}
- */
+ /**jsdoc
+ * @function TextureCache.updateTotalSize
+ * @param {number} deltaSize
+ */
- /**jsdoc
- * Returns animation resource for particular animation
- * @function TextureCache.getAnimation
- * @param url {string} url to load
- * @returns {Resource} animation
- */
+ /**jsdoc
+ * @function TextureCache.prefetch
+ * @param {string} url
+ * @param {object} extra
+ * @returns {object}
+ */
- /**jsdoc
- * Asynchronously loads a resource from the spedified URL and returns it.
- * @param url {string} url of resource to load
- * @param fallback {string} fallback URL if load of the desired url fails
- * @function TextureCache.getResource
- * @returns {Resource}
- */
+ /**jsdoc
+ * Asynchronously loads a resource from the specified URL and returns it.
+ * @function TextureCache.getResource
+ * @param {string} url - URL of the resource to load.
+ * @param {string} [fallback=""] - Fallback URL if load of the desired URL fails.
+ * @param {} [extra=null]
+ * @return {Resource}
+ */
- /**jsdoc
- * Prefetches a resource.
- * @param url {string} url of resource to load
- * @function TextureCache.prefetch
- * @returns {Resource}
- */
+ /**jsdoc
+ * Prefetches a resource.
+ * @function TextureCache.prefetch
+ * @param {string} url - URL of the resource to prefetch.
+ * @return {Resource}
+ */
- /**jsdoc
- * @param {number} deltaSize
- * @function TextureCache.updateTotalSize
- * @returns {Resource}
- */
-
- /**jsdoc
- * @function TextureCache.dirty
- * @returns {Signal}
- */
/// Returns the ID of the permutation/normal texture used for Perlin noise shader programs. This texture
/// has two lines: the first, a set of random numbers in [0, 255] to be used as permutation offsets, and
@@ -265,6 +244,13 @@ signals:
void spectatorCameraFramebufferReset();
protected:
+
+ /**jsdoc
+ * @function TextureCache.prefect
+ * @param {string} url
+ * @param {number} type
+ * @param {number} [maxNumPixels=67108864]
+ */
// Overload ResourceCache::prefetch to allow specifying texture type for loads
Q_INVOKABLE ScriptableResource* prefetch(const QUrl& url, int type, int maxNumPixels = ABSOLUTE_MAX_TEXTURE_NUM_PIXELS);
diff --git a/libraries/networking/src/BaseAssetScriptingInterface.h b/libraries/networking/src/BaseAssetScriptingInterface.h
index 336f3f81db..497f627421 100644
--- a/libraries/networking/src/BaseAssetScriptingInterface.h
+++ b/libraries/networking/src/BaseAssetScriptingInterface.h
@@ -31,12 +31,54 @@ public:
BaseAssetScriptingInterface(QObject* parent = nullptr);
public slots:
+
+ /**jsdoc
+ * @function Assets.isValidPath
+ * @param {string} input
+ * @returns {boolean}
+ */
bool isValidPath(QString input) { return AssetUtils::isValidPath(input); }
+
+ /**jsdoc
+ * @function Assets.isValidFilePath
+ * @param {string} input
+ * @returns {boolean}
+ */
bool isValidFilePath(QString input) { return AssetUtils::isValidFilePath(input); }
+
+ /**jsdoc
+ * @function Assets.getATPUrl
+ * @param {string} input
+ * @returns {string}
+ */
QUrl getATPUrl(QString input) { return AssetUtils::getATPUrl(input); }
+
+ /**jsdoc
+ * @function Assets.extractAssetHash
+ * @param {string} input
+ * @returns {string}
+ */
QString extractAssetHash(QString input) { return AssetUtils::extractAssetHash(input); }
+
+ /**jsdoc
+ * @function Assets.isValidHash
+ * @param {string} input
+ * @returns {boolean}
+ */
bool isValidHash(QString input) { return AssetUtils::isValidHash(input); }
+
+ /**jsdoc
+ * @function Assets.hashData
+ * @param {} data
+ * @returns {object}
+ */
QByteArray hashData(const QByteArray& data) { return AssetUtils::hashData(data); }
+
+ /**jsdoc
+ * @function Assets.hashDataHex
+ * @param {} data
+ * @returns {string}
+ */
QString hashDataHex(const QByteArray& data) { return hashData(data).toHex(); }
protected:
diff --git a/libraries/networking/src/ResourceCache.h b/libraries/networking/src/ResourceCache.h
index ddea7c51cf..609483bc56 100644
--- a/libraries/networking/src/ResourceCache.h
+++ b/libraries/networking/src/ResourceCache.h
@@ -89,14 +89,13 @@ class ScriptableResource : public QObject {
/**jsdoc
* @constructor Resource
- * @property url {string} url of this resource
- * @property state {Resource.State} current loading state
+ * @property {string} url - URL of this resource.
+ * @property {Resource.State} state - Current loading state.
*/
Q_OBJECT
Q_PROPERTY(QUrl url READ getURL)
Q_PROPERTY(int state READ getState NOTIFY stateChanged)
-
public:
@@ -104,11 +103,11 @@ public:
/**jsdoc
* @name Resource.State
* @static
- * @property QUEUED {int} The resource is queued up, waiting to be loaded.
- * @property LOADING {int} The resource is downloading
- * @property LOADED {int} The resource has finished downloaded by is not complete
- * @property FINISHED {int} The resource has completly finished loading and is ready.
- * @property FAILED {int} Downloading the resource has failed.
+ * @property {number} QUEUED - The resource is queued up, waiting to be loaded.
+ * @property {number} LOADING - The resource is downloading.
+ * @property {number} LOADED - The resource has finished downloaded by is not complete.
+ * @property {number} FINISHED - The resource has completely finished loading and is ready.
+ * @property {number} FAILED - Downloading the resource has failed.
*/
enum State {
@@ -124,7 +123,7 @@ public:
virtual ~ScriptableResource() = default;
/**jsdoc
- * Release this resource
+ * Release this resource.
* @function Resource#release
*/
Q_INVOKABLE void release();
@@ -139,18 +138,18 @@ public:
signals:
/**jsdoc
- * Signaled when download progress for this resource has changed
+ * Triggered when download progress for this resource has changed.
* @function Resource#progressChanged
- * @param bytesReceived {int} bytes downloaded so far
- * @param bytesTotal {int} total number of bytes in the resource
+ * @param {number} bytesReceived - Byytes downloaded so far.
+ * @param {number} bytesTotal - Total number of bytes in the resource.
* @returns {Signal}
*/
void progressChanged(uint64_t bytesReceived, uint64_t bytesTotal);
/**jsdoc
- * Signaled when resource loading state has changed
+ * Triggered when resource loading state has changed.
* @function Resource#stateChanged
- * @param bytesReceived {Resource.State} new state
+ * @param {Resource.State} state - New state.
* @returns {Signal}
*/
void stateChanged(int state);
@@ -185,14 +184,15 @@ Q_DECLARE_METATYPE(ScriptableResource*);
/// Base class for resource caches.
class ResourceCache : public QObject {
Q_OBJECT
- // JSDoc 3.5.5 doesn't augment @property definitions.
- // These functions are being copied into the different exposed cache classes
+
+ // JSDoc 3.5.5 doesn't augment namespaces with @property or @function definitions.
+ // The ResourceCache properties and functions are copied to the different exposed cache classes.
+
/**jsdoc
- * @namespace ResourceCache
- * @property numTotal {number} total number of total resources
- * @property numCached {number} total number of cached resource
- * @property sizeTotal {number} size in bytes of all resources
- * @property sizeCached {number} size in bytes of all cached resources
+ * @property {number} numTotal - Total number of total resources. Read-only.
+ * @property {number} numCached - Total number of cached resource. Read-only.
+ * @property {number} sizeTotal - Size in bytes of all resources. Read-only.
+ * @property {number} sizeCached - Size in bytes of all cached resources. Read-only.
*/
Q_PROPERTY(size_t numTotal READ getNumTotalResources NOTIFY dirty)
Q_PROPERTY(size_t numCached READ getNumCachedResources NOTIFY dirty)
@@ -200,36 +200,14 @@ class ResourceCache : public QObject {
Q_PROPERTY(size_t sizeCached READ getSizeCachedResources NOTIFY dirty)
public:
- /**jsdoc
- * Returns the total number of resources
- * @function ResourceCache.getNumTotalResources
- * @return {number}
- */
+
size_t getNumTotalResources() const { return _numTotalResources; }
-
- /**jsdoc
- * Returns the total size in bytes of all resources
- * @function ResourceCache.getSizeTotalResources
- * @return {number}
- */
size_t getSizeTotalResources() const { return _totalResourcesSize; }
-
- /**jsdoc
- * Returns the total number of cached resources
- * @function ResourceCache.getNumCachedResources
- * @return {number}
- */
size_t getNumCachedResources() const { return _numUnusedResources; }
-
- /**jsdoc
- * Returns the total size in bytes of cached resources
- * @function ResourceCache.getSizeCachedResources
- * @return {number}
- */
size_t getSizeCachedResources() const { return _unusedResourcesSize; }
/**jsdoc
- * Returns list of all resource urls
+ * Get the list of all resource URLs.
* @function ResourceCache.getResourceList
* @return {string[]}
*/
@@ -257,28 +235,45 @@ public:
void clearUnusedResources();
signals:
+
+ /**jsdoc
+ * @function ResourceCache.dirty
+ * @returns {Signal}
+ */
void dirty();
protected slots:
+
+ /**jsdoc
+ * @function ResourceCache.updateTotalSize
+ * @param {number} deltaSize
+ */
void updateTotalSize(const qint64& deltaSize);
+ /**jsdoc
+ * @function ResourceCache.prefetch
+ * @param {string} url
+ * @param {object} extra
+ * @returns {object}
+ */
// Prefetches a resource to be held by the QScriptEngine.
// Left as a protected member so subclasses can overload prefetch
// and delegate to it (see TextureCache::prefetch(const QUrl&, int).
ScriptableResource* prefetch(const QUrl& url, void* extra);
+ /**jsdoc
+ * Asynchronously loads a resource from the specified URL and returns it.
+ * @function ResourceCache.getResource
+ * @param {string} url - URL of the resource to load.
+ * @param {string} [fallback=""] - Fallback URL if load of the desired URL fails.
+ * @param {} [extra=null]
+ * @return {Resource}
+ */
/// Loads a resource from the specified URL and returns it.
/// If the caller is on a different thread than the ResourceCache,
/// returns an empty smart pointer and loads its asynchronously.
/// \param fallback a fallback URL to load if the desired one is unavailable
/// \param extra extra data to pass to the creator, if appropriate
- /**jsdoc
- * Asynchronously loads a resource from the spedified URL and returns it.
- * @param url {string} url of resource to load
- * @param fallback {string} fallback URL if load of the desired url fails
- * @function ResourceCache.getResource
- * @return {Resource}
- */
QSharedPointer getResource(const QUrl& url, const QUrl& fallback = QUrl(),
void* extra = NULL);
@@ -292,8 +287,8 @@ protected:
// the QScriptEngine will delete the pointer when it is garbage collected.
/**jsdoc
* Prefetches a resource.
- * @param url {string} url of resource to load
* @function ResourceCache.prefetch
+ * @param {string} url - URL of the resource to prefetch.
* @return {Resource}
*/
Q_INVOKABLE ScriptableResource* prefetch(const QUrl& url) { return prefetch(url, nullptr); }
diff --git a/libraries/script-engine/src/AssetScriptingInterface.h b/libraries/script-engine/src/AssetScriptingInterface.h
index c01550e1fc..5cb1136b74 100644
--- a/libraries/script-engine/src/AssetScriptingInterface.h
+++ b/libraries/script-engine/src/AssetScriptingInterface.h
@@ -25,7 +25,7 @@
#include
/**jsdoc
- * The Assets API allows you to communicate with the Asset Browser
+ * The Assets API allows you to communicate with the Asset Browser.
* @namespace Assets
*/
class AssetScriptingInterface : public BaseAssetScriptingInterface, QScriptable {
@@ -41,14 +41,12 @@ public:
* @param data {string} content to upload
* @param callback {Assets~uploadDataCallback} called when upload is complete
*/
-
/**jsdoc
* Called when uploadData is complete
* @callback Assets~uploadDataCallback
* @param {string} url
* @param {string} hash
*/
-
Q_INVOKABLE void uploadData(QString data, QScriptValue callback);
/**jsdoc
@@ -57,13 +55,11 @@ public:
* @param url {string} URL of asset to download, must be ATP scheme URL.
* @param callback {Assets~downloadDataCallback}
*/
-
/**jsdoc
* Called when downloadData is complete
* @callback Assets~downloadDataCallback
* @param data {string} content that was downloaded
*/
-
Q_INVOKABLE void downloadData(QString url, QScriptValue downloadComplete);
/**jsdoc
@@ -73,13 +69,11 @@ public:
* @param hash {string}
* @param callback {Assets~setMappingCallback}
*/
-
/**jsdoc
* Called when setMapping is complete
* @callback Assets~setMappingCallback
* @param {string} error
*/
-
Q_INVOKABLE void setMapping(QString path, QString hash, QScriptValue callback);
/**jsdoc
@@ -88,21 +82,12 @@ public:
* @param path {string}
* @param callback {Assets~getMappingCallback}
*/
-
/**jsdoc
* Called when getMapping is complete.
* @callback Assets~getMappingCallback
* @param assetID {string} hash value if found, else an empty string
* @param error {string} error description if the path could not be resolved; otherwise a null value.
*/
-
- /**jsdoc
- * Called when getMapping is complete.
- * @callback Assets~getMappingCallback
- * @param assetID {string} hash value if found, else an empty string
- * @param error {string} error description if the path could not be resolved; otherwise a null value.
- */
-
Q_INVOKABLE void getMapping(QString path, QScriptValue callback);
/**jsdoc
@@ -111,7 +96,10 @@ public:
* @param enabled {boolean}
* @param callback {}
*/
-
+ /**jsdoc
+ * Called when setBakingEnabled is complete.
+ * @callback Assets~setBakingEnabledCallback
+ */
Q_INVOKABLE void setBakingEnabled(QString path, bool enabled, QScriptValue callback);
#if (PR_BUILD || DEV_BUILD)
@@ -122,13 +110,14 @@ public:
* Request Asset data from the ATP Server
* @function Assets.getAsset
* @param {URL|Assets.GetOptions} options An atp: style URL, hash, or relative mapped path; or an {@link Assets.GetOptions} object with request parameters
- * @param {Assets~getAssetCallback} scope[callback] A scope callback function to receive (error, results) values
+ * @param {Assets~getAssetCallback} scope A scope callback function to receive (error, results) values
+ * @param {function} [callback=undefined]
*/
/**jsdoc
* A set of properties that can be passed to {@link Assets.getAsset}.
* @typedef {Object} Assets.GetOptions
- * @property {URL} [url] an "atp:" style URL, hash, or relative mapped path to fetch
+ * @property {string} [url] an "atp:" style URL, hash, or relative mapped path to fetch
* @property {string} [responseType=text] the desired reponse type (text | arraybuffer | json)
* @property {boolean} [decompress=false] whether to attempt gunzip decompression on the fetched data
* See: {@link Assets.putAsset} and its .compress=true option
@@ -144,7 +133,7 @@ public:
/**jsdoc
* Result value returned by {@link Assets.getAsset}.
* @typedef {Object} Assets~getAssetResult
- * @property {url} [url] the resolved "atp:" style URL for the fetched asset
+ * @property {string} [url] the resolved "atp:" style URL for the fetched asset
* @property {string} [hash] the resolved hash for the fetched asset
* @property {string|ArrayBuffer|Object} [response] response data (possibly converted per .responseType value)
* @property {string} [responseType] response type (text | arraybuffer | json)
@@ -160,6 +149,7 @@ public:
* @function Assets.putAsset
* @param {Assets.PutOptions} options A PutOptions object with upload parameters
* @param {Assets~putAssetCallback} scope[callback] A scoped callback function invoked with (error, results)
+ * @param {function} [callback=undefined]
*/
/**jsdoc
@@ -180,7 +170,7 @@ public:
/**jsdoc
* Result value returned by {@link Assets.putAsset}.
* @typedef {Object} Assets~putAssetResult
- * @property {url} [url] the resolved "atp:" style URL for the uploaded asset (based on .path if specified, otherwise on the resulting ATP hash)
+ * @property {string} [url] the resolved "atp:" style URL for the uploaded asset (based on .path if specified, otherwise on the resulting ATP hash)
* @property {string} [path] the uploaded asset's resulting ATP path (or undefined if no path mapping was assigned)
* @property {string} [hash] the uploaded asset's resulting ATP hash
* @property {boolean} [compressed] flag indicating whether the data was compressed before upload
@@ -243,7 +233,7 @@ public:
/**jsdoc
* @function Assets.getCacheStatus
* @property {} scope
- * @property {} [callback = ""]
+ * @property {} [callback=undefined]
*/
Q_INVOKABLE void getCacheStatus(QScriptValue scope, QScriptValue callback = QScriptValue()) {
@@ -254,7 +244,7 @@ public:
* @function Assets.queryCacheMeta
* @property {} options
* @property {} scope
- * @property {} [callback = ""]
+ * @property {} [callback=undefined]
*/
Q_INVOKABLE void queryCacheMeta(QScriptValue options, QScriptValue scope, QScriptValue callback = QScriptValue());
@@ -263,7 +253,7 @@ public:
* @function Assets.loadFromCache
* @property {} options
* @property {} scope
- * @property {} [callback = ""]
+ * @property {} [callback=undefined]
*/
Q_INVOKABLE void loadFromCache(QScriptValue options, QScriptValue scope, QScriptValue callback = QScriptValue());
@@ -272,7 +262,7 @@ public:
* @function Assets.saveToCache
* @property {} options
* @property {} scope
- * @property {} [callback = ""]
+ * @property {} [callback=undefined]
*/
Q_INVOKABLE void saveToCache(QScriptValue options, QScriptValue scope, QScriptValue callback = QScriptValue());
@@ -283,7 +273,7 @@ public:
* @property {} data
* @property {} metadata
* @property {} scope
- * @property {} [callback = ""]
+ * @property {} [callback=undefined]
*/
Q_INVOKABLE void saveToCache(const QUrl& url, const QByteArray& data, const QVariantMap& metadata,
diff --git a/libraries/script-engine/src/AudioScriptingInterface.h b/libraries/script-engine/src/AudioScriptingInterface.h
index be2b4ebc8c..36fe29243d 100644
--- a/libraries/script-engine/src/AudioScriptingInterface.h
+++ b/libraries/script-engine/src/AudioScriptingInterface.h
@@ -31,21 +31,88 @@ protected:
AudioScriptingInterface() {}
// these methods are protected to stop C++ callers from calling, but invokable from script
+
+ /**jsdoc
+ * @function Audio.playSound
+ * @param {} sound
+ * @param {} [injectorOptions=null]
+ * @returns {object}
+ */
Q_INVOKABLE ScriptAudioInjector* playSound(SharedSoundPointer sound, const AudioInjectorOptions& injectorOptions = AudioInjectorOptions());
+
+ /**jsdoc
+ * @function Audio.playSystemSound
+ * @param {} sound
+ * @param {} position
+ * @returns {object}
+ */
// FIXME: there is no way to play a positionless sound
Q_INVOKABLE ScriptAudioInjector* playSystemSound(SharedSoundPointer sound, const QVector3D& position);
+ /**jsdoc
+ * @function Audio.setStereoInput
+ * @param {boolean} stereo
+ * @returns {boolean}
+ */
Q_INVOKABLE bool setStereoInput(bool stereo);
+
+ /**jsdoc
+ * @function Audio.isStereoInput
+ * @returns {boolean}
+ */
Q_INVOKABLE bool isStereoInput();
signals:
- void mutedByMixer(); /// the client has been muted by the mixer
- void environmentMuted(); /// the entire environment has been muted by the mixer
- void receivedFirstPacket(); /// the client has received its first packet from the audio mixer
- void disconnected(); /// the client has been disconnected from the audio mixer
- void noiseGateOpened(); /// the noise gate has opened
- void noiseGateClosed(); /// the noise gate has closed
- void inputReceived(const QByteArray& inputSamples); /// a frame of mic input audio has been received and processed
+
+ /**jsdoc
+ * The client has been muted by the mixer.
+ * @function Audio.mutedByMixer
+ * @returns {Signal}
+ */
+ void mutedByMixer();
+
+ /**jsdoc
+ * The entire environment has been muted by the mixer.
+ * @function Audio.environmentMuted
+ * @returns {Signal}
+ */
+ void environmentMuted();
+
+ /**jsdoc
+ * The client has received its first packet from the audio mixer.
+ * @function Audio.receivedFirstPacket
+ * @returns {Signal}
+ */
+ void receivedFirstPacket();
+
+ /**jsdoc
+ * The client has been disconnected from the audio mixer.
+ * @function Audio.disconnected
+ * @returns {Signal}
+ */
+ void disconnected();
+
+ /**jsdoc
+ * The noise gate has opened.
+ * @function Audio.noiseGateOpened
+ * @returns {Signal}
+ */
+ void noiseGateOpened();
+
+ /**jsdoc
+ * The noise gate has closed.
+ * @function Audio.noiseGateClosed
+ * @returns {Signal}
+ */
+ void noiseGateClosed();
+
+ /**jsdoc
+ * A frame of mic input audio has been received and processed.
+ * @function Audio.inputReceived
+ * @param {} inputSamples
+ * @returns {Signal}
+ */
+ void inputReceived(const QByteArray& inputSamples);
private:
AbstractAudioInterface* _localAudioInterface { nullptr };
diff --git a/libraries/trackers/src/trackers/FaceTracker.h b/libraries/trackers/src/trackers/FaceTracker.h
index 4224bb6633..47fbf72616 100644
--- a/libraries/trackers/src/trackers/FaceTracker.h
+++ b/libraries/trackers/src/trackers/FaceTracker.h
@@ -64,29 +64,22 @@ signals:
* @function FaceTracker.muteToggled
* @returns {Signal}
*/
-
void muteToggled();
public slots:
- /**jsdoc
- * @function FaceTracker.setEnabled
- * @param {boolean} enabled
- */
-
+ // No JSDoc here because it's overridden in DdeFaceTracker.
virtual void setEnabled(bool enabled) = 0;
/**jsdoc
* @function FaceTracker.toggleMute
*/
-
void toggleMute();
/**jsdoc
* @function FaceTracker.getMuted
* @returns {boolean}
*/
-
bool getMuted() { return _isMuted; }
protected:
diff --git a/tools/jsdoc/plugins/hifi.js b/tools/jsdoc/plugins/hifi.js
index 07644850ee..5206edb0e2 100644
--- a/tools/jsdoc/plugins/hifi.js
+++ b/tools/jsdoc/plugins/hifi.js
@@ -47,6 +47,7 @@ exports.handlers = {
'../../libraries/script-engine/src',
'../../libraries/shared/src',
'../../libraries/shared/src/shared',
+ '../../libraries/trackers/src/trackers',
'../../libraries/ui/src/ui',
'../../plugins/oculus/src',
'../../plugins/openvr/src',