Skip to content

Commit 875d035

Browse files
feat: add support for SMPlayer (#154)
* add support for SMPlayer Add support for SMPlayer with --smplayer . SMPlayer is quite popular player which is user-friendly wrapper for MPV and MPlayer. * Fix standard + add close-at-end flag * Revert commit of package-lock Co-authored-by: Alex <alxmorais8@msn.com>
1 parent c6edeb0 commit 875d035

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

bin/cmd.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ const argv = minimist(process.argv.slice(2), {
6262
'mpv',
6363
'vlc',
6464
'xbmc',
65+
'smplayer',
6566

6667
// Options (simple)
6768
'help',
@@ -131,6 +132,7 @@ let IINA_EXEC = '/Applications/IINA.app/Contents/MacOS/iina-cli --keep-running'
131132
let MPLAYER_EXEC = 'mplayer -really-quiet -noidx -loop 0'
132133
let MPV_EXEC = 'mpv --really-quiet --loop=no'
133134
let OMX_EXEC = `lxterminal -e omxplayer -r --timeout 60 --no-ghost-box --align center -o ${typeof argv.omx === 'string' ? argv.omx : 'hdmi'}`
135+
let SMPLAYER_EXEC = 'smplayer -close-at-end'
134136

135137
let subtitlesServer
136138
if (argv.subtitles) {
@@ -140,6 +142,7 @@ if (argv.subtitles) {
140142
MPLAYER_EXEC += ` -sub ${subtitles}`
141143
MPV_EXEC += ` --sub-file=${subtitles}`
142144
OMX_EXEC += ` --subtitles ${subtitles}`
145+
SMPLAYER_EXEC += ` -sub ${subtitles}`
143146

144147
subtitlesServer = http.createServer(ecstatic({
145148
root: path.dirname(argv.subtitles),
@@ -156,6 +159,7 @@ if (!argv['not-on-top']) {
156159
VLC_ARGS += ' --video-on-top'
157160
MPLAYER_EXEC += ' -ontop'
158161
MPV_EXEC += ' --ontop'
162+
SMPLAYER_EXEC += ' -ontop'
159163
}
160164

161165
function checkPermission (filename) {
@@ -196,7 +200,9 @@ const playerName = argv.airplay !== false
196200
? 'VLC'
197201
: argv.xbmc !== false
198202
? 'XBMC'
199-
: null
203+
: argv.smplayer !== false
204+
? 'SMPLAYER'
205+
: null
200206

201207
const command = argv._[0]
202208

@@ -250,7 +256,7 @@ function processInputs (inputs) {
250256
// These arguments do not make sense when downloading multiple torrents, or
251257
// seeding multiple files/folders.
252258
const invalidArguments = [
253-
'airplay', 'chromecast', 'dlna', 'mplayer', 'mpv', 'omx', 'vlc', 'iina', 'xbmc',
259+
'airplay', 'chromecast', 'dlna', 'mplayer', 'mpv', 'omx', 'vlc', 'iina', 'xbmc', 'smplayer',
254260
'stdout', 'select', 'subtitles'
255261
]
256262

@@ -305,6 +311,7 @@ function runHelp () {
305311
--omx [jack] omx [default: hdmi]
306312
--vlc VLC
307313
--xbmc XBMC
314+
--smplayer SMPlayer
308315
309316
Options (simple):
310317
-o, --out [path] set download destination [default: current directory]
@@ -540,6 +547,8 @@ function runDownload (torrentId) {
540547
openPlayer(`${MPV_EXEC} "${href}"`)
541548
} else if (argv.omx) {
542549
openPlayer(`${OMX_EXEC} "${href}"`)
550+
} else if (argv.smplayer) {
551+
openPlayer(`${SMPLAYER_EXEC} "${href}"`)
543552
}
544553

545554
function openPlayer (cmd) {

0 commit comments

Comments
 (0)