diff --git a/js/app/controllers/maincontroller.js b/js/app/controllers/maincontroller.js index f7319e73c..5636e6280 100644 --- a/js/app/controllers/maincontroller.js +++ b/js/app/controllers/maincontroller.js @@ -263,7 +263,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, }); } - $scope.startScanning = function(fileIds /*optional*/) { + $scope.startScanning = function(fileIds = null) { if (fileIds) { filesToScan = fileIds; previouslyScannedCount = 0; @@ -356,14 +356,11 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, return offset; } - $scope.scrollToItem = function(itemId, animationTime /* optional */) { + $scope.scrollToItem = function(itemId, animationTime = 500) { if (itemId) { let container = OCA.Music.Utils.getScrollContainer(); let element = $('#' + itemId); if (container && element) { - if (animationTime === undefined) { - animationTime = 500; - } container.scrollToElement(element, scrollOffset(), animationTime); } } @@ -376,12 +373,12 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Navigate to a view selected from the navigation bar let navigationDestination = null; let afterNavigationCallback = null; - $scope.navigateTo = function(destination, callback /*optional*/) { + $scope.navigateTo = function(destination, callback = null) { let curView = $rootScope.currentView; if (curView != destination) { $rootScope.currentView = null; navigationDestination = destination; - afterNavigationCallback = callback || null; + afterNavigationCallback = callback; $rootScope.loading = true; // Deactivate the current view. The view emits 'viewDeactivated' once that is done. // In the abnormal special case of no active view, activate the new view immediately. @@ -402,10 +399,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Compact/normal layout of the Albums view $scope.albumsCompactLayout = (localStorage.getItem('oc_music_albums_compact') === 'true'); - $scope.toggleAlbumsCompactLayout = function(useCompact /*optional, invert current value if omitted */) { - if (typeof useCompact === 'undefined') { - useCompact = !$scope.albumsCompactLayout; - } + $scope.toggleAlbumsCompactLayout = function(useCompact = !$scope.albumsCompactLayout) { $scope.albumsCompactLayout = useCompact; $('#albums').toggleClass('compact', useCompact); $rootScope.$emit('albumsLayoutChanged'); @@ -418,10 +412,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Flat/tree layout of the Folders view $scope.foldersFlatLayout = (localStorage.getItem('oc_music_folders_flat') === 'true'); - $scope.toggleFoldersFlatLayout = function(useFlat /*optional, invert current value if omitted */) { - if (typeof useFlat === 'undefined') { - useFlat = !$scope.foldersFlatLayout; - } + $scope.toggleFoldersFlatLayout = function(useFlat = !$scope.foldersFlatLayout) { $scope.foldersFlatLayout = useFlat; $rootScope.$emit('foldersLayoutChanged'); diff --git a/js/app/controllers/playercontroller.js b/js/app/controllers/playercontroller.js index 5ac68c9d5..3d0fbfafe 100644 --- a/js/app/controllers/playercontroller.js +++ b/js/app/controllers/playercontroller.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ import radioIconPath from '../../../img/radio-file.svg'; @@ -208,8 +208,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula } } - function getRadioTitle(radioTrack, failCounter /*optional, internal*/) { - failCounter = failCounter || 0; + function getRadioTitle(radioTrack, failCounter = 0 /*internal*/) { abortRadioTitleFetch = $q.defer(); const config = {timeout: abortRadioTitleFetch.promise}; const metaType = radioTrack.metadata?.type; // request the same metadata type as previously got (if any) @@ -259,7 +258,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula return null; } - function setCurrentTrack(playlistEntry, startOffset /*optional*/, gapless /*optional*/) { + function setCurrentTrack(playlistEntry, startOffset = 0, gapless = false) { let track = playlistEntry ? playlistEntry.track : null; if (track !== null) { @@ -276,7 +275,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $scope.shiftHeldDown = false; } - function playCurrentTrack(startOffset /*optional*/) { + function playCurrentTrack(startOffset = 0) { // the playback may have been stopped and currentTrack vanished during the debounce time if ($scope.currentTrack) { if ($scope.currentTrack.type === 'radio') { @@ -318,7 +317,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula */ let debouncedPlayCurrentTrack = _.debounce(playCurrentTrack, 300); - function playTrack(track, startOffset /*optional*/, gapless /*optional*/) { + function playTrack(track, startOffset = 0, gapless = false) { $scope.currentTrack = track; // Don't indicate support for seeking before we actually know its status for the new track. @@ -509,7 +508,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $timeout(() => $scope.playPauseContextMenuVisible = false); }); - $scope.next = function(startOffset /*optional*/, gapless /*optional*/) { + $scope.next = function(startOffset = 0, gapless = false) { let entry = playlistService.jumpToNextTrack(); // For ordinary tracks, skip the tracks with unsupported MIME types. @@ -613,7 +612,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $scope.seekForward = $scope.player.seekForward; - playlistService.subscribe('play', function(_event, _playingView /*optional, ignored*/, startOffset /*optional*/) { + playlistService.subscribe('play', function(_event, _playingView = null, startOffset = 0) { $scope.next(startOffset); /* fetch track and start playing*/ }); diff --git a/js/app/controllers/views/alltracksviewcontroller.js b/js/app/controllers/views/alltracksviewcontroller.js index 96f0e4823..31dbc97ac 100644 --- a/js/app/controllers/views/alltracksviewcontroller.js +++ b/js/app/controllers/views/alltracksviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2018 - 2022 + * @copyright Pauli Järvinen 2018 - 2023 */ @@ -35,7 +35,7 @@ angular.module('Music').controller('AllTracksViewController', [ _.each(_unsubFuncs, function(func) { func(); }); }); - function play(startIndex /*optional*/) { + function play(startIndex = 0) { playlistService.setPlaylist('alltracks', _tracks, startIndex); playlistService.publish('play'); } diff --git a/js/app/controllers/views/foldersviewcontroller.js b/js/app/controllers/views/foldersviewcontroller.js index d846c8f84..3121351a3 100644 --- a/js/app/controllers/views/foldersviewcontroller.js +++ b/js/app/controllers/views/foldersviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2019 - 2022 + * @copyright Pauli Järvinen 2019 - 2023 */ @@ -30,10 +30,10 @@ angular.module('Music').controller('FoldersViewController', [ unsubFuncs.push( $rootScope.$on(event, handler) ); } - function playPlaylist(listId, tracks, startFromTrackId /*optional*/) { + function playPlaylist(listId, tracks, startFromTrackId = undefined) { let startIndex = null; if (startFromTrackId !== undefined) { - startIndex = _.findIndex(tracks, function(i) {return i.track.id == startFromTrackId;}); + startIndex = _.findIndex(tracks, (i) => i.track.id == startFromTrackId); } playlistService.setPlaylist(listId, tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/genresviewcontroller.js b/js/app/controllers/views/genresviewcontroller.js index aacca3590..0de944dc4 100644 --- a/js/app/controllers/views/genresviewcontroller.js +++ b/js/app/controllers/views/genresviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2020, 2021 + * @copyright Pauli Järvinen 2020 - 2023 */ @@ -34,10 +34,10 @@ angular.module('Music').controller('GenresViewController', [ $scope.$parent.filesWithUnscannedGenre = null; }; - function playPlaylist(listId, tracks, startFromTrackId /*optional*/) { + function playPlaylist(listId, tracks, startFromTrackId = undefined) { let startIndex = null; if (startFromTrackId !== undefined) { - startIndex = _.findIndex(tracks, function(i) {return i.track.id == startFromTrackId;}); + startIndex = _.findIndex(tracks, (i) => i.track.id == startFromTrackId); } playlistService.setPlaylist(listId, tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/playlistviewcontroller.js b/js/app/controllers/views/playlistviewcontroller.js index 5a2b76511..ed379f75a 100644 --- a/js/app/controllers/views/playlistviewcontroller.js +++ b/js/app/controllers/views/playlistviewcontroller.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2021 + * @copyright Pauli Järvinen 2017 - 2023 */ @@ -58,7 +58,7 @@ angular.module('Music').controller('PlaylistViewController', [ }); }; - function play(startIndex /*optional*/) { + function play(startIndex = 0) { let id = 'playlist-' + $scope.playlist.id; playlistService.setPlaylist(id, $scope.tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/podcastsviewcontroller.js b/js/app/controllers/views/podcastsviewcontroller.js index a68343acb..1d330f76a 100644 --- a/js/app/controllers/views/podcastsviewcontroller.js +++ b/js/app/controllers/views/podcastsviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2021, 2022 + * @copyright Pauli Järvinen 2021 - 2023 */ angular.module('Music').controller('PodcastsViewController', [ @@ -122,14 +122,14 @@ angular.module('Music').controller('PodcastsViewController', [ updateHighlight(playlistId); }); - subscribe('scrollToPodcastEpisode', function(_event, episodeId, animationTime /* optional */) { + subscribe('scrollToPodcastEpisode', function(_event, episodeId, animationTime = 500) { let episode = libraryService.getPodcastEpisode(episodeId); if (episode) { $scope.$parent.scrollToItem('podcast-channel-' + episode.channel.id, animationTime); } }); - subscribe('scrollToPodcastChannel', function(_event, channelId, animationTime /* optional */) { + subscribe('scrollToPodcastChannel', function(_event, channelId, animationTime = 500) { $scope.$parent.scrollToItem('podcast-channel-' + channelId, animationTime); }); diff --git a/js/app/controllers/views/radioviewcontroller.js b/js/app/controllers/views/radioviewcontroller.js index 9d4ab6f33..bd5c665a4 100644 --- a/js/app/controllers/views/radioviewcontroller.js +++ b/js/app/controllers/views/radioviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2020, 2021 + * @copyright Pauli Järvinen 2020 - 2023 */ @@ -75,7 +75,7 @@ angular.module('Music').controller('RadioViewController', [ ); } - function play(startIndex /*optional*/) { + function play(startIndex = 0) { playlistService.setPlaylist('radio', $scope.stations, startIndex); playlistService.publish('play'); } diff --git a/js/app/directives/albumart.js b/js/app/directives/albumart.js index 644c92385..c0b6fa258 100644 --- a/js/app/directives/albumart.js +++ b/js/app/directives/albumart.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright 2013 Morris Jobke - * @copyright 2016 - 2022 Pauli Järvinen + * @copyright 2016 - 2023 Pauli Järvinen * */ @@ -21,12 +21,12 @@ angular.module('Music').directive('albumart', [function() { element.css('background-image', 'url(' + imageUrl + ')'); } - function setPlaceholder(element, text, seed /*optional*/) { + function setPlaceholder(element, text, seed = null) { if (text) { // remove background image element.css('background-image', ''); // add placeholder stuff - element.imageplaceholder(seed || text, text); + element.imageplaceholder(seed ?? text, text); // remove inlined size-related style properties set by imageplaceholder() to allow // dynamic changing between mobile and desktop styles when window size changes element.css('line-height', ''); diff --git a/js/app/directives/inviewobserver.js b/js/app/directives/inviewobserver.js index 0189770fa..bbfde0619 100644 --- a/js/app/directives/inviewobserver.js +++ b/js/app/directives/inviewobserver.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright 2019 - 2022 Pauli Järvinen + * @copyright 2019 - 2023 Pauli Järvinen * */ @@ -117,7 +117,7 @@ function($rootScope, $timeout, inViewService) { /** * Initial setup of the in-view-port statuses of the available instances */ - function initInViewRange(skipDelays/*optional*/) { + function initInViewRange(skipDelays = false) { let length = _instances.length; let i; @@ -204,7 +204,7 @@ function($rootScope, $timeout, inViewService) { /** * Update in-view-port status of the given instance */ - function updateInViewStatus(inst, skipDelays/*optional*/) { + function updateInViewStatus(inst, skipDelays = false) { skipDelays = skipDelays || false; let wasInViewPort = inst.inViewPort; @@ -285,7 +285,7 @@ function($rootScope, $timeout, inViewService) { invalidateInViewRange(); } - function updateStatusForAll(skipDelays/*optional*/) { + function updateStatusForAll(skipDelays = false) { _(_instances).each(function(inst) { updateInViewStatus(inst, skipDelays); }); diff --git a/js/app/directives/tracklist.js b/js/app/directives/tracklist.js index edcddbd97..b75950b7f 100755 --- a/js/app/directives/tracklist.js +++ b/js/app/directives/tracklist.js @@ -7,7 +7,7 @@ * @author Moritz Meißelbach * @author Pauli Järvinen * @copyright 2017 Moritz Meißelbach - * @copyright 2018 - 2021 Pauli Järvinen + * @copyright 2018 - 2023 Pauli Järvinen * */ @@ -151,7 +151,7 @@ function ($rootScope, $interpolate, gettextCatalog) { * @param string className (optional) * @returns {HTMLLIElement} */ - function getTrackNode(track, index, className) { + function getTrackNode(track, index, className = null) { let listItem = document.createElement('li'); let listItemContent = document.createElement('div'); diff --git a/js/app/services/inviewservice.js b/js/app/services/inviewservice.js index 895ac828a..1e0c9f843 100644 --- a/js/app/services/inviewservice.js +++ b/js/app/services/inviewservice.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright 2019 Pauli Järvinen + * @copyright 2019 - 2023 Pauli Järvinen * */ @@ -38,11 +38,8 @@ angular.module('Music').service('inViewService', ['$rootScope', function($rootSc * @param int topMargin Optional top extension in pixels (use negative value for reduction) * @param int bottomMargin Optional bottom extension in pixels (use negative value for reduction) */ - isElementInViewPort: function(el, topMargin/*optional*/, bottomMargin/*optional*/) { + isElementInViewPort: function(el, topMargin = 0, bottomMargin = 0) { if (el) { - topMargin = topMargin || 0; - bottomMargin = bottomMargin || 0; - if (dirty) { updateHeights(); } diff --git a/js/app/services/libraryservice.js b/js/app/services/libraryservice.js index 80e24e9e0..d63e6effd 100644 --- a/js/app/services/libraryservice.js +++ b/js/app/services/libraryservice.js @@ -220,9 +220,7 @@ angular.module('Music').service('libraryService', [function() { }); } - function search(container, fields, query, maxResults/*optional*/) { - maxResults = maxResults || Infinity; - + function search(container, fields, query, maxResults) { query = foldString(query); // In case the query contains many words separated with whitespace, each part // has to be found but the whitespace is disregarded. @@ -555,41 +553,41 @@ angular.module('Music').service('libraryService', [function() { podcastsLoaded: function() { return podcastChannels !== null; }, - searchTracks: function(query, maxResults/*optional*/) { + searchTracks: function(query, maxResults = Infinity) { return search(tracksIndex, ['title', 'artistName'], query, maxResults); }, - searchTracksInAlbums: function(query, maxResults/*optional*/) { + searchTracksInAlbums: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'album.name', 'album.year', 'album.artist.name'], query, maxResults); }, - searchTracksInFolders: function(query, maxResults/*optional*/) { + searchTracksInFolders: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'folder.path'], query, maxResults); }, - searchTracksInGenres: function(query, maxResults/*optional*/) { + searchTracksInGenres: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'genre.name'], query, maxResults); }, - searchTracksInPlaylist: function(playlistId, query, maxResults/*optional*/) { + searchTracksInPlaylist: function(playlistId, query, maxResults = Infinity) { let list = this.getPlaylist(playlistId) || []; list = _.map(list.tracks, 'track'); list = _.uniq(list); return search(list, ['title', 'artistName'], query, maxResults); }, - searchRadioStations: function(query, maxResults/*optional*/) { + searchRadioStations: function(query, maxResults = Infinity) { let stations = _.map(radioStations, 'track'); return search(stations, ['name', 'stream_url'], query, maxResults); }, - searchPodcasts: function(query, maxResults/*optional*/) { + searchPodcasts: function(query, maxResults = Infinity) { let episodes = _(podcastChannels).map('episodes').flatten().value(); return search(episodes, ['title', 'channel.title'], query, maxResults); }, diff --git a/js/app/services/playlistfileservice.js b/js/app/services/playlistfileservice.js index 472d8392f..17712800d 100644 --- a/js/app/services/playlistfileservice.js +++ b/js/app/services/playlistfileservice.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2021 + * @copyright Pauli Järvinen 2021 - 2023 */ angular.module('Music').service('playlistFileService', [ @@ -75,9 +75,9 @@ function($rootScope, $q, libraryService, gettextCatalog, Restangular) { // Export playlist to file exportPlaylist: function(playlist) { - function onFolderSelected(path, onCollision /*optional*/) { + function onFolderSelected(path, onCollision = 'abort') { playlist.busy = true; - let args = { path: path, oncollision: onCollision || 'abort' }; + let args = { path: path, oncollision: onCollision }; Restangular.one('playlists', playlist.id).all('export').post(args).then( function (result) { OC.Notification.showTemporary( @@ -103,9 +103,9 @@ function($rootScope, $q, libraryService, gettextCatalog, Restangular) { let deferred = $q.defer(); let name = gettextCatalog.getString('Internet radio'); - function onFolderSelected(path, onCollision /*optional*/) { + function onFolderSelected(path, onCollision = 'abort') { deferred.notify('started'); - let args = { path: path, name: name, oncollision: onCollision || 'abort' }; + let args = { path: path, name: name, oncollision: onCollision }; Restangular.all('radio/export').post(args).then( function (result) { OC.Notification.showTemporary( diff --git a/js/app/services/playlistservice.js b/js/app/services/playlistservice.js index 74b05b223..e982d0b12 100644 --- a/js/app/services/playlistservice.js +++ b/js/app/services/playlistservice.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ angular.module('Music').service('playlistService', ['$rootScope', function($rootScope) { @@ -139,9 +139,9 @@ angular.module('Music').service('playlistService', ['$rootScope', function($root return playlist[playOrder[playOrderIter + 1]]; } }, - setPlaylist: function(listId, pl, startIndex /*optional*/) { + setPlaylist: function(listId, pl, startIndex = null) { playlist = pl.slice(); // copy - startFromIndex = (startIndex === undefined) ? null : startIndex; + startFromIndex = startIndex; if (listId === playlistId) { // preserve the history if list wasn't actually changed dropFuturePlayOrder(); diff --git a/js/embedded/embeddedplayer.js b/js/embedded/embeddedplayer.js index f74551c9a..cf4f7511d 100644 --- a/js/embedded/embeddedplayer.js +++ b/js/embedded/embeddedplayer.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ import playIconPath from '../../img/play-big.svg'; @@ -571,7 +571,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL updateMediaSession(data); } - function loadFileInfoFromUrl(url, fallbackTitle, fileId, callback /*optional*/) { + function loadFileInfoFromUrl(url, fallbackTitle, fileId, callback = null) { $.get(url, function(data) { // discard results if the file has already changed by the time the // result arrives @@ -699,7 +699,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL * PUBLIC INTEFACE */ - this.show = function(playlistName /*optional*/) { + this.show = function(playlistName = null) { if (!musicControls) { createUi(); } @@ -717,7 +717,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL $('footer').css('display', 'none'); }; - this.playFile = function(url, mime, fileId, fileName, /*optional*/ shareToken) { + this.playFile = function(url, mime, fileId, fileName, shareToken = null) { currentFileId = fileId; let fallbackTitle = OCA.Music.Utils.titleFromFilename(fileName); // Set placeholders for track info fields, proper data is filled once received @@ -738,7 +738,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL }); }; - this.playExtUrl = function(url, caption, /*optional*/ shareToken) { + this.playExtUrl = function(url, caption, shareToken = null) { currentFileId = null; updateMetadata({ title: caption, diff --git a/js/embedded/main.js b/js/embedded/main.js index 852d573b3..b4e8f97ed 100644 --- a/js/embedded/main.js +++ b/js/embedded/main.js @@ -275,7 +275,7 @@ function initEmbeddedPlayer() { jumpToPlaylistFile(mPlaylist.currentFile()); } - function openPlaylistFile(onReadyCallback /*optional*/) { + function openPlaylistFile(onReadyCallback = null) { mPlayingListFile = true; let $file = mFileList.findFileEl(mCurrentFile.name); diff --git a/js/embedded/playlistfileservice.js b/js/embedded/playlistfileservice.js index 15bbeaa6e..31bbac024 100644 --- a/js/embedded/playlistfileservice.js +++ b/js/embedded/playlistfileservice.js @@ -16,7 +16,7 @@ OCA.Music.PlaylistFileService = class { static #fileId = null; static #data = null; - static readFile(fileId, onSuccess, onFail, shareToken /*optional*/) { + static readFile(fileId, onSuccess, onFail, shareToken = null) { if (fileId == this.#fileId && this.#data !== null) { onSuccess(this.#data); diff --git a/js/shared/gaplessplayer.js b/js/shared/gaplessplayer.js index 56782781f..84a0412b7 100644 --- a/js/shared/gaplessplayer.js +++ b/js/shared/gaplessplayer.js @@ -57,12 +57,12 @@ OCA.Music.GaplessPlayer = class { this.#currentPlayer.seek(ratio); } - seekForward(msecs /*optional*/) { + seekForward(msecs = 10000) { this.#currentPlayer.seekForward(msecs); } - seekBackward(msecs /*optional*/) { - this.#currentPlayer.seekForward(msecs); + seekBackward(msecs = 10000) { + this.#currentPlayer.seekBackward(msecs); } playPosition() { diff --git a/js/shared/playerwrapper.js b/js/shared/playerwrapper.js index 592529346..69120100b 100644 --- a/js/shared/playerwrapper.js +++ b/js/shared/playerwrapper.js @@ -292,9 +292,8 @@ OCA.Music.PlayerWrapper = class { } else if (msecs === 0 && this.#duration > 0) { // seeking to the beginning can be simulated even when seeking in general is not supported - let url = this.#url; let playing = this.#playing; - this.fromUrl(url); + this.fromUrl(this.#url); this.trigger('progress', 0); if (playing) { this.play(); @@ -310,13 +309,11 @@ OCA.Music.PlayerWrapper = class { this.seekMsecs(ratio * this.#duration); } - seekForward(msecs /*optional*/) { - msecs = msecs || 10000; + seekForward(msecs = 10000) { this.seekMsecs(this.#position + msecs); } - seekBackward(msecs /*optional*/) { - msecs = msecs || 10000; + seekBackward(msecs = 10000) { this.seekMsecs(this.#position - msecs); }