Receiver works, some refactoring

This commit is contained in:
Chen Asraf
2016-03-29 12:38:34 +03:00
parent 20cb74ae52
commit a15dc02b4f
56 changed files with 106 additions and 835 deletions

2
.gitignore vendored
View File

@@ -61,3 +61,5 @@ target/
#Ipython Notebook
.ipynb_checkpoints
bower_components/
static/*
!static/.keep

14
app.py
View File

@@ -18,7 +18,7 @@ env.register(
'js_sender',
assets.Bundle(
'jquery/dist/jquery.min.js',
'angular/angular.min.js',
'angularjs/angular.min.js',
assets.Bundle(
'sender.coffee',
filters=['coffeescript']
@@ -30,8 +30,8 @@ env.register(
env.register(
'css_sender',
assets.Bundle(
'sender.sass',
filters='sass',
'sender.scss',
filters='scss',
output='css_sender.css'
)
)
@@ -40,7 +40,7 @@ env.register(
'js_receiver',
assets.Bundle(
'jquery/dist/jquery.min.js',
'angular/angular.min.js',
'angularjs/angular.min.js',
assets.Bundle(
'receiver.coffee',
filters=['coffeescript']
@@ -52,8 +52,8 @@ env.register(
env.register(
'css_receiver',
assets.Bundle(
'receiver.sass',
filters='sass',
'receiver.scss',
filters='scss',
output='css_receiver.css'
)
)
@@ -61,7 +61,7 @@ env.register(
@app.route("/")
def index():
return render_template('index.html')
return render_template('receiver.html')
@app.route("/sender")
def sender():

View File

@@ -0,0 +1,57 @@
# utility function to display the text message in the input field
displayText = (text) ->
console.log text
document.getElementById('message').innerHTML = text
window.castReceiverManager.setApplicationState text
return
window.onload = ->
cast.receiver.logger.setLevelValue 0
window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance()
console.log 'Starting Receiver Manager'
# handler for the 'ready' event
castReceiverManager.onReady = (event) ->
console.log 'Received Ready event: ' + JSON.stringify(event.data)
window.castReceiverManager.setApplicationState 'Application status is ready...'
return
# handler for 'senderconnected' event
castReceiverManager.onSenderConnected = (event) ->
console.log 'Received Sender Connected event: ' + event.data
console.log window.castReceiverManager.getSender(event.data).userAgent
return
# handler for 'senderdisconnected' event
castReceiverManager.onSenderDisconnected = (event) ->
console.log 'Received Sender Disconnected event: ' + event.data
if window.castReceiverManager.getSenders().length == 0
window.close()
return
# handler for 'systemvolumechanged' event
castReceiverManager.onSystemVolumeChanged = (event) ->
console.log 'Received System Volume Changed event: ' + event.data['level'] + ' ' + event.data['muted']
return
# create a CastMessageBus to handle messages for a custom namespace
window.messageBus = window.castReceiverManager.getCastMessageBus('urn:x-cast:com.castroulette')
# handler for the CastMessageBus message event
window.messageBus.onMessage = (event) ->
console.log 'Message [' + event.senderId + ']: ' + event.data
# display the message from the sender
displayText event.data
# inform all senders on the CastMessageBus of the incoming message event
# sender message listener will be invoked
window.messageBus.send event.senderId, event.data
return
# initialize the CastReceiverManager with an application status message
window.castReceiverManager.start statusText: 'Application is starting'
console.log 'Receiver Manager started'
return

View File

@@ -1,7 +1,7 @@
castReveivers = {}
session = undefined
APP_ID = '6684D5DF'
namespace = 'urn:x-cast:chrome.cast'
namespace = 'urn:x-cast:com.castroulette'
window.__onGCastApiAvailable = (loaded, errorInfo) ->
console.debug '__onGCastApiAvailable'
@@ -27,7 +27,10 @@ loggerMethod = (name) ->
window[name] = (args...) ->
console.debug name, args...
loggerMethod(name) for name in 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ')
loggerMethod(name) for name in 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError sessionUpdateListener onMessageSuccess'.split(' ')
requestSession = ->
chrome.cast.requestSession onRequestSessionSuccess, onLaunchError
sendMessage = (message) ->
session.sendMessage namespace, message, onMessageSuccess

7
sass/receiver.scss Normal file
View File

@@ -0,0 +1,7 @@
body {
width: 1280px;
height: 720px;
background: #999;
color: #fff;
padding: 20%;
}

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastAppAvailable = function(loaded, errorInfo) {\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess, receiveListener, sessionListener;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a\u000asessionListener = console.debug;\u000a\u000areceiveListener = console.debug;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'2404bd6bbef78e70d7aac2b486ee22b2'
p1
.

View File

@@ -1,3 +0,0 @@
S'5bd679dd85aee9f2925b7daafce93a07'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, namespace, onError, onInitSuccess, receiveListener, receiverMessage, session, sessionListener;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000areceiverMessage = console.debug;\u000a\u000areceiveListener = console.debug;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'a5c01086'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onLaunch, onMsgReceivedByCc, onReceiverList, ref, sendMessageToCc, senderInit;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000asenderInit = function() {\u000a var e, endpoint, error, socker;\u000a try {\u000a endpoint = "http://" + SOCKETIO_HOST + ":" + SOCKETIO_PORT;\u000a socker = io.connect(endpoint);\u000a } catch (error) {\u000a e = error;\u000a console.error(e);\u000a return;\u000a }\u000a socket.on('relay', data(function() {\u000a return console.debug('socket relay', data);\u000a }));\u000a return socket.on('');\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var castApi;\u000a castApi = new cast.Api();\u000a return castApi.addReceiveListener(APP_ID, onReceiverList);\u000a};\u000a\u000aonReceiverList = function(receivers) {\u000a var i, launchRequest, len, receiver, results;\u000a if (!receivers.length) {\u000a return;\u000a }\u000a results = [];\u000a for (i = 0, len = receivers.length; i < len; i++) {\u000a receiver = receivers[i];\u000a console.debug('receiver', receiver);\u000a castReceivers[receiver.name] = receiver;\u000a launchRequest = new cast.LaunchRequest(APP_ID, receiver);\u000a launchRequest.parameters = '';\u000a results.push(castApi.launch(launchRequest, onLaunch(receiver)));\u000a }\u000a return results;\u000a};\u000a\u000aonLaunch = function(receiver) {\u000a return function(activity) {\u000a switch (activity.status) {\u000a case 'running':\u000a castReceivers[receiver.name].activity_id = activity.activityId;\u000a console.debug('receiver has received launch command');\u000a return window.setTimeout(function() {\u000a return sendMessageToCc({\u000a type: 'message',\u000a body: 'ready'\u000a }, activity.activityId);\u000a });\u000a case 'error':\u000a delete castReceivers[receiver.name].activityId;\u000a return console.debug('receiver error on launch command');\u000a }\u000a };\u000a};\u000a\u000asendMessageToCc = function(msg, activityId) {\u000a return castApi.sendMessage(activityId, 'e2e', msg, onMsgReceivedByCc);\u000a};\u000a\u000aonMsgReceivedByCc = function(msg) {\u000a if (msg != null) {\u000a return console.debug(msg);\u000a }\u000a};\u000a\u000aif ((ref = window.cast) != null ? ref.isAvailable : void 0) {\u000a console.debug('cast api available');\u000a initializeApi();\u000a} else {\u000a window.addEventListener('message', function(e) {\u000a var ref1, ref2;\u000a if (e.source === window && ((ref1 = event.data) != null ? ref1.source : void 0) === 'CastApi' && ((ref2 = event.data) != null ? ref2.event : void 0) === 'Hello') {\u000a return initializeCastApi();\u000a }\u000a });\u000a}\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'79f8a92e'
p1
.

View File

@@ -1,3 +0,0 @@
V/** @define {string} Application ID used when running the sender. */\u000avar APP_ID, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a cast.games.common.sender.setup(APP_ID, onSessionReady_);\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a\u000acommandDocs.add('sendSpritedemoMessage() - This function creates a new ' + 'cast.games.spritedemo.SpritedemoMessage(), which is a container created ' + 'specifically for the needs of this cast application. It then ' + ' sends the message to the receiver using the ' + ' sendGameMessageWithPlayerId function in GameManagerClient.');\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, SpritedemoMessageType, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000agoog.require('cast.games.common.sender.CommandDocs');\u000a\u000agoog.require('cast.games.common.sender.debugGameManagerClient');\u000a\u000agoog.require('cast.games.common.sender.setup');\u000a\u000agoog.require('cast.games.spritedemo.SpritedemoMessage');\u000a\u000agoog.require('cast.games.spritedemo.SpritedemoMessageType');\u000a\u000a\u000a/** @define {string} Application ID used when running the sender. */\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000aSpritedemoMessageType = cast.games.spritedemo.SpritedemoMessageType;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a cast.games.common.sender.setup(APP_ID, onSessionReady_);\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a cast.games.common.sender.debugGameManagerClient(gameManagerClient);\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a\u000acommandDocs.add('sendSpritedemoMessage() - This function creates a new ' + 'cast.games.spritedemo.SpritedemoMessage(), which is a container created ' + 'specifically for the needs of this cast application. It then ' + ' sends the message to the receiver using the ' + ' sendGameMessageWithPlayerId function in GameManagerClient.');\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onLaunch, onMsgReceivedByCc, onReceiverList, ref, ref1, sendMessageToCc, senderInit;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000asenderInit = function() {\u000a var e, endpoint, error, socker;\u000a try {\u000a endpoint = "http://" + SOCKETIO_HOST + ":" + SOCKETIO_PORT;\u000a socker = io.connect(endpoint);\u000a } catch (error) {\u000a e = error;\u000a console.error(e);\u000a return;\u000a }\u000a socket.on('relay', data(function() {\u000a return console.debug('socket relay', data);\u000a }));\u000a return socket.on('');\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var castApi;\u000a castApi = new chrome.cast.Api();\u000a return castApi.addReceiveListener(APP_ID, onReceiverList);\u000a};\u000a\u000aonReceiverList = function(receivers) {\u000a var i, launchRequest, len, receiver, results;\u000a if (!receivers.length) {\u000a return;\u000a }\u000a results = [];\u000a for (i = 0, len = receivers.length; i < len; i++) {\u000a receiver = receivers[i];\u000a console.debug('receiver', receiver);\u000a castReceivers[receiver.name] = receiver;\u000a launchRequest = new cast.LaunchRequest(APP_ID, receiver);\u000a launchRequest.parameters = '';\u000a results.push(castApi.launch(launchRequest, onLaunch(receiver)));\u000a }\u000a return results;\u000a};\u000a\u000aonLaunch = function(receiver) {\u000a return function(activity) {\u000a switch (activity.status) {\u000a case 'running':\u000a castReceivers[receiver.name].activity_id = activity.activityId;\u000a console.debug('receiver has received launch command');\u000a return window.setTimeout(function() {\u000a return sendMessageToCc({\u000a type: 'message',\u000a body: 'ready'\u000a }, activity.activityId);\u000a });\u000a case 'error':\u000a delete castReceivers[receiver.name].activityId;\u000a return console.debug('receiver error on launch command');\u000a }\u000a };\u000a};\u000a\u000asendMessageToCc = function(msg, activityId) {\u000a return castApi.sendMessage(activityId, 'e2e', msg, onMsgReceivedByCc);\u000a};\u000a\u000aonMsgReceivedByCc = function(msg) {\u000a if (msg != null) {\u000a return console.debug(msg);\u000a }\u000a};\u000a\u000aif ((ref = window.chrome) != null ? (ref1 = ref.cast) != null ? ref1.isAvailable : void 0 : void 0) {\u000a console.debug('cast api available');\u000a initializeApi();\u000a} else {\u000a window.addEventListener('message', function(e) {\u000a var ref2, ref3;\u000a if (e.source === window && ((ref2 = event.data) != null ? ref2.source : void 0) === 'CastApi' && ((ref3 = event.data) != null ? ref3.event : void 0) === 'Hello') {\u000a return initializeCastApi();\u000a }\u000a });\u000a}\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onLaunch, onMsgReceivedByCc, onReceiverList, ref, sendMessageToCc, senderInit;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000asenderInit = function() {\u000a var e, endpoint, error, socker;\u000a try {\u000a endpoint = "http://" + SOCKETIO_HOST + ":" + SOCKETIO_PORT;\u000a socker = io.connect(endpoint);\u000a } catch (error) {\u000a e = error;\u000a console.error(e);\u000a return;\u000a }\u000a socket.on('relay', data(function() {\u000a return console.debug('socket relay', data);\u000a }));\u000a return socket.on('');\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var castApi;\u000a castApi = new cast.Api();\u000a return castApi.addReceiveListener(APP_ID, onReceiverList);\u000a};\u000a\u000aonReceiverList = function(receivers) {\u000a var i, launchRequest, len, receiver, results;\u000a if (!receivers.length) {\u000a return;\u000a }\u000a results = [];\u000a for (i = 0, len = receivers.length; i < len; i++) {\u000a receiver = receivers[i];\u000a console.debug('receiver', receiver);\u000a castReceivers[receiver.name] = receiver;\u000a launchRequest = new cast.LaunchRequest(APP_ID, receiver);\u000a launchRequest.parameters = '';\u000a results.push(castApi.launch(launchRequest, onLaunch(receiver)));\u000a }\u000a return results;\u000a};\u000a\u000aonLaunch = function(receiver) {\u000a return function(activity) {\u000a switch (activity.status) {\u000a case 'running':\u000a castReceivers[receiver.name].activity_id = activity.activityId;\u000a console.debug('receiver has received launch command');\u000a return window.setTimeout(function() {\u000a return sendMessageToCc({\u000a type: 'message',\u000a body: 'ready'\u000a }, activity.activityId);\u000a });\u000a case 'error':\u000a delete castReceivers[receiver.name].activityId;\u000a return console.debug('receiver error on launch command');\u000a }\u000a };\u000a};\u000a\u000asendMessageToCc = function(msg, activityId) {\u000a return castApi.sendMessage(activityId, 'e2e', msg, onMsgReceivedByCc);\u000a};\u000a\u000aonMsgReceivedByCc = function(msg) {\u000a if (msg != null) {\u000a return console.debug(msg);\u000a }\u000a};\u000a\u000aif ((ref = window.cast) != null ? ref.isAvailable : void 0) {\u000a console.debug('cast api available');\u000a initializeApi();\u000a} else {\u000a window.addEvenListener('message', function(e) {\u000a var ref1, ref2;\u000a if (e.source === window && ((ref1 = event.data) != null ? ref1.source : void 0) === 'CastApi' && ((ref2 = event.data) != null ? ref2.event : void 0) === 'Hello') {\u000a return initializeCastApi();\u000a }\u000a });\u000a}\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, i, initializeCastApi, len, loggerMethod, name, namespace, ref, requestSession, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000aloggerMethod = function(name) {\u000a return window[name] = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, [name].concat(slice.call(args)));\u000a };\u000a};\u000a\u000aref = 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ');\u000afor (i = 0, len = ref.length; i < len; i++) {\u000a name = ref[i];\u000a loggerMethod(name);\u000a}\u000a\u000arequestSession = function() {\u000a return chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, i, initializeCastApi, len, loggerMethod, name, namespace, ref, requestSession, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000asetTimeout(initializeCastApi, 2000);\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000aloggerMethod = function(name) {\u000a return window[name] = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, [name].concat(slice.call(args)));\u000a };\u000a};\u000a\u000aref = 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ');\u000afor (i = 0, len = ref.length; i < len; i++) {\u000a name = ref[i];\u000a loggerMethod(name);\u000a}\u000a\u000arequestSession = function() {\u000a return chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'c02ff806'
p1
.

View File

@@ -1,3 +0,0 @@
S'd41d8cd9'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastAppAvailable = function(loaded, errorInfo) {\u000a if (loaded) {\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, i, initializeCastApi, len, loggerMethod, name, namespace, ref, requestSession, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000asetTimeout(initializeCastApi, 2000);\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a console.debug('initializeCastApi');\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000aloggerMethod = function(name) {\u000a return window[name] = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, [name].concat(slice.call(args)));\u000a };\u000a};\u000a\u000aref = 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ');\u000afor (i = 0, len = ref.length; i < len; i++) {\u000a name = ref[i];\u000a loggerMethod(name);\u000a}\u000a\u000arequestSession = function() {\u000a return chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, namespace, onError, onInitSuccess, receiveListener, receiverMessage, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['onInitSuccess'].concat(slice.call(args)));\u000a};\u000a\u000aonError = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.error.apply(console, ['onError'].concat(slice.call(args)));\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000areceiverMessage = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['receiverMessage'].concat(slice.call(args)));\u000a};\u000a\u000areceiveListener = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['receiveListener'].concat(slice.call(args)));\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess, sessionListener;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a\u000asessionListener = console.debug;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, i, initializeCastApi, len, loggerMethod, name, namespace, ref, requestSession, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a console.debug('initializeCastApi');\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000aloggerMethod = function(name) {\u000a return window[name] = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, [name].concat(slice.call(args)));\u000a };\u000a};\u000a\u000aref = 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ');\u000afor (i = 0, len = ref.length; i < len; i++) {\u000a name = ref[i];\u000a loggerMethod(name);\u000a}\u000a\u000arequestSession = function() {\u000a return chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess, receiveListener, sessionListener;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a\u000asessionListener = console.debug;\u000a\u000areceiveListener = console.debug;\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, i, initializeCastApi, len, loggerMethod, name, namespace, ref, requestSession, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a console.debug('initializeCastApi');\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000aloggerMethod = function(name) {\u000a return window[name] = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, [name].concat(slice.call(args)));\u000a };\u000a};\u000a\u000aref = 'onInitSuccess onError receiverMessage receiveListener onRequestSessionSuccess onLaunchError'.split(' ');\u000afor (i = 0, len = ref.length; i < len; i++) {\u000a name = ref[i];\u000a loggerMethod(name);\u000a}\u000a\u000arequestSession = function() {\u000a return chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError);\u000a};\u000a\u000asetTimeout(initializeCastApi, 2000);\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onLaunch, onMsgReceivedByCc, onReceiverList, ref, sendMessageToCc, senderInit;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000asenderInit = function() {\u000a var e, endpoint, error, socker;\u000a try {\u000a endpoint = "http://" + SOCKETIO_HOST + ":" + SOCKETIO_PORT;\u000a socker = io.connect(endpoint);\u000a } catch (error) {\u000a e = error;\u000a console.error(e);\u000a return;\u000a }\u000a socket.on('relay', data(function() {\u000a return console.debug('socket relay', data);\u000a }));\u000a return socket.on('');\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var castApi;\u000a castApi = new cast.Api();\u000a return castApi.addReceiveListener(APP_ID, onReceiverList);\u000a};\u000a\u000aonReceiverList = function(receivers) {\u000a var i, launchRequest, len, receiver, results;\u000a if (!receivers.length) {\u000a return;\u000a }\u000a results = [];\u000a for (i = 0, len = receivers.length; i < len; i++) {\u000a receiver = receivers[i];\u000a console.debug('receiver', receiver);\u000a castReceivers[receiver.name] = receiver;\u000a launchRequest = new cast.LaunchRequest(APP_ID, receiver);\u000a launchRequest.parameters = '';\u000a results.push(castApi.launch(launchRequest, onLaunch(receiver)));\u000a }\u000a return results;\u000a};\u000a\u000aonLaunch = function(receiver) {\u000a return function(activity) {\u000a switch (activity.status) {\u000a case 'running':\u000a castReceivers[receiver.name].activity_id = activity.activityId;\u000a console.debug('receiver has received launch command');\u000a return window.setTimeout(function() {\u000a return sendMessageToCc({\u000a type: 'message',\u000a body: 'ready'\u000a }, activity.activityId);\u000a });\u000a case 'error':\u000a delete castReceivers[receiver.name].activityId;\u000a return console.debug('receiver error on launch command');\u000a }\u000a };\u000a};\u000a\u000asendMessageToCc = function(msg, activityId) {\u000a return castApi.sendMessage(activityId, 'e2e', msg, onMsgReceivedByCc);\u000a};\u000a\u000aonMsgReceivedByCc = function(msg) {\u000a if (msg != null) {\u000a return console.debug(msg);\u000a }\u000a};\u000a\u000aif ((ref = window.cast) != null ? ref.isAvailable : void 0) {\u000a console.debug('cast api available');\u000a initializeApi();\u000a}\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'55be5932678b47fb65658302f63c11c7'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onError, onInitSuccess;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = console.debug;\u000a\u000aonError = console.error;\u000a
p1
.

View File

@@ -1,3 +0,0 @@
V/** @define {string} Application ID used when running the sender. */\u000avar APP_ID, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a cast.games.common.sender.setup(APP_ID, onSessionReady_);\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'957fb02c8b858053c322b14e6992cac2'
p1
.

View File

@@ -1,3 +0,0 @@
S'd41d8cd9'
p1
.

View File

@@ -1,3 +0,0 @@
V/** @define {string} Application ID used when running the sender. */\u000avar APP_ID, SpritedemoMessageType, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000aSpritedemoMessageType = cast.games.spritedemo.SpritedemoMessageType;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a cast.games.common.sender.setup(APP_ID, onSessionReady_);\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a cast.games.common.sender.debugGameManagerClient(gameManagerClient);\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a\u000acommandDocs.add('sendSpritedemoMessage() - This function creates a new ' + 'cast.games.spritedemo.SpritedemoMessage(), which is a container created ' + 'specifically for the needs of this cast application. It then ' + ' sends the message to the receiver using the ' + ' sendGameMessageWithPlayerId function in GameManagerClient.');\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'd41d8cd9'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, onLaunch, onMsgReceivedByCc, onReceiverList, sendMessageToCc;\u000a\u000acastReveivers = {};\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000ainitializeCastApi = function() {\u000a var castApi;\u000a castApi = new cast.Api();\u000a return castApi.addReceiveListener(APP_ID, onReceiverList);\u000a};\u000a\u000aonReceiverList = function(receivers) {\u000a var i, launchRequest, len, receiver, results;\u000a if (!receivers.length) {\u000a return;\u000a }\u000a results = [];\u000a for (i = 0, len = receivers.length; i < len; i++) {\u000a receiver = receivers[i];\u000a console.debug('receiver', receiver);\u000a castReceivers[receiver.name] = receiver;\u000a launchRequest = new cast.LaunchRequest(APP_ID, receiver);\u000a launchRequest.parameters = '';\u000a results.push(castApi.launch(launchRequest, onLaunch(receiver)));\u000a }\u000a return results;\u000a};\u000a\u000aonLaunch = function(receiver) {\u000a return function(activity) {\u000a switch (activity.status) {\u000a case 'running':\u000a castReceivers[receiver.name].activity_id = activity.activityId;\u000a console.debug('receiver has received launch command');\u000a return window.setTimeout(function() {\u000a return sendMessageToCc({\u000a type: 'message',\u000a body: 'ready'\u000a }, activity.activityId);\u000a });\u000a case 'error':\u000a delete castReceivers[receiver.name].activityId;\u000a return console.debug('receiver error on launch command');\u000a }\u000a };\u000a};\u000a\u000asendMessageToCc = function(msg, activityId) {\u000a return castApi.sendMessage(activityId, 'e2e', msg, onMsgReceivedByCc);\u000a};\u000a\u000aonMsgReceivedByCc = function(msg) {\u000a if (msg != null) {\u000a return console.debug(msg);\u000a }\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, namespace, onError, onInitSuccess, receiveListener, receiverMessage, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['onInitSuccess'].concat(slice.call(args)));\u000a};\u000a\u000aonError = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.error.apply(console, ['onError'].concat(slice.call(args)));\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000areceiverMessage = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['receiverMessage'].concat(slice.call(args)));\u000a};\u000a\u000areceiveListener = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, ['receiveListener'].concat(slice.call(args)));\u000a};\u000a
p1
.

View File

@@ -1,2 +0,0 @@
V\u000a
.

View File

@@ -1,3 +0,0 @@
V/** @define {string} Application ID used when running the sender. */\u000avar APP_ID, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'22d92f68e42e7effcd64b8066f6f7aad'
p1
.

View File

@@ -1,3 +0,0 @@
Vvar APP_ID, castReveivers, initializeCastApi, namespace, onError, onInitSuccess, receiveListener, receiverMessage, session, sessionListener,\u000a slice = [].slice;\u000a\u000acastReveivers = {};\u000a\u000asession = void 0;\u000a\u000aAPP_ID = '6684D5DF';\u000a\u000anamespace = 'urn:x-cast:chrome.cast';\u000a\u000awindow.__onGCastApiAvailable = function(loaded, errorInfo) {\u000a console.debug('__onGCastApiAvailable');\u000a if (loaded) {\u000a console.debug('initializing cast api');\u000a return initializeCastApi();\u000a } else {\u000a return console.error(errorInfo);\u000a }\u000a};\u000a\u000ainitializeCastApi = function() {\u000a var apiConfig, sessionRequest;\u000a sessionRequest = new chrome.cast.SessionRequest(APP_ID);\u000a apiConfig = new chrome.cast.ApiConfig(sessionRequest, sessionListener, receiveListener);\u000a return chrome.cast.initialize(apiConfig, onInitSuccess, onError);\u000a};\u000a\u000aonInitSuccess = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, args);\u000a};\u000a\u000aonError = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.error.apply(console, args);\u000a};\u000a\u000asessionListener = function(e) {\u000a console.debug("New session ID: " + e.sessionId);\u000a session = e;\u000a session.addUpdateListener(sessionUpdateListener);\u000a return session.addMessageListener(namespace, receiverMessage);\u000a};\u000a\u000areceiverMessage = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, args);\u000a};\u000a\u000areceiveListener = function() {\u000a var args;\u000a args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\u000a return console.debug.apply(console, args);\u000a};\u000a
p1
.

View File

@@ -1,3 +0,0 @@
V/** @define {string} Application ID used when running the sender. */\u000avar APP_ID, SpritedemoMessageType, gameManagerClient, onSessionReady_, sendSpritedemoMessage;\u000a\u000aAPP_ID = 'D6120C32';\u000a\u000agameManagerClient = null;\u000a\u000aSpritedemoMessageType = cast.games.spritedemo.SpritedemoMessageType;\u000a\u000a\u000a/**\u000a * Request a cast session when Cast Sender API loads.\u000a * @param {boolean} loaded\u000a * @param {Object} errorInfo\u000a */\u000a\u000awindow['__onGCastApiAvailable'] = function(loaded, errorInfo) {\u000a if (!loaded) {\u000a console.error('### Cast Sender SDK failed to load:');\u000a console.dir(errorInfo);\u000a return;\u000a }\u000a cast.games.common.sender.setup(APP_ID, onSessionReady_);\u000a};\u000a\u000a\u000a/**\u000a * Callback when a cast session is ready. Connects the game manager.\u000a * @param {!chrome.cast.Session} session\u000a * @private\u000a */\u000a\u000aonSessionReady_ = function(session) {\u000a console.log('### Creating game manager client.');\u000a chrome.cast.games.GameManagerClient.getInstanceFor(session, (function(result) {\u000a console.log('### Game manager client initialized!');\u000a gameManagerClient = result.gameManagerClient;\u000a console.log('### Sending AVAILABLE message.');\u000a gameManagerClient.sendPlayerAvailableRequest(null, null, null);\u000a help();\u000a }), function(error) {\u000a console.error('### Error initializing the game manager client: ' + error.errorDescription + ' ' + 'Error code: ' + error.errorCode);\u000a });\u000a};\u000a\u000a\u000a/**\u000a * Sends a sprite message to the receiver. The receiver will add a sprite to the\u000a * screen when received.\u000a * @export\u000a */\u000a\u000asendSpritedemoMessage = function() {\u000a var message;\u000a if (!gameManagerClient) {\u000a return;\u000a }\u000a message = new cast.games.spritedemo.SpritedemoMessage;\u000a message.type = cast.games.spritedemo.SpritedemoMessageType.SPRITE;\u000a gameManagerClient.sendGameMessage(message);\u000a};\u000a\u000acommandDocs.add('sendSpritedemoMessage() - This function creates a new ' + 'cast.games.spritedemo.SpritedemoMessage(), which is a container created ' + 'specifically for the needs of this cast application. It then ' + ' sends the message to the receiver using the ' + ' sendGameMessageWithPlayerId function in GameManagerClient.');\u000a
p1
.

View File

@@ -1,3 +0,0 @@
S'a744c0f823ae5affe8f8ec640a92e58b'
p1
.

View File

View File

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -13,5 +13,7 @@
<head>
<body>
<h1>Receiver</h1>
Latest message:
<div id="message"></div>
</body>
</html>

View File

@@ -1,17 +1,31 @@
<!doctype html>
<html>
<head>
<title>Sender</title>
{% assets "css_sender" %}
<link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}"></script>
{% endassets %}
{% assets "js_sender" %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>
<head>
<head>
<title>Sender</title>
{% assets "css_sender" %}
<link rel="stylesheet"
type="text/css"
href="{{ ASSET_URL }}">
</script>
{% endassets %} {% assets "js_sender" %}
<script type="text/javascript"
src="{{ ASSET_URL }}"></script>
{% endassets %}
<script type="text/javascript"
src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>
<head>
<body>
<h1>Sender</h1>
<button type="button" onclick="requestSession()">Cast Muthafucka</button>
<h1>Sender</h1>
<button type="button"
onclick="requestSession()">Cast Muthafucka</button>
<div>
<textarea id="message"></textarea><br />
<button type="button"
onclick="sendMessage(document.querySelector('#message').value)">Send message</button>
</div>
</body>
</html>