From 59f3c109464b4af610c09815399feb1038e13723 Mon Sep 17 00:00:00 2001 From: netpro2k Date: Mon, 14 Jan 2019 19:35:55 -0800 Subject: [PATCH 1/8] Basic video overlay menu --- src/components/hover-menu.js | 64 ++++++++++++++++ src/components/media-loader.js | 4 +- src/components/media-views.js | 73 ++++++++----------- .../position-at-box-shape-border.js | 8 +- src/hub.html | 23 ++++-- src/hub.js | 1 + 6 files changed, 117 insertions(+), 56 deletions(-) create mode 100644 src/components/hover-menu.js diff --git a/src/components/hover-menu.js b/src/components/hover-menu.js new file mode 100644 index 0000000000..77a0b14102 --- /dev/null +++ b/src/components/hover-menu.js @@ -0,0 +1,64 @@ +AFRAME.registerComponent("hover-menu", { + multiple: true, + schema: { + template: { type: "selector" }, + dirs: { type: "array" } + }, + + async init() { + this.onHoverStateChange = this.onHoverStateChange.bind(this); + this.onFrozenStateChange = this.onFrozenStateChange.bind(this); + + this.hovering = this.el.parentNode.is("hovered"); + + await this.getHoverMenu(); + this.applyHoverState(); + }, + + getHoverMenu() { + if (this.menuPromise) return this.menuPromise; + return (this.menuPromise = new Promise(resolve => { + const menu = this.el.appendChild(document.importNode(this.data.template.content, true).children[0]); + // we have to wait a tick for the attach callbacks to get fired for the elements in a template + setTimeout(() => { + this.menu = menu; + this.el.setAttribute("position-at-box-shape-border", { + target: ".video-toolbar", + dirs: this.data.dirs, + animate: false, + scale: false + }); + resolve(this.menu); + }); + })); + }, + + onFrozenStateChange(e) { + if (!e.detail === "frozen") return; + this.applyHoverState(); + }, + + onHoverStateChange(e) { + this.hovering = e.type === "hover-start"; + this.applyHoverState(); + }, + + applyHoverState() { + if (!this.menu) return; + this.menu.object3D.visible = !this.el.sceneEl.is("frozen") && this.hovering; + }, + + play() { + this.el.addEventListener("hover-start", this.onHoverStateChange); + this.el.addEventListener("hover-end", this.onHoverStateChange); + this.el.sceneEl.addEventListener("stateadded", this.onFrozenStateChange); + this.el.sceneEl.addEventListener("stateremoved", this.onFrozenStateChange); + }, + + pause() { + this.el.removeEventListener("hover-start", this.onHoverStateChange); + this.el.removeEventListener("hover-end", this.onHoverStateChange); + this.el.sceneEl.removeEventListener("stateadded", this.onFrozenStateChange); + this.el.sceneEl.removeEventListener("stateremoved", this.onFrozenStateChange); + } +}); diff --git a/src/components/media-loader.js b/src/components/media-loader.js index d514cd22e6..ade56db318 100644 --- a/src/components/media-loader.js +++ b/src/components/media-loader.js @@ -180,8 +180,8 @@ AFRAME.registerComponent("media-loader", { "media-video", Object.assign({}, this.data.mediaOptions, { src: accessibleUrl, time: startTime, contentType }) ); - if (this.el.components["position-at-box-shape-border"]) { - this.el.setAttribute("position-at-box-shape-border", { dirs: ["forward", "back"] }); + if (this.el.components["position-at-box-shape-border__freeze"]) { + this.el.setAttribute("position-at-box-shape-border__freeze", { dirs: ["forward", "back"] }); } } else if (contentType.startsWith("image/")) { this.el.removeAttribute("gltf-model-plus"); diff --git a/src/components/media-views.js b/src/components/media-views.js index ef172e4a41..dd2532a6db 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -287,15 +287,26 @@ AFRAME.registerComponent("media-video", { this.onPauseStateChange = this.onPauseStateChange.bind(this); this.tryUpdateVideoPlaybackState = this.tryUpdateVideoPlaybackState.bind(this); - this._grabStart = this._grabStart.bind(this); - this._grabEnd = this._grabEnd.bind(this); this.seekForward = this.seekForward.bind(this); this.seekBack = this.seekBack.bind(this); + this.togglePlaying = this.togglePlaying.bind(this); this.lastUpdate = 0; - this.seekForwardButton = this.el.querySelector(".video-seek-forward-button"); - this.seekBackButton = this.el.querySelector(".video-seek-back-button"); + this.el.setAttribute("hover-menu__video", { template: "#video-hover-menu", dirs: ["forward", "back"] }); + this.el.components["hover-menu__video"].getHoverMenu().then(menu => { + this.hoverMenu = menu; + + this.playPauseButton = this.el.querySelector(".video-playpause-button"); + this.seekForwardButton = this.el.querySelector(".video-seek-forward-button"); + this.seekBackButton = this.el.querySelector(".video-seek-back-button"); + + this.playPauseButton.addEventListener("grab-start", this.togglePlaying); + this.seekForwardButton.addEventListener("grab-start", this.seekForward); + this.seekBackButton.addEventListener("grab-start", this.seekBack); + + this.updatePlaybackState(); + }); NAF.utils.getNetworkedEntity(this.el).then(networkedEl => { this.networkedEl = networkedEl; @@ -323,26 +334,6 @@ AFRAME.registerComponent("media-video", { }); }, - // aframe component play, unrelated to video - play() { - this.el.addEventListener("grab-start", this._grabStart); - this.el.addEventListener("grab-end", this._grabEnd); - this.seekForwardButton.addEventListener("grab-start", this.seekForward); - this.seekBackButton.addEventListener("grab-start", this.seekBack); - this.seekForwardButton.object3D.visible = !this.videoIsLive; - this.seekBackButton.object3D.visible = !this.videoIsLive; - }, - - // aframe component pause, unrelated to video - pause() { - this.el.removeEventListener("grab-start", this._grabStart); - this.el.removeEventListener("grab-end", this._grabEnd); - this.seekForwardButton.removeEventListener("grab-start", this.seekForward); - this.seekBackButton.removeEventListener("grab-start", this.seekBack); - this.seekForwardButton.object3D.visible = false; - this.seekBackButton.object3D.visible = false; - }, - seekForward() { if ((!this.videoIsLive && NAF.utils.isMine(this.networkedEl)) || NAF.utils.takeOwnership(this.networkedEl)) { this.video.currentTime += 30; @@ -357,25 +348,8 @@ AFRAME.registerComponent("media-video", { } }, - _grabStart() { - if (!this.el.components.grabbable || this.el.components.grabbable.data.maxGrabbers === 0) return; - - if (this.video && this.video.muted && !this.video.paused) { - this.video.muted = false; - } - - this.grabStartPosition = this.el.object3D.position.clone(); - }, - - _grabEnd() { - if (this.grabStartPosition && this.grabStartPosition.distanceToSquared(this.el.object3D.position) < 0.01 * 0.01) { - this.togglePlayingIfOwner(); - this.grabStartPosition = null; - } - }, - - togglePlayingIfOwner() { - if (this.networkedEl && NAF.utils.isMine(this.networkedEl) && this.video) { + togglePlaying() { + if (this.networkedEl && (NAF.utils.isMine(this.networkedEl) || NAF.utils.takeOwnership(this.networkedEl))) { this.tryUpdateVideoPlaybackState(!this.data.videoPaused); } }, @@ -388,6 +362,11 @@ AFRAME.registerComponent("media-video", { this.video.removeEventListener("pause", this.onPauseStateChange); this.video.removeEventListener("play", this.onPauseStateChange); } + if (this.hoverMenu) { + this.playPauseButton.removeEventListener("grab-start", this.togglePlaying); + this.seekForwardButton.removeEventListener("grab-start", this.seekForward); + this.seekBackButton.removeEventListener("grab-start", this.seekBack); + } }, onPauseStateChange() { @@ -399,6 +378,12 @@ AFRAME.registerComponent("media-video", { }, updatePlaybackState(force) { + if (this.hoverMenu) { + this.playPauseButton.object3D.visible = !!this.video; + this.seekForwardButton.object3D.visible = !!this.video && !this.videoIsLive; + this.seekBackButton.object3D.visible = !!this.video && !this.videoIsLive; + } + // Only update playback posiiton for videos you don't own if (force || (this.networkedEl && !NAF.utils.isMine(this.networkedEl) && this.video)) { if (Math.abs(this.data.time - this.video.currentTime) > this.data.syncTolerance) { @@ -426,8 +411,10 @@ AFRAME.registerComponent("media-video", { if (pause) { this.video.pause(); + this.playPauseButton.querySelector("[text]").setAttribute("text", "value", "play"); } else { // Need to deal with the fact play() may fail if user has not interacted with browser yet. + this.playPauseButton.querySelector("[text]").setAttribute("text", "value", "pause"); this.video.play().catch(() => { this._playbackStateChangeTimeout = setTimeout(() => this.tryUpdateVideoPlaybackState(pause, currentTime), 1000); }); diff --git a/src/components/position-at-box-shape-border.js b/src/components/position-at-box-shape-border.js index 20570818de..d63ff86806 100644 --- a/src/components/position-at-box-shape-border.js +++ b/src/components/position-at-box-shape-border.js @@ -40,7 +40,9 @@ AFRAME.registerComponent("position-at-box-shape-border", { multiple: true, schema: { target: { type: "string" }, - dirs: { default: ["left", "right", "forward", "back"] } + dirs: { default: ["left", "right", "forward", "back"] }, + animate: { default: true }, + scale: { default: true } }, init() { @@ -87,7 +89,7 @@ AFRAME.registerComponent("position-at-box-shape-border", { // If the target is being shown or the scale changed while the opening animation is being run, // we need to start or re-start the animation. if (opening || (scaleChanged && isAnimating)) { - this._updateBox(true); + this._updateBox(this.data.animate); } this.wasVisible = isVisible; @@ -151,7 +153,7 @@ AFRAME.registerComponent("position-at-box-shape-border", { const distance = Math.sqrt(minSquareDistance); const scale = this.halfExtents[inverseHalfExtents[targetHalfExtentStr]] * distance; const targetScale = Math.min(2.0, Math.max(0.5, scale * tempParentWorldScale.x)); - const finalScale = targetScale / tempParentWorldScale.x; + const finalScale = this.data.scale ? targetScale / tempParentWorldScale.x : 1; if (animate) { this.targetEl.removeAttribute("animation__show"); diff --git a/src/hub.html b/src/hub.html index b0892b7f64..900ae26cf4 100644 --- a/src/hub.html +++ b/src/hub.html @@ -200,7 +200,7 @@ hoverable-visuals="cursorController: #cursor-controller" auto-scale-cannon-physics-body sticky-object="autoLockOnRelease: true; autoLockOnLoad: true;" - position-at-box-shape-border="target:.freeze-menu;" + position-at-box-shape-border__freeze="target:.freeze-menu;" destroy-at-extreme-distances set-yxz-order pinnable @@ -231,13 +231,6 @@ - - - - - - - @@ -329,6 +322,20 @@ + + + diff --git a/src/systems/userinput/bindings/keyboard-mouse-user.js b/src/systems/userinput/bindings/keyboard-mouse-user.js index 499c976369..9c8b158c58 100644 --- a/src/systems/userinput/bindings/keyboard-mouse-user.js +++ b/src/systems/userinput/bindings/keyboard-mouse-user.js @@ -343,7 +343,7 @@ export const keyboardMouseUserBindings = addSetsToBindings({ { src: { value: paths.device.mouse.wheel }, dest: { value: paths.actions.cursor.mediaVolumeMod }, - xform: xforms.scale(0.3) + xform: xforms.scale(-0.3) } ], [sets.inputFocused]: [ From 22cff64dcda4a5ad26e93273ab70d2d6d46f5c71 Mon Sep 17 00:00:00 2001 From: netpro2k Date: Tue, 15 Jan 2019 19:14:53 -0800 Subject: [PATCH 3/8] Swap overlay buttons for icons --- src/assets/video-overlay/pause-hover.png | Bin 0 -> 9898 bytes src/assets/video-overlay/pause.png | Bin 0 -> 10002 bytes src/assets/video-overlay/play-hover.png | Bin 0 -> 10759 bytes src/assets/video-overlay/play.png | Bin 0 -> 10875 bytes src/assets/video-overlay/seek_back-hover.png | Bin 0 -> 7013 bytes src/assets/video-overlay/seek_back.png | Bin 0 -> 6811 bytes src/assets/video-overlay/seek_fwd-hover.png | Bin 0 -> 7233 bytes src/assets/video-overlay/seek_fwd.png | Bin 0 -> 6923 bytes src/components/media-views.js | 2 +- src/hub.html | 42 ++++++++++++++----- 10 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 src/assets/video-overlay/pause-hover.png create mode 100644 src/assets/video-overlay/pause.png create mode 100644 src/assets/video-overlay/play-hover.png create mode 100644 src/assets/video-overlay/play.png create mode 100644 src/assets/video-overlay/seek_back-hover.png create mode 100644 src/assets/video-overlay/seek_back.png create mode 100644 src/assets/video-overlay/seek_fwd-hover.png create mode 100644 src/assets/video-overlay/seek_fwd.png diff --git a/src/assets/video-overlay/pause-hover.png b/src/assets/video-overlay/pause-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..84b028a07565b9fd6d79b8c6af771a2f8dd3eb75 GIT binary patch literal 9898 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 literal 0 HcmV?d00001 diff --git a/src/assets/video-overlay/pause.png b/src/assets/video-overlay/pause.png new file mode 100644 index 0000000000000000000000000000000000000000..74740dc7aeda694ebbefa2edb2b957864758591c GIT binary patch literal 10002 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 VZnx?Tg4y860kc1!?qmG@e*mx$OHu#; literal 0 HcmV?d00001 diff --git a/src/assets/video-overlay/play-hover.png b/src/assets/video-overlay/play-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..98efa6bac6dba3c4e9e9d0f6852dd0cb59ce9591 GIT binary patch literal 10759 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 literal 0 HcmV?d00001 diff --git a/src/assets/video-overlay/seek_back-hover.png b/src/assets/video-overlay/seek_back-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..c7124e01882b8c123a43765f5efdb1441caf1231 GIT binary patch literal 7013 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 literal 0 HcmV?d00001 diff --git a/src/assets/video-overlay/seek_fwd.png b/src/assets/video-overlay/seek_fwd.png new file mode 100644 index 0000000000000000000000000000000000000000..33d657c31c4707a15b9abe951f2a802efb345287 GIT binary patch literal 6923 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 Isc!NA2Q{92bN~PV literal 0 HcmV?d00001 diff --git a/src/components/media-views.js b/src/components/media-views.js index fd4edb892e..9c4e02fe7d 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -424,7 +424,7 @@ AFRAME.registerComponent("media-video", { } if (this.hoverMenu) { - this.playPauseButton.querySelector("[text]").setAttribute("text", "value", pause ? "|>" : "||"); + this.playPauseButton.setAttribute("icon-button", "active", pause); } if (pause) { diff --git a/src/hub.html b/src/hub.html index 33286882c6..fa9ab580d4 100644 --- a/src/hub.html +++ b/src/hub.html @@ -57,6 +57,15 @@ + + + + + + + + + @@ -324,19 +333,30 @@ From 309b711c9927f67ace4b2f1647603d0981baebc5 Mon Sep 17 00:00:00 2001 From: netpro2k Date: Fri, 18 Jan 2019 16:50:17 -0800 Subject: [PATCH 4/8] Dim video on overlay and persist MUTE indicator --- src/components/hover-menu.js | 6 +++++- src/components/media-views.js | 12 +++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/components/hover-menu.js b/src/components/hover-menu.js index 77a0b14102..d0422ec76f 100644 --- a/src/components/hover-menu.js +++ b/src/components/hover-menu.js @@ -2,7 +2,8 @@ AFRAME.registerComponent("hover-menu", { multiple: true, schema: { template: { type: "selector" }, - dirs: { type: "array" } + dirs: { type: "array" }, + dim: { default: true } }, async init() { @@ -46,6 +47,9 @@ AFRAME.registerComponent("hover-menu", { applyHoverState() { if (!this.menu) return; this.menu.object3D.visible = !this.el.sceneEl.is("frozen") && this.hovering; + if (this.data.dim && this.el.object3DMap.mesh && this.el.object3DMap.mesh.material) { + this.el.object3DMap.mesh.material.color.setScalar(this.menu.object3D.visible ? 0.5 : 1); + } }, play() { diff --git a/src/components/media-views.js b/src/components/media-views.js index 9c4e02fe7d..08671276b3 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -553,12 +553,18 @@ AFRAME.registerComponent("media-video", { const userinput = this.el.sceneEl.systems.userinput; const volumeMod = userinput.get(paths.actions.cursor.mediaVolumeMod); - if (volumeMod) { + if (this.el.is("hovered") && volumeMod) { this.el.setAttribute("media-video", "volume", THREE.Math.clamp(this.data.volume + volumeMod, 0, 1)); - this.volumeLabel.setAttribute("text", "value", `VOL: ${Math.round(this.data.volume * 100)}%`); + this.volumeLabel.setAttribute( + "text", + "value", + this.data.volume === 0 ? "MUTE" : `VOL: ${Math.round(this.data.volume * 100)}%` + ); this.volumeLabel.object3D.visible = true; clearTimeout(this.hideVolumeLabelTimeout); - this.hideVolumeLabelTimeout = setTimeout(() => (this.volumeLabel.object3D.visible = false), 1000); + if (this.data.volume) { + this.hideVolumeLabelTimeout = setTimeout(() => (this.volumeLabel.object3D.visible = false), 1000); + } } if (this.hoverMenu.object3D.visible && !this.videoIsLive) { From 1f321a0512ecf280b41b80a83b54b1160bd6984f Mon Sep 17 00:00:00 2001 From: jshaughnessy Date: Tue, 22 Jan 2019 16:11:17 -0800 Subject: [PATCH 5/8] Update src/components/media-views.js Co-Authored-By: netpro2k --- src/components/media-views.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/media-views.js b/src/components/media-views.js index 08671276b3..c9453868d8 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -575,7 +575,7 @@ AFRAME.registerComponent("media-video", { ); } - // If a none live video is currently playing and we own it, send out time updates + // If a non-live video is currently playing and we own it, send out time updates if (!this.data.videoPaused && !this.videoIsLive && this.networkedEl && NAF.utils.isMine(this.networkedEl)) { const now = performance.now(); if (now - this.lastUpdate > this.data.tickRate) { From e4aef69169a1d11d544da21c685e997f6177ec64 Mon Sep 17 00:00:00 2001 From: netpro2k Date: Tue, 22 Jan 2019 16:22:01 -0800 Subject: [PATCH 6/8] Adjust Oculus touch volume controls --- src/systems/userinput/bindings/oculus-touch-user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/systems/userinput/bindings/oculus-touch-user.js b/src/systems/userinput/bindings/oculus-touch-user.js index 11f1d41c61..90c18c91cf 100644 --- a/src/systems/userinput/bindings/oculus-touch-user.js +++ b/src/systems/userinput/bindings/oculus-touch-user.js @@ -492,7 +492,7 @@ export const oculusTouchUserBindings = addSetsToBindings({ { src: { value: rightAxis("joyY") }, dest: { value: paths.actions.cursor.mediaVolumeMod }, - xform: xforms.scale(-0.001) + xform: xforms.scale(-0.01) } ], From 1d6f95b8f98b1b01ca92f36a217cf149226f1a34 Mon Sep 17 00:00:00 2001 From: netpro2k Date: Tue, 22 Jan 2019 16:22:37 -0800 Subject: [PATCH 7/8] Handle video removed before getHoverMenu resolves --- src/components/media-views.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/media-views.js b/src/components/media-views.js index c9453868d8..4d7534b4cd 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -307,6 +307,9 @@ AFRAME.registerComponent("media-video", { this.el.setAttribute("hover-menu__video", { template: "#video-hover-menu", dirs: ["forward", "back"] }); this.el.components["hover-menu__video"].getHoverMenu().then(menu => { + // If we got removed while waiting, do nothing. + if (!this.el.parentNode) return; + this.hoverMenu = menu; this.playPauseButton = this.el.querySelector(".video-playpause-button"); From 41c7775d9addfd301b4ad5b0f336b8e8c772ad2a Mon Sep 17 00:00:00 2001 From: netpro2k Date: Tue, 22 Jan 2019 16:24:07 -0800 Subject: [PATCH 8/8] Typo --- src/components/media-views.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/media-views.js b/src/components/media-views.js index 4d7534b4cd..61052f0cea 100644 --- a/src/components/media-views.js +++ b/src/components/media-views.js @@ -401,7 +401,7 @@ AFRAME.registerComponent("media-video", { this.seekBackButton.object3D.visible = !!this.video && !this.videoIsLive; } - // Only update playback posiiton for videos you don't own + // Only update playback position for videos you don't own if (force || (this.networkedEl && !NAF.utils.isMine(this.networkedEl) && this.video)) { if (Math.abs(this.data.time - this.video.currentTime) > this.data.syncTolerance) { this.tryUpdateVideoPlaybackState(this.data.videoPaused, this.data.time);