diff options
Diffstat (limited to 'playlist-utils.js')
-rw-r--r-- | playlist-utils.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/playlist-utils.js b/playlist-utils.js index 082a734..452b705 100644 --- a/playlist-utils.js +++ b/playlist-utils.js @@ -634,6 +634,25 @@ function getCorrespondingFileForItem(item, extension) { return null } +function getCorrespondingPlayableForFile(item) { + if (!(item && item.url)) { + return null + } + + if (isPlayable(item)) { + return item + } + + const parent = item[parentSymbol] + + if (!parent) { + return null + } + + const basename = path.basename(item.url, path.extname(item.url)) + return parent.items.find(item => isPlayable(item) && path.basename(item.url, path.extname(item.url)) === basename) +} + module.exports = { parentSymbol, updatePlaylistFormat, updateGroupFormat, updateTrackFormat, @@ -653,6 +672,7 @@ module.exports = { getNameWithoutTrackNumber, searchForItem, getCorrespondingFileForItem, + getCorrespondingPlayableForFile, isGroup, isTrack, isOpenable, isPlayable } |