mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 23:03:12 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into dependencies
This commit is contained in:
commit
1f7c3a0eb2
7 changed files with 87 additions and 87 deletions
|
@ -86,4 +86,3 @@ MyAvatar.bodyRoll = 0;
|
||||||
|
|
||||||
// would be nice to change to update
|
// would be nice to change to update
|
||||||
Script.update.connect(update);
|
Script.update.connect(update);
|
||||||
Script.scriptEnding.connect(scriptEnding);
|
|
||||||
|
|
|
@ -13,9 +13,13 @@
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
|
|
||||||
var progress = 100, // %
|
var rawProgress = 100, // % raw value.
|
||||||
|
displayProgress = 100, // % smoothed value to display.
|
||||||
|
DISPLAY_PROGRESS_MINOR_MAXIMUM = 8, // % displayed progress bar goes up to while 0% raw progress.
|
||||||
|
DISPLAY_PROGRESS_MINOR_INCREMENT = 0.1, // % amount to increment display value each update when 0% raw progress.
|
||||||
|
DISPLAY_PROGRESS_MAJOR_INCREMENT = 5, // % maximum amount to increment display value when >0% raw progress.
|
||||||
alpha = 0.0,
|
alpha = 0.0,
|
||||||
alphaDelta = 0.0, // > 0 if fading in; < 0 if fading out/
|
alphaDelta = 0.0, // > 0 if fading in; < 0 if fading out.
|
||||||
ALPHA_DELTA_IN = 0.15,
|
ALPHA_DELTA_IN = 0.15,
|
||||||
ALPHA_DELTA_OUT = -0.02,
|
ALPHA_DELTA_OUT = -0.02,
|
||||||
fadeTimer = null,
|
fadeTimer = null,
|
||||||
|
@ -23,18 +27,19 @@
|
||||||
fadeWaitTimer = null,
|
fadeWaitTimer = null,
|
||||||
FADE_OUT_WAIT = 1000, // Wait before starting to fade out after progress 100%.
|
FADE_OUT_WAIT = 1000, // Wait before starting to fade out after progress 100%.
|
||||||
visible = false,
|
visible = false,
|
||||||
BAR_WIDTH = 320, // Nominal dimension of SVG in pixels of visible portion (half) of the bar.
|
BAR_WIDTH = 480, // Dimension of SVG in pixels of visible portion (half) of the bar.
|
||||||
BAR_HEIGHT = 20,
|
BAR_HEIGHT = 30,
|
||||||
BAR_URL = "http://hifi-public.s3.amazonaws.com/images/progress-bar.svg",
|
BAR_URL = "http://hifi-public.s3.amazonaws.com/images/progress-bar.svg",
|
||||||
BACKGROUND_WIDTH = 360,
|
BACKGROUND_WIDTH = 540,
|
||||||
BACKGROUND_HEIGHT = 60,
|
BACKGROUND_HEIGHT = 90,
|
||||||
BACKGROUND_URL = "http://hifi-public.s3.amazonaws.com/images/progress-bar-background.svg",
|
BACKGROUND_URL = "http://ctrlaltstudio.com/hifi/progress-bar-background.svg",
|
||||||
|
//BACKGROUND_URL = "http://hifi-public.s3.amazonaws.com/images/progress-bar-background.svg",
|
||||||
isOnHMD = false,
|
isOnHMD = false,
|
||||||
windowWidth = 0,
|
windowWidth = 0,
|
||||||
windowHeight = 0,
|
windowHeight = 0,
|
||||||
background2D = {},
|
background2D = {},
|
||||||
bar2D = {},
|
bar2D = {},
|
||||||
SCALE_2D = 0.55, // Scale the SVGs for 2D display.
|
SCALE_2D = 0.35, // Scale the SVGs for 2D display.
|
||||||
background3D = {},
|
background3D = {},
|
||||||
bar3D = {},
|
bar3D = {},
|
||||||
ENABLE_VR_MODE_MENU_ITEM = "Enable VR Mode",
|
ENABLE_VR_MODE_MENU_ITEM = "Enable VR Mode",
|
||||||
|
@ -43,7 +48,7 @@
|
||||||
PROGRESS_3D_ELEVATION = -0.8, // Height of top middle of top notification relative to avatar eyes.
|
PROGRESS_3D_ELEVATION = -0.8, // Height of top middle of top notification relative to avatar eyes.
|
||||||
PROGRESS_3D_YAW = 0.0, // Degrees relative to notifications direction.
|
PROGRESS_3D_YAW = 0.0, // Degrees relative to notifications direction.
|
||||||
PROGRESS_3D_PITCH = -60.0, // Degrees from vertical.
|
PROGRESS_3D_PITCH = -60.0, // Degrees from vertical.
|
||||||
SCALE_3D = 0.0017, // Scale the bar SVG for 3D display.
|
SCALE_3D = 0.0011, // Scale the bar SVG for 3D display.
|
||||||
BACKGROUND_3D_SIZE = { x: 0.76, y: 0.08 }, // Match up with the 3D background with those of notifications.js notices.
|
BACKGROUND_3D_SIZE = { x: 0.76, y: 0.08 }, // Match up with the 3D background with those of notifications.js notices.
|
||||||
BACKGROUND_3D_COLOR = { red: 2, green: 2, blue: 2 },
|
BACKGROUND_3D_COLOR = { red: 2, green: 2, blue: 2 },
|
||||||
BACKGROUND_3D_ALPHA = 0.7;
|
BACKGROUND_3D_ALPHA = 0.7;
|
||||||
|
@ -89,56 +94,15 @@
|
||||||
function onDownloadInfoChanged(info) {
|
function onDownloadInfoChanged(info) {
|
||||||
var i;
|
var i;
|
||||||
|
|
||||||
// Calculate progress
|
// Update raw progress value
|
||||||
if (info.downloading.length + info.pending === 0) {
|
if (info.downloading.length + info.pending === 0) {
|
||||||
progress = 100;
|
rawProgress = 100;
|
||||||
} else {
|
} else {
|
||||||
progress = 0;
|
rawProgress = 0;
|
||||||
for (i = 0; i < info.downloading.length; i += 1) {
|
for (i = 0; i < info.downloading.length; i += 1) {
|
||||||
progress += info.downloading[i];
|
rawProgress += info.downloading[i];
|
||||||
}
|
}
|
||||||
progress = progress / (info.downloading.length + info.pending);
|
rawProgress = rawProgress / (info.downloading.length + info.pending);
|
||||||
}
|
|
||||||
|
|
||||||
// Update state
|
|
||||||
if (!visible) { // Not visible because no recent downloads
|
|
||||||
if (progress < 100) { // Have started downloading so fade in
|
|
||||||
visible = true;
|
|
||||||
alphaDelta = ALPHA_DELTA_IN;
|
|
||||||
fadeTimer = Script.setInterval(fade, FADE_INTERVAL);
|
|
||||||
}
|
|
||||||
} else if (alphaDelta !== 0.0) { // Fading in or out
|
|
||||||
if (alphaDelta > 0) {
|
|
||||||
if (progress === 100) { // Was donloading but now have finished so fade out
|
|
||||||
alphaDelta = ALPHA_DELTA_OUT;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (progress < 100) { // Was finished downloading but have resumed so fade in
|
|
||||||
alphaDelta = ALPHA_DELTA_IN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else { // Fully visible because downloading or recently so
|
|
||||||
if (fadeWaitTimer === null) {
|
|
||||||
if (progress === 100) { // Was downloading but have finished so fade out soon
|
|
||||||
fadeWaitTimer = Script.setTimeout(function () {
|
|
||||||
alphaDelta = ALPHA_DELTA_OUT;
|
|
||||||
fadeTimer = Script.setInterval(fade, FADE_INTERVAL);
|
|
||||||
fadeWaitTimer = null;
|
|
||||||
}, FADE_OUT_WAIT);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (progress < 100) { // Was finished and waiting to fade out but have resumed downloading so don't fade out
|
|
||||||
Script.clearInterval(fadeWaitTimer);
|
|
||||||
fadeWaitTimer = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update progress bar
|
|
||||||
if (visible) {
|
|
||||||
Overlays.editOverlay(isOnHMD ? bar3D.overlay : bar2D.overlay, {
|
|
||||||
subImage: { x: BAR_WIDTH * (1 - progress / 100), y: 0, width: BAR_WIDTH, height: BAR_HEIGHT }
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,7 +164,58 @@
|
||||||
createOverlays();
|
createOverlays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Calculate progress value to display
|
||||||
|
if (rawProgress === 0 && displayProgress <= DISPLAY_PROGRESS_MINOR_MAXIMUM) {
|
||||||
|
displayProgress = Math.min(displayProgress + DISPLAY_PROGRESS_MINOR_INCREMENT, DISPLAY_PROGRESS_MINOR_MAXIMUM);
|
||||||
|
} else if (rawProgress < displayProgress) {
|
||||||
|
displayProgress = rawProgress;
|
||||||
|
} else if (rawProgress > displayProgress) {
|
||||||
|
displayProgress = Math.min(rawProgress, displayProgress + DISPLAY_PROGRESS_MAJOR_INCREMENT);
|
||||||
|
} // else (rawProgress === displayProgress); do nothing.
|
||||||
|
|
||||||
|
// Update state
|
||||||
|
if (!visible) { // Not visible because no recent downloads
|
||||||
|
if (displayProgress < 100) { // Have started downloading so fade in
|
||||||
|
visible = true;
|
||||||
|
alphaDelta = ALPHA_DELTA_IN;
|
||||||
|
fadeTimer = Script.setInterval(fade, FADE_INTERVAL);
|
||||||
|
}
|
||||||
|
} else if (alphaDelta !== 0.0) { // Fading in or out
|
||||||
|
if (alphaDelta > 0) {
|
||||||
|
if (displayProgress === 100) { // Was downloading but now have finished so fade out
|
||||||
|
alphaDelta = ALPHA_DELTA_OUT;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (displayProgress < 100) { // Was finished downloading but have resumed so fade in
|
||||||
|
alphaDelta = ALPHA_DELTA_IN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // Fully visible because downloading or recently so
|
||||||
|
if (fadeWaitTimer === null) {
|
||||||
|
if (displayProgress === 100) { // Was downloading but have finished so fade out soon
|
||||||
|
fadeWaitTimer = Script.setTimeout(function () {
|
||||||
|
alphaDelta = ALPHA_DELTA_OUT;
|
||||||
|
fadeTimer = Script.setInterval(fade, FADE_INTERVAL);
|
||||||
|
fadeWaitTimer = null;
|
||||||
|
}, FADE_OUT_WAIT);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (displayProgress < 100) { // Was finished and waiting to fade out but have resumed so don't fade out
|
||||||
|
Script.clearInterval(fadeWaitTimer);
|
||||||
|
fadeWaitTimer = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (visible) {
|
if (visible) {
|
||||||
|
|
||||||
|
// Update progress bar
|
||||||
|
Overlays.editOverlay(isOnHMD ? bar3D.overlay : bar2D.overlay, {
|
||||||
|
visible: visible,
|
||||||
|
subImage: { x: BAR_WIDTH * (1 - displayProgress / 100), y: 0, width: BAR_WIDTH, height: BAR_HEIGHT }
|
||||||
|
});
|
||||||
|
|
||||||
|
// Update position
|
||||||
if (isOnHMD) {
|
if (isOnHMD) {
|
||||||
// Update 3D overlays to maintain positions relative to avatar
|
// Update 3D overlays to maintain positions relative to avatar
|
||||||
eyePosition = MyAvatar.getDefaultEyePosition();
|
eyePosition = MyAvatar.getDefaultEyePosition();
|
||||||
|
|
|
@ -536,22 +536,5 @@
|
||||||
height="44.57473"
|
height="44.57473"
|
||||||
x="84.498352"
|
x="84.498352"
|
||||||
y="1050.0748" />
|
y="1050.0748" />
|
||||||
<g
|
|
||||||
id="g3322"
|
|
||||||
transform="translate(-46.607143,-3.5714285)">
|
|
||||||
<use
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
width="744.09448"
|
|
||||||
height="1052.3622"
|
|
||||||
transform="translate(0.5864354,0.4607839)"
|
|
||||||
xlink:href="#rect899"
|
|
||||||
id="use1503" />
|
|
||||||
<path
|
|
||||||
d="m 75.506508,1023.3478 1.372845,5.4631 -14.094975,-1.152 2.35e-4,7.2772 14.094975,-1.152 -1.372845,5.1249 13.761293,-7.6113 -13.761293,-7.9499 z"
|
|
||||||
id="rect899"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#d3d3d3;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.77974033;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
|
@ -230,7 +230,7 @@ int AudioScope::addSilenceToScope(QByteArray* byteArray, int frameOffset, int si
|
||||||
int samplesToBufferEnd = _samplesPerScope - frameOffset;
|
int samplesToBufferEnd = _samplesPerScope - frameOffset;
|
||||||
if (silentSamples > samplesToBufferEnd) {
|
if (silentSamples > samplesToBufferEnd) {
|
||||||
memset(destination + frameOffset, 0, samplesToBufferEnd * sizeof(int16_t));
|
memset(destination + frameOffset, 0, samplesToBufferEnd * sizeof(int16_t));
|
||||||
memset(destination, 0, silentSamples - samplesToBufferEnd * sizeof(int16_t));
|
memset(destination, 0, (silentSamples - samplesToBufferEnd) * sizeof(int16_t));
|
||||||
} else {
|
} else {
|
||||||
memset(destination + frameOffset, 0, silentSamples * sizeof(int16_t));
|
memset(destination + frameOffset, 0, silentSamples * sizeof(int16_t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ public:
|
||||||
|
|
||||||
bool getZeroCrossing(uint32_t start, bool direction, float32_t epsilon, uint32_t& zero);
|
bool getZeroCrossing(uint32_t start, bool direction, float32_t epsilon, uint32_t& zero);
|
||||||
|
|
||||||
void linearFade(uint32_t start, uint32_t stop, bool slope);
|
void linearFade(uint32_t start, uint32_t stop, bool increasing);
|
||||||
void exponentialFade(uint32_t start, uint32_t stop, bool slope);
|
void exponentialFade(uint32_t start, uint32_t stop, bool increasing);
|
||||||
};
|
};
|
||||||
|
|
||||||
template< typename T >
|
template< typename T >
|
||||||
|
@ -74,7 +74,7 @@ inline bool AudioEditBuffer<T>::getZeroCrossing(uint32_t start, bool direction,
|
||||||
}
|
}
|
||||||
|
|
||||||
template< typename T >
|
template< typename T >
|
||||||
inline void AudioEditBuffer<T>::linearFade(uint32_t start, uint32_t stop, bool slope) {
|
inline void AudioEditBuffer<T>::linearFade(uint32_t start, uint32_t stop, bool increasing) {
|
||||||
|
|
||||||
if (start >= stop || start > this->_frameCount || stop > this->_frameCount ) {
|
if (start >= stop || start > this->_frameCount || stop > this->_frameCount ) {
|
||||||
return;
|
return;
|
||||||
|
@ -84,7 +84,7 @@ inline void AudioEditBuffer<T>::linearFade(uint32_t start, uint32_t stop, bool s
|
||||||
float32_t delta;
|
float32_t delta;
|
||||||
float32_t gain;
|
float32_t gain;
|
||||||
|
|
||||||
if (slope) { // 0.0 to 1.0f in delta increments
|
if (increasing) { // 0.0 to 1.0f in delta increments
|
||||||
delta = 1.0f / (float32_t)count;
|
delta = 1.0f / (float32_t)count;
|
||||||
gain = 0.0f;
|
gain = 0.0f;
|
||||||
} else { // 1.0f to 0.0f in delta increments
|
} else { // 1.0f to 0.0f in delta increments
|
||||||
|
@ -95,13 +95,13 @@ inline void AudioEditBuffer<T>::linearFade(uint32_t start, uint32_t stop, bool s
|
||||||
for (uint32_t i = start; i < stop; ++i) {
|
for (uint32_t i = start; i < stop; ++i) {
|
||||||
for (uint32_t j = 0; j < this->_channelCount; ++j) {
|
for (uint32_t j = 0; j < this->_channelCount; ++j) {
|
||||||
this->_frameBuffer[j][i] *= gain;
|
this->_frameBuffer[j][i] *= gain;
|
||||||
gain += delta;
|
|
||||||
}
|
}
|
||||||
|
gain += delta;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template< typename T >
|
template< typename T >
|
||||||
inline void AudioEditBuffer<T>::exponentialFade(uint32_t start, uint32_t stop, bool slope) {
|
inline void AudioEditBuffer<T>::exponentialFade(uint32_t start, uint32_t stop, bool increasing) {
|
||||||
// TBD
|
// TBD
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -310,20 +310,23 @@ int LimitedNodeList::updateNodeWithDataFromPacket(const SharedNodePointer& match
|
||||||
|
|
||||||
matchingNode->setLastHeardMicrostamp(usecTimestampNow());
|
matchingNode->setLastHeardMicrostamp(usecTimestampNow());
|
||||||
|
|
||||||
if (!matchingNode->getLinkedData() && linkedDataCreateCallback) {
|
NodeData* linkedData = matchingNode->getLinkedData();
|
||||||
|
if (!linkedData && linkedDataCreateCallback) {
|
||||||
linkedDataCreateCallback(matchingNode.data());
|
linkedDataCreateCallback(matchingNode.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
QMutexLocker linkedDataLocker(&matchingNode->getLinkedData()->getMutex());
|
if (linkedData) {
|
||||||
|
QMutexLocker linkedDataLocker(&linkedData->getMutex());
|
||||||
return matchingNode->getLinkedData()->parseData(packet);
|
return linkedData->parseData(packet);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int LimitedNodeList::findNodeAndUpdateWithDataFromPacket(const QByteArray& packet) {
|
int LimitedNodeList::findNodeAndUpdateWithDataFromPacket(const QByteArray& packet) {
|
||||||
SharedNodePointer matchingNode = sendingNodeForPacket(packet);
|
SharedNodePointer matchingNode = sendingNodeForPacket(packet);
|
||||||
|
|
||||||
if (matchingNode) {
|
if (matchingNode) {
|
||||||
updateNodeWithDataFromPacket(matchingNode, packet);
|
return updateNodeWithDataFromPacket(matchingNode, packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
// we weren't able to match the sender address to the address we have for this node, unlock and don't parse
|
// we weren't able to match the sender address to the address we have for this node, unlock and don't parse
|
||||||
|
|
|
@ -347,7 +347,7 @@ void NodeList::handleICEConnectionToDomainServer() {
|
||||||
qDebug() << "Sending ping packets to establish connectivity with domain-server with ID"
|
qDebug() << "Sending ping packets to establish connectivity with domain-server with ID"
|
||||||
<< uuidStringWithoutCurlyBraces(_domainHandler.getICEDomainID());
|
<< uuidStringWithoutCurlyBraces(_domainHandler.getICEDomainID());
|
||||||
|
|
||||||
// send the ping packet to the local and public sockets for this nodfe
|
// send the ping packet to the local and public sockets for this node
|
||||||
QByteArray localPingPacket = constructPingPacket(PingType::Local, false, _domainHandler.getICEClientID());
|
QByteArray localPingPacket = constructPingPacket(PingType::Local, false, _domainHandler.getICEClientID());
|
||||||
writeUnverifiedDatagram(localPingPacket, _domainHandler.getICEPeer().getLocalSocket());
|
writeUnverifiedDatagram(localPingPacket, _domainHandler.getICEPeer().getLocalSocket());
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue