summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/scenery
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-07-14 11:25:59 -0400
committerJules Laplace <jules@okfoc.us>2014-07-14 11:25:59 -0400
commit3aac2d44b49d28c4a3e99d74d6d7769e985c2d02 (patch)
treea5227bb32efd4e43920d15590a3669ff418e44ef /public/assets/javascripts/rectangles/engine/scenery
parent1826bed806b079c6e44703a4e5f424b7aed7bd96 (diff)
play button
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/scenery')
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/_scenery.js8
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/video.js25
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js49
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/youtube.js37
4 files changed, 25 insertions, 94 deletions
diff --git a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
index b7e7892..1493fc6 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
@@ -20,15 +20,9 @@ var Scenery = new function(){
break
case 'video':
- scene_media = new Scenery.types.video ({ media: media, wall: wall, id: id })
- break
-
case 'youtube':
- scene_media = new Scenery.types.youtube ({ media: media, wall: wall, id: id })
- break
-
case 'vimeo':
- scene_media = new Scenery.types.vimeo ({ media: media, wall: wall, id: id })
+ scene_media = new Scenery.types.video ({ media: media, wall: wall, id: id })
break
}
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/video.js b/public/assets/javascripts/rectangles/engine/scenery/types/video.js
index a9fce4a..6117826 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/types/video.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/types/video.js
@@ -14,7 +14,18 @@ Scenery.types.video = Scenery.types.base.extend(function(base){
},
build: function(){
- this.mx = new MX.Video({
+ switch (this.media.type) {
+ case 'video':
+ this.mxType = MX.Video
+ break
+ case 'vimeo':
+ this.mxType = MX.Vimeo
+ break
+ case 'youtube':
+ this.mxType = MX.Youtube
+ break
+ }
+ this.mx = new this.mxType({
media: this.media,
scale: this.scale,
y: this.scale * this.media.height/2,
@@ -31,6 +42,18 @@ Scenery.types.video = Scenery.types.base.extend(function(base){
this.mx.pause()
},
+ toggle: function(shouldPause){
+ if (typeof shouldPause === "undefined") {
+ shouldPause = ! this.mx.paused
+ }
+ shouldPause ? this.mx.pause() : this.mx.play()
+ return shouldPause
+ },
+
+ paused: function(){
+ return this.mx.paused
+ },
+
seek: function(n){
this.mx.seek(n)
},
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js b/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js
deleted file mode 100644
index ded5f87..0000000
--- a/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js
+++ /dev/null
@@ -1,49 +0,0 @@
-
-Scenery.types.vimeo = Scenery.types.base.extend(function(base){
-
- var exports = {
-
- init: function(opt){
- base.init.call(this, opt)
- this.scale = this.media.scale = 300 / max(300, this.media.width)
-
- this.build()
- this.bind()
- this.set_wall()
- this.recenter()
- },
-
- build: function(){
- this.mx = new MX.Vimeo({
- media: this.media,
- scale: this.scale,
- y: this.scale * this.media.height/2,
- backface: false,
- })
- scene.add( this.mx )
- },
-
- play: function(){
- this.mx.play()
- },
-
- pause: function(){
- this.mx.pause()
- },
-
- seek: function(n){
- this.mx.seek(n)
- },
-
- serialize: function(){
- var data = base.serialize.call(this)
- return data
- },
-
- deserialize: function(data){
- this.mx.move(data.position)
- },
- }
-
- return exports
-})
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js b/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js
deleted file mode 100644
index 25d8485..0000000
--- a/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js
+++ /dev/null
@@ -1,37 +0,0 @@
-
-Scenery.types.youtube = Scenery.types.base.extend(function(base){
-
- var exports = {
-
- init: function(opt){
- base.init.call(this, opt)
- this.scale = this.media.scale = 300 / max(300, this.media.width)
-
- this.build()
- this.bind()
- this.set_wall()
- this.recenter()
- },
-
- build: function(){
- this.mx = new MX.Youtube({
- media: this.media,
- scale: this.scale,
- y: this.scale * this.media.height/2,
- backface: false,
- })
- scene.add( this.mx )
- },
-
- serialize: function(){
- var data = base.serialize.call(this)
- return data
- },
-
- deserialize: function(data){
- this.mx.move(data.position)
- },
- }
-
- return exports
-})