Added a way to save the current playqueue in a playlist

This commit is contained in:
emeric
2022-07-02 15:39:50 +02:00
parent 27cad7ba0e
commit 1c7ef90108
12 changed files with 314 additions and 62 deletions
+3 -3
View File
@@ -32,9 +32,9 @@
${value class="form-control"}
</div>
</form>
<div class="modal-footer">
${add-btn class="btn btn-primary me-1"}${cancel-btn class="btn btn-secondary"}
</div>
</div>
<div class="modal-footer">
${add-btn class="btn btn-primary me-1"}${cancel-btn class="btn btn-secondary"}
</div>
</div>
</div>
+6 -7
View File
@@ -26,6 +26,10 @@
<message id="Lms.passwords-dont-match">Passwords don't match</message>
<message id="Lms.quit-other-session">Another session has been open. Reopen this one?</message>
<message id="Lms.save">Save</message>
<message id="Lms.track-count">
<plural case="0">{1} track</plural>
<plural case="1">{1} tracks</plural>
</message>
<message id="Lms.user">User</message>
<!--Errors-->
@@ -157,12 +161,6 @@
<message id="Lms.Explore.Release.copyright">Copyright</message>
<message id="Lms.Explore.Release.disc">Disc {1}</message>
<!--Explore:TrackList-->
<message id="Lms.Explore.TrackList.track-count">
<plural case="0">{1} track</plural>
<plural case="1">{1} tracks</plural>
</message>
<!--Explore:TrackLists-->
<message id="Lms.Explore.TrackLists.del-tracklist-confirm">Delete playlist?</message>
@@ -174,7 +172,7 @@
<!--Playqueue-->
<message id="Lms.PlayQueue.clear">Clear</message>
<message id="Lms.PlayQueue.nb-tracks">{1} tracks</message>
<message id="Lms.PlayQueue.create-tracklist">Create new playlist</message>
<message id="Lms.PlayQueue.nb-tracks-added">
<plural case="0">Added {1} track</plural>
<plural case="1">Added {1} tracks</plural>
@@ -183,6 +181,7 @@
<message id="Lms.PlayQueue.playqueue-full">Play Queue full!</message>
<message id="Lms.PlayQueue.radio-mode">Radio mode</message>
<message id="Lms.PlayQueue.repeat">Repeat</message>
<message id="Lms.PlayQueue.replace-tracklist">Replace existing playlist</message>
<message id="Lms.PlayQueue.shuffle">Shuffle</message>
<!--PlayHistory-->
+6 -8
View File
@@ -26,6 +26,10 @@
<message id="Lms.passwords-dont-match">Les mots de passe ne correspondent pas</message>
<message id="Lms.quit-other-session">Une autre session a été ouverte. Reouvrir celle-ci ?</message>
<message id="Lms.save">Sauvegarder</message>
<message id="Lms.track-count">
<plural case="0">{1} piste</plural>
<plural case="1">{1} pistes</plural>
</message>
<message id="Lms.user">Utilisateur</message>
<!--Errors-->
@@ -157,12 +161,6 @@
<message id="Lms.Explore.Release.copyright">Copyright</message>
<message id="Lms.Explore.Release.disc">Disque {1}</message>
<!--Explore:TrackList-->
<message id="Lms.Explore.TrackList.track-count">
<plural case="0">{1} piste</plural>
<plural case="1">{1} pistes</plural>
</message>
<!--Explore:TrackLists-->
<message id="Lms.Explore.TrackLists.del-tracklist-confirm">Supprimer la liste de lecture ?</message>
@@ -174,7 +172,7 @@
<!--Playqueue-->
<message id="Lms.PlayQueue.clear">Effacer</message>
<message id="Lms.PlayQueue.nb-tracks">{1} pistes</message>
<message id="Lms.PlayQueue.create-tracklist">Créer une nouvelle liste de lecture</message>
<message id="Lms.PlayQueue.nb-tracks-added">
<plural case="0">{1} piste ajoutée</plural>
<plural case="1">{1} pistes ajoutées</plural>
@@ -183,12 +181,12 @@
<message id="Lms.PlayQueue.playqueue-full">Liste de lecture pleine!</message>
<message id="Lms.PlayQueue.radio-mode">Mode radio</message>
<message id="Lms.PlayQueue.repeat">Repéter</message>
<message id="Lms.PlayQueue.replace-tracklist">Remplacer une liste de lecture existante</message>
<message id="Lms.PlayQueue.shuffle">Mélanger</message>
<!--PlayHistory-->
<message id="Lms.PlayHistory.playhistory">Historique de lecture</message>
<!--Settings-->
<message id="Lms.Settings.audio">Audio</message>
<message id="Lms.Settings.audio-settings-are-local">Ces paramètres audio sont locaux à votre navigateur !</message>
+12 -8
View File
@@ -26,6 +26,10 @@
<message id="Lms.passwords-dont-match">Le password non corrispondono</message>
<message id="Lms.quit-other-session">Un'altra sessione è stata aperta. Vuoi riaprire questa?</message>
<message id="Lms.save">Salva</message>
<message id="Lms.user">Utente</message>
<!--Errors-->
@@ -46,6 +50,7 @@
<message id="Lms.Admin.Database.menu-database"><i class="fa fa-fw fa-database" aria-hidden="true"></i> Raccolta musicale</message>
<message id="Lms.Admin.Database.never">Mai</message>
<message id="Lms.Admin.Database.path">Cartella dei file multimediali</message>
<message id="Lms.Admin.Database.recommendation-engine-type">Modalità di raccomandazione brani consigliati</message>
<message id="Lms.Admin.Database.recommendation-engine-type.clusters">Basata sui tag</message>
<message id="Lms.Admin.Database.recommendation-engine-type.features">Basata sull'analisi acustica</message>
@@ -156,12 +161,6 @@
<message id="Lms.Explore.Release.copyright">Copyright</message>
<message id="Lms.Explore.Release.disc">Disco {1}</message>
<!--Explore:TrackList-->
<!--Explore:TrackLists-->
@@ -173,7 +172,7 @@
<!--Playqueue-->
<message id="Lms.PlayQueue.clear">Cancella</message>
<message id="Lms.PlayQueue.nb-tracks">{1} tracce</message>
<message id="Lms.PlayQueue.nb-tracks-added">
<plural case="0">Aggiunta {1} traccia</plural>
<plural case="1">Aggiunte {1} tracce</plural>
@@ -182,12 +181,12 @@
<message id="Lms.PlayQueue.playqueue-full">Coda di riproduzione piena!</message>
<message id="Lms.PlayQueue.radio-mode">Modalità radio</message>
<message id="Lms.PlayQueue.repeat">Ripeti</message>
<message id="Lms.PlayQueue.shuffle">Mischia</message>
<!--PlayHistory-->
<message id="Lms.PlayHistory.playhistory">Storico riproduzione</message>
<!--Settings-->
<message id="Lms.Settings.audio">Audio</message>
<message id="Lms.Settings.audio-settings-are-local">Queste impostazioni sono salvate localmente su questo dispositivo!</message>
@@ -203,6 +202,11 @@
<message id="Lms.Settings.replaygain-mode.release">Album</message>
<message id="Lms.Settings.replaygain-preamp">Preamplificazione ReplayGain</message>
<message id="Lms.Settings.replaygain-preamp-no-rg-info">Preamplificazione ReplayGain (se non è disponibile nessuna informazione)</message>
<message id="Lms.Settings.subsonic-artist-list-mode">Modalità di elencazione artisti</message>
<message id="Lms.Settings.subsonic-artist-list-mode.all-artists">Tutti gli artisti</message>
<message id="Lms.Settings.subsonic-artist-list-mode.release-artists">Artisti album</message>
+11 -7
View File
@@ -26,6 +26,10 @@
<message id="Lms.passwords-dont-match">密码不匹配</message>
<message id="Lms.quit-other-session">另一个会话已打开,重新打开这一个?</message>
<message id="Lms.save">保存</message>
<message id="Lms.user">用户</message>
<!--Errors-->
@@ -157,12 +161,6 @@
<message id="Lms.Explore.Release.copyright">版权所有</message>
<message id="Lms.Explore.Release.disc">唱片 {1}</message>
<!--Explore:TrackList-->
<!--Explore:TrackLists-->
@@ -174,7 +172,7 @@
<!--Playqueue-->
<message id="Lms.PlayQueue.clear">清除</message>
<message id="Lms.PlayQueue.nb-tracks">{1} 音轨</message>
<message id="Lms.PlayQueue.nb-tracks-added">
<plural case="0">添加 {1} 音轨</plural>
<plural case="1">已添加 {1} 音轨</plural>
@@ -183,6 +181,7 @@
<message id="Lms.PlayQueue.playqueue-full">播放队列已满!</message>
<message id="Lms.PlayQueue.radio-mode">广播模式</message>
<message id="Lms.PlayQueue.repeat">循环播放</message>
<message id="Lms.PlayQueue.shuffle">随机播放</message>
<!--PlayHistory-->
@@ -203,6 +202,11 @@
<message id="Lms.Settings.replaygain-mode.release">专辑</message>
<message id="Lms.Settings.replaygain-preamp">ReplayGain 放大器</message>
<message id="Lms.Settings.replaygain-preamp-no-rg-info">ReplayGain 放大器 (如果没有信息)</message>
<message id="Lms.Settings.subsonic-artist-list-mode">歌手列表模式</message>
<message id="Lms.Settings.subsonic-artist-list-mode.all-artists">所有歌手</message>
<message id="Lms.Settings.subsonic-artist-list-mode.release-artists">专辑歌手</message>
+56 -7
View File
@@ -6,22 +6,26 @@
<message id="Lms.PlayQueue.template.shuffle-btn"><i class="fa fa-fw fa-random"></i></message>
<message id="Lms.PlayQueue.template.repeat-btn"><i class="fa fa-fw fa-repeat"></i></message>
<message id="Lms.PlayQueue.template.radio-btn"><i class="fa fa-fw fa-rss"></i></message>
<message id="Lms.PlayQueue.template.save-btn"><i class="fa fa-fw fa-save"></i></message>
<message id="Lms.PlayQueue.template">
<div class="mb-3">
<div class="d-inline-block me-2" title="${tr:Lms.PlayQueue.clear}">
${clear-btn class="btn btn-secondary"}
</div>
<div class="d-inline-block me-2" title="${tr:Lms.PlayQueue.shuffle}">
${shuffle-btn class="btn btn-secondary"}
</div>
<div class="btn-group me-2">
${repeat-btn class="btn-check"}
<label class="btn btn-outline-info" title="${tr:Lms.PlayQueue.repeat}" for="${id:repeat-btn}">${tr:Lms.PlayQueue.template.repeat-btn}</label>
${radio-btn class="btn-check"}
<label class="btn btn-outline-info" title="${tr:Lms.PlayQueue.radio-mode}" for="${id:radio-btn}">${tr:Lms.PlayQueue.template.radio-btn}</label>
</div>
${nb-tracks}
<div class="d-inline-block me-2" title="${tr:Lms.save}">
${save-btn class="btn btn-secondary"}
</div>
<div class="d-inline-block me-2" title="${tr:Lms.PlayQueue.shuffle}">
${shuffle-btn class="btn btn-secondary"}
</div>
<div class="d-inline-block me-2" title="${tr:Lms.PlayQueue.clear}">
${clear-btn class="btn btn-warning"}
</div>
${track-count}
</div>
${entries}
</message>
@@ -56,4 +60,49 @@
${artist}
</message>
<message id="Lms.PlayQueue.template.save-as-tracklist">
<div class="modal fade" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">${tr:Lms.save}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form>
<div class="mb-2">
<div class="form-check form-check-inline">
${create-tracklist-btn class="form-check-input" name="action-type"}
<label class="form-check-label" for="${id:create-tracklist-btn}">${tr:Lms.PlayQueue.create-tracklist}</label>
</div>
<div class="form-check form-check-inline">
${replace-tracklist-btn class="form-check-input" name="action-type"}
<label class="form-check-label" for="${id:replace-tracklist-btn}">${tr:Lms.PlayQueue.replace-tracklist}</label>
</div>
</div>
${contents}
</form>
</div>
<div class="modal-footer">
${save-btn class="btn btn-primary me-1"}${cancel-btn class="btn btn-secondary"}
</div>
</div>
</div>
</div>
</message>
<message id="Lms.PlayQueue.template.save-as-tracklist.create-tracklist">
${name class="form-control"}
<div class="invalid-feedback">
${name-info}
</div>
</message>
<message id="Lms.PlayQueue.template.save-as-tracklist.replace-tracklist">
${name class="form-control"}
<div class="invalid-feedback">
${name-info}
</div>
</message>
</messages>