From 93ddb8d638c9e081fa72dec03013cc88137b56a6 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sun, 21 Aug 2016 16:53:23 -0700 Subject: [PATCH 1/5] launch VLC fixes We can show video title on start now, since we're setting it correctly. Also, escape the title since it could contain spaces. --- src/main/external-player.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/external-player.js b/src/main/external-player.js index 0f4648f3..46be8631 100644 --- a/src/main/external-player.js +++ b/src/main/external-player.js @@ -26,7 +26,7 @@ function spawn (path, url, title) { // Try to find and use VLC if external player is not specified vlcCommand(function (err, vlcPath) { if (err) return windows.main.dispatch('externalPlayerNotFound') - var args = ['--play-and-exit', '--video-on-top', '--no-video-title-show', '--quiet', `--meta-title=${title}`, url] + var args = ['--play-and-exit', '--video-on-top', '--quiet', `--meta-title=${JSON.stringify(title)}`, url] spawnExternal(vlcPath, args) }) } From d1e557f0547d1a6361f6a131033b8b2191974053 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sun, 21 Aug 2016 16:54:27 -0700 Subject: [PATCH 2/5] Ignore stdout/stderr from spawned player This prevents stalling in players like mpv/mplayer for some reason. I think this could be because of the large number of updates that are being written to stdout that's filling up a buffer and preventing playback from continuing. --- src/main/external-player.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/external-player.js b/src/main/external-player.js index 46be8631..57f4487f 100644 --- a/src/main/external-player.js +++ b/src/main/external-player.js @@ -41,7 +41,7 @@ function kill () { function spawnExternal (path, args) { log('Running external media player:', path + ' ' + args.join(' ')) - proc = cp.spawn(path, args) + proc = cp.spawn(path, args, {stdio: 'ignore'}) // If it works, close the modal after a second var closeModalTimeout = setTimeout(() => From b79971eea5c47142c7b750e953b40156a83428b2 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sun, 21 Aug 2016 16:54:45 -0700 Subject: [PATCH 3/5] show video title in webtorrent app for all external players --- src/renderer/controllers/playback-controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/controllers/playback-controller.js b/src/renderer/controllers/playback-controller.js index f68115e9..c1781895 100644 --- a/src/renderer/controllers/playback-controller.js +++ b/src/renderer/controllers/playback-controller.js @@ -241,6 +241,8 @@ module.exports = class PlaybackController { return this.update() } + state.window.title = torrentSummary.files[state.playing.fileIndex].name + // play in VLC if set as default player (Preferences / Playback / Play in VLC) if (this.state.saved.prefs.openExternalPlayer) { dispatch('openExternalPlayer') @@ -250,7 +252,6 @@ module.exports = class PlaybackController { } // otherwise, play the video - state.window.title = torrentSummary.files[state.playing.fileIndex].name this.update() ipcRenderer.send('onPlayerOpen') From 0589963eed5ae5903502e1067c3e9952eecf7245 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sun, 21 Aug 2016 16:54:59 -0700 Subject: [PATCH 4/5] code style --- src/renderer/controllers/subtitles-controller.js | 4 +++- src/renderer/lib/migrations.js | 8 ++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/renderer/controllers/subtitles-controller.js b/src/renderer/controllers/subtitles-controller.js index cb63d7ce..d67e433e 100644 --- a/src/renderer/controllers/subtitles-controller.js +++ b/src/renderer/controllers/subtitles-controller.js @@ -3,6 +3,8 @@ const fs = require('fs-extra') const path = require('path') const parallel = require('run-parallel') +const remote = electron.remote + const {dispatch} = require('../lib/dispatcher') module.exports = class SubtitlesController { @@ -11,7 +13,7 @@ module.exports = class SubtitlesController { } openSubtitles () { - electron.remote.dialog.showOpenDialog({ + remote.dialog.showOpenDialog({ title: 'Select a subtitles file.', filters: [ { name: 'Subtitles', extensions: ['vtt', 'srt'] } ], properties: [ 'openFile' ] diff --git a/src/renderer/lib/migrations.js b/src/renderer/lib/migrations.js index 3b9bd03b..fe29f413 100644 --- a/src/renderer/lib/migrations.js +++ b/src/renderer/lib/migrations.js @@ -38,8 +38,6 @@ function run (state) { } function migrate_0_7_0 (saved) { - console.log('migrate to 0.7.0') - var fs = require('fs-extra') var path = require('path') @@ -54,7 +52,6 @@ function migrate_0_7_0 (saved) { // * Finally, now we're getting rid of torrentPath altogether var src, dst if (ts.torrentPath) { - console.log('replacing torrentPath %s', ts.torrentPath) if (path.isAbsolute(ts.torrentPath) || ts.torrentPath.startsWith('..')) { src = ts.torrentPath } else { @@ -71,7 +68,6 @@ function migrate_0_7_0 (saved) { // Replace posterURL with posterFileName if (ts.posterURL) { - console.log('replacing posterURL %s', ts.posterURL) var extension = path.extname(ts.posterURL) src = path.isAbsolute(ts.posterURL) ? ts.posterURL @@ -95,7 +91,7 @@ function migrate_0_7_0 (saved) { } function migrate_0_7_2 (saved) { - if (!saved.prefs) { + if (saved.prefs == null) { saved.prefs = { downloadPath: config.DEFAULT_DOWNLOAD_PATH } @@ -103,7 +99,7 @@ function migrate_0_7_2 (saved) { } function migrate_0_11_0 (saved) { - if (saved.prefs.isFileHandler === undefined) { + if (saved.prefs.isFileHandler == null) { // The app used to make itself the default torrent file handler automatically saved.prefs.isFileHandler = true } From bf464de16f44ab9f5b62de90b1b004503032ba56 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sun, 21 Aug 2016 16:55:16 -0700 Subject: [PATCH 5/5] remove extra console.error This prevents all errors from being logged twice --- src/renderer/lib/telemetry.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/renderer/lib/telemetry.js b/src/renderer/lib/telemetry.js index 3d80ff4f..a53cadc4 100644 --- a/src/renderer/lib/telemetry.js +++ b/src/renderer/lib/telemetry.js @@ -118,8 +118,6 @@ function getApproxNumTorrents (state) { // An uncaught error happened in the main process or in one of the windows function logUncaughtError (procName, err) { - console.error('uncaught error', procName, err) - // Not initialized yet? Ignore. // Hopefully uncaught errors immediately on startup are fixed in dev if (!telemetry) return