diff --git a/renderer/lib/cast.js b/renderer/lib/cast.js index d29b01da..2bb8dc2c 100644 --- a/renderer/lib/cast.js +++ b/renderer/lib/cast.js @@ -13,9 +13,8 @@ module.exports = { setRate } -var airplayer = require('airplayer')() -var chromecasts = require('chromecasts')() -var dlnacasts = require('dlnacasts')() +// Lazy load these for a ~300ms improvement in startup time +var airplayer, chromecasts, dlnacasts var config = require('../../config') @@ -33,6 +32,11 @@ function init (appState, callback) { state = appState update = callback + // Load modules, scan the network for devices + airplayer = require('airplayer')() + chromecasts = require('chromecasts')() + dlnacasts = require('dlnacasts')() + state.devices.chromecast = chromecastPlayer() state.devices.dlna = dlnaPlayer() state.devices.airplay = airplayPlayer() diff --git a/renderer/main.js b/renderer/main.js index 874d7669..feb2b11d 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -249,7 +249,7 @@ function dispatch (action, ...args) { } var handler = dispatchHandlers[action] - if (handler) handler.apply(null, args) + if (handler) handler(...args) else console.error('Missing dispatch handler: ' + action) // Update the virtual-dom, unless it's just a mouse move event