Fix Cast lazy loading

Move all the heavy initialization, which takes ~300ms, from require('./lib/cast') to Cast.init()
This commit is contained in:
DC
2016-07-08 10:45:15 -07:00
parent 50c47dd657
commit dfe1e3b631
2 changed files with 8 additions and 4 deletions

View File

@@ -13,9 +13,8 @@ module.exports = {
setRate setRate
} }
var airplayer = require('airplayer')() // Lazy load these for a ~300ms improvement in startup time
var chromecasts = require('chromecasts')() var airplayer, chromecasts, dlnacasts
var dlnacasts = require('dlnacasts')()
var config = require('../../config') var config = require('../../config')
@@ -33,6 +32,11 @@ function init (appState, callback) {
state = appState state = appState
update = callback update = callback
// Load modules, scan the network for devices
airplayer = require('airplayer')()
chromecasts = require('chromecasts')()
dlnacasts = require('dlnacasts')()
state.devices.chromecast = chromecastPlayer() state.devices.chromecast = chromecastPlayer()
state.devices.dlna = dlnaPlayer() state.devices.dlna = dlnaPlayer()
state.devices.airplay = airplayPlayer() state.devices.airplay = airplayPlayer()

View File

@@ -249,7 +249,7 @@ function dispatch (action, ...args) {
} }
var handler = dispatchHandlers[action] var handler = dispatchHandlers[action]
if (handler) handler.apply(null, args) if (handler) handler(...args)
else console.error('Missing dispatch handler: ' + action) else console.error('Missing dispatch handler: ' + action)
// Update the virtual-dom, unless it's just a mouse move event // Update the virtual-dom, unless it's just a mouse move event