diff --git a/src/components/itemContextMenu.js b/src/components/itemContextMenu.js index 434d29b32a..835d62f9b7 100644 --- a/src/components/itemContextMenu.js +++ b/src/components/itemContextMenu.js @@ -28,6 +28,14 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'appRouter', } } + if (playbackManager.getCurrentPlayer() !== null && options.stopPlayback) { + commands.push({ + name: globalize.translate('StopPlayback'), + id: 'stopPlayback', + icon: 'stop' + }); + } + if (playbackManager.canQueue(item)) { if (options.queue !== false) { commands.push({ @@ -44,13 +52,6 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'appRouter', icon: 'playlist_add' }); } - - //if (options.queueAllFromHere) { - // commands.push({ - // name: globalize.translate("QueueAllFromHere"), - // id: "queueallfromhere" - // }); - //} } if (item.IsFolder || item.Type === 'MusicArtist' || item.Type === 'MusicGenre') { @@ -431,6 +432,9 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'appRouter', play(item, false, true, true); getResolveFunction(resolve, id)(); break; + case 'stopPlayback': + playbackManager.stop(); + break; case 'record': require(['recordingCreator'], function (recordingCreator) { recordingCreator.show(itemId, serverId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id)); diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index b3193f7505..33d781687b 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -3709,10 +3709,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla return textStreamUrl; }; - PlaybackManager.prototype.stop = function (player) { - - player = player || this._currentPlayer; - + PlaybackManager.prototype.stop = function (player = this._currentPlayer) { if (player) { if (enableLocalPlaylistManagement(player)) { diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index e23051870b..fcc7a7fe42 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -185,9 +185,11 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL if (autoFocusContextButton) { contextButton.focus(); } + let stopPlayback = false || layoutManager.mobile; var options = { play: false, queue: false, + stopPlayback: stopPlayback, openAlbum: false, positionTo: contextButton }; diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 7df61c4c5d..02fb652bf7 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1563,5 +1563,6 @@ "EnableBlurhashHelp": "Images that are still being loaded will be displayed with a blurred placeholder", "ButtonSyncPlay": "SyncPlay", "ButtonCast": "Cast", - "ButtonPlayer": "Player" + "ButtonPlayer": "Player", + "StopPlayback": "Stop playback" } diff --git a/src/strings/es.json b/src/strings/es.json index 84f01c94e6..b86c958b55 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -1573,5 +1573,6 @@ "LabelRepositoryUrl": "URL del repositorio", "HeaderNewRepository": "Nuevo repositorio", "MessageNoRepositories": "Sin repositorios.", - "Writers": "Escritores" + "Writers": "Escritores", + "StopPlayback": "Detener la reproducción" }