mirror of
https://github.com/owntone/owntone-server.git
synced 2025-10-29 15:55:02 -04:00
[web] Add page to control outputs #1450
This commit is contained in:
parent
2ddaba6e77
commit
65b9323488
@ -128,6 +128,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{ separator: true },
|
{ separator: true },
|
||||||
{ key: 'navigation.settings', name: 'settings-webinterface' },
|
{ key: 'navigation.settings', name: 'settings-webinterface' },
|
||||||
|
{ key: 'navigation.outputs', name: 'outputs' },
|
||||||
{ action: this.openUpdateDialog, key: 'navigation.update-library' },
|
{ action: this.openUpdateDialog, key: 'navigation.update-library' },
|
||||||
{ key: 'navigation.about', name: 'about' }
|
{ key: 'navigation.about', name: 'about' }
|
||||||
]
|
]
|
||||||
|
|||||||
@ -130,6 +130,7 @@
|
|||||||
"files": "Dateien",
|
"files": "Dateien",
|
||||||
"genres": "Genres",
|
"genres": "Genres",
|
||||||
"music": "Musik",
|
"music": "Musik",
|
||||||
|
"outputs": "Ausgänge",
|
||||||
"playlists": "Playlisten",
|
"playlists": "Playlisten",
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
"radio": "Radio",
|
"radio": "Radio",
|
||||||
@ -137,7 +138,6 @@
|
|||||||
"settings": "Einstellungen",
|
"settings": "Einstellungen",
|
||||||
"spotify": "Spotify",
|
"spotify": "Spotify",
|
||||||
"stream": "HTTP-stream",
|
"stream": "HTTP-stream",
|
||||||
"stream-error": "HTTP-stream-Fehler: Stream kann nicht geladen werden oder wurde wg. Netzwerkfehler gestopt",
|
|
||||||
"update-library": "Bibliothek neu einlesen",
|
"update-library": "Bibliothek neu einlesen",
|
||||||
"volume": "Lautstärke"
|
"volume": "Lautstärke"
|
||||||
},
|
},
|
||||||
@ -213,6 +213,9 @@
|
|||||||
"spotify": "Spotify"
|
"spotify": "Spotify"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outputs": {
|
||||||
|
"title": "Ausgänge"
|
||||||
|
},
|
||||||
"player": {
|
"player": {
|
||||||
"info": "Tracks durch Auswählen aus der Bibliothek anfügen",
|
"info": "Tracks durch Auswählen aus der Bibliothek anfügen",
|
||||||
"time": "Live|{time}|{time}",
|
"time": "Live|{time}|{time}",
|
||||||
|
|||||||
@ -130,6 +130,7 @@
|
|||||||
"files": "Files",
|
"files": "Files",
|
||||||
"genres": "Genres",
|
"genres": "Genres",
|
||||||
"music": "Music",
|
"music": "Music",
|
||||||
|
"outputs": "Outputs",
|
||||||
"playlists": "Playlists",
|
"playlists": "Playlists",
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
"radio": "Radio",
|
"radio": "Radio",
|
||||||
@ -137,7 +138,6 @@
|
|||||||
"settings": "Settings",
|
"settings": "Settings",
|
||||||
"spotify": "Spotify",
|
"spotify": "Spotify",
|
||||||
"stream": "HTTP stream",
|
"stream": "HTTP stream",
|
||||||
"stream-error": "HTTP stream error: failed to load stream or stopped loading due to network problem",
|
|
||||||
"update-library": "Update Library",
|
"update-library": "Update Library",
|
||||||
"volume": "Volume"
|
"volume": "Volume"
|
||||||
},
|
},
|
||||||
@ -213,6 +213,9 @@
|
|||||||
"spotify": "Spotify"
|
"spotify": "Spotify"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outputs": {
|
||||||
|
"title": "Outputs"
|
||||||
|
},
|
||||||
"player": {
|
"player": {
|
||||||
"info": "Add some tracks by browsing your library",
|
"info": "Add some tracks by browsing your library",
|
||||||
"time": "Live|{time}|{time}",
|
"time": "Live|{time}|{time}",
|
||||||
|
|||||||
@ -130,6 +130,7 @@
|
|||||||
"files": "Fichiers",
|
"files": "Fichiers",
|
||||||
"genres": "Genres",
|
"genres": "Genres",
|
||||||
"music": "Musique",
|
"music": "Musique",
|
||||||
|
"outputs": "Sorties",
|
||||||
"playlists": "Listes de lecture",
|
"playlists": "Listes de lecture",
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
"radio": "Radio",
|
"radio": "Radio",
|
||||||
@ -137,7 +138,6 @@
|
|||||||
"settings": "Réglages",
|
"settings": "Réglages",
|
||||||
"spotify": "Spotify",
|
"spotify": "Spotify",
|
||||||
"stream": "Flux HTTP",
|
"stream": "Flux HTTP",
|
||||||
"stream-error": "Erreur du flux HTTP : échec du chargement du flux ou arrêt du chargement en raison d’un problème réseau",
|
|
||||||
"update-library": "Actualiser la bibliothèque",
|
"update-library": "Actualiser la bibliothèque",
|
||||||
"volume": "Volume"
|
"volume": "Volume"
|
||||||
},
|
},
|
||||||
@ -213,6 +213,9 @@
|
|||||||
"spotify": "Spotify"
|
"spotify": "Spotify"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outputs": {
|
||||||
|
"title": "Sorties"
|
||||||
|
},
|
||||||
"player": {
|
"player": {
|
||||||
"info": "Ajoutez des pistes en parcourant votre bibliothèque",
|
"info": "Ajoutez des pistes en parcourant votre bibliothèque",
|
||||||
"time": "En direct|{time}|{time}",
|
"time": "En direct|{time}|{time}",
|
||||||
|
|||||||
@ -130,6 +130,7 @@
|
|||||||
"files": "文件",
|
"files": "文件",
|
||||||
"genres": "流派",
|
"genres": "流派",
|
||||||
"music": "音乐",
|
"music": "音乐",
|
||||||
|
"outputs": "输出",
|
||||||
"playlists": "播放列表",
|
"playlists": "播放列表",
|
||||||
"podcasts": "播客",
|
"podcasts": "播客",
|
||||||
"radio": "广播电台",
|
"radio": "广播电台",
|
||||||
@ -137,7 +138,6 @@
|
|||||||
"settings": "设置",
|
"settings": "设置",
|
||||||
"spotify": "Spotify",
|
"spotify": "Spotify",
|
||||||
"stream": "HTTP流",
|
"stream": "HTTP流",
|
||||||
"stream-error": "HTTP流错误:流载入失败或者由于网络原因无法载入",
|
|
||||||
"update-library": "更新资料库",
|
"update-library": "更新资料库",
|
||||||
"volume": "音量"
|
"volume": "音量"
|
||||||
},
|
},
|
||||||
@ -213,6 +213,9 @@
|
|||||||
"spotify": "Spotify"
|
"spotify": "Spotify"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outputs": {
|
||||||
|
"title": "输出"
|
||||||
|
},
|
||||||
"player": {
|
"player": {
|
||||||
"info": "浏览资料库添加曲目",
|
"info": "浏览资料库添加曲目",
|
||||||
"time": "直播|{time}|{time}",
|
"time": "直播|{time}|{time}",
|
||||||
|
|||||||
@ -130,6 +130,7 @@
|
|||||||
"files": "文件",
|
"files": "文件",
|
||||||
"genres": "音樂類型",
|
"genres": "音樂類型",
|
||||||
"music": "音樂",
|
"music": "音樂",
|
||||||
|
"outputs": "輸出",
|
||||||
"playlists": "播放列表",
|
"playlists": "播放列表",
|
||||||
"podcasts": "Podcast",
|
"podcasts": "Podcast",
|
||||||
"radio": "電台",
|
"radio": "電台",
|
||||||
@ -137,7 +138,6 @@
|
|||||||
"settings": "設定",
|
"settings": "設定",
|
||||||
"spotify": "Spotify",
|
"spotify": "Spotify",
|
||||||
"stream": "HTTP串流",
|
"stream": "HTTP串流",
|
||||||
"stream-error": "HTTP串流錯誤:串流載入失敗或者由於網絡原因無法載入",
|
|
||||||
"update-library": "更新資料庫",
|
"update-library": "更新資料庫",
|
||||||
"volume": "音量"
|
"volume": "音量"
|
||||||
},
|
},
|
||||||
@ -213,6 +213,9 @@
|
|||||||
"spotify": "Spotify"
|
"spotify": "Spotify"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outputs": {
|
||||||
|
"title": "輸出"
|
||||||
|
},
|
||||||
"player": {
|
"player": {
|
||||||
"info": "瀏覽資料庫新增曲目",
|
"info": "瀏覽資料庫新增曲目",
|
||||||
"time": "直播|{time}|{time}",
|
"time": "直播|{time}|{time}",
|
||||||
|
|||||||
41
web-src/src/pages/PageOutputs.vue
Normal file
41
web-src/src/pages/PageOutputs.vue
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<template>
|
||||||
|
<content-with-heading>
|
||||||
|
<template #heading>
|
||||||
|
<pane-title :content="{ title: $t('page.outputs.title') }" />
|
||||||
|
</template>
|
||||||
|
<template #content>
|
||||||
|
<control-main-volume />
|
||||||
|
<control-output-volume
|
||||||
|
v-for="output in outputsStore.outputs"
|
||||||
|
:key="output.id"
|
||||||
|
:output="output"
|
||||||
|
/>
|
||||||
|
<control-stream-volume />
|
||||||
|
</template>
|
||||||
|
</content-with-heading>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ContentWithHeading from '@/templates/ContentWithHeading.vue'
|
||||||
|
import ControlMainVolume from '@/components/ControlMainVolume.vue'
|
||||||
|
import ControlOutputVolume from '@/components/ControlOutputVolume.vue'
|
||||||
|
import ControlStreamVolume from '@/components/ControlStreamVolume.vue'
|
||||||
|
import PaneTitle from '@/components/PaneTitle.vue'
|
||||||
|
import { useOutputsStore } from '@/stores/outputs'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'PageOutputs',
|
||||||
|
components: {
|
||||||
|
ContentWithHeading,
|
||||||
|
ControlMainVolume,
|
||||||
|
ControlOutputVolume,
|
||||||
|
ControlStreamVolume,
|
||||||
|
PaneTitle
|
||||||
|
},
|
||||||
|
setup() {
|
||||||
|
return {
|
||||||
|
outputsStore: useOutputsStore()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@ -26,6 +26,7 @@ import PageMusicSpotify from '@/pages/PageMusicSpotify.vue'
|
|||||||
import PageMusicSpotifyFeaturedPlaylists from '@/pages/PageMusicSpotifyFeaturedPlaylists.vue'
|
import PageMusicSpotifyFeaturedPlaylists from '@/pages/PageMusicSpotifyFeaturedPlaylists.vue'
|
||||||
import PageMusicSpotifyFollowedArtists from '@/pages/PageMusicSpotifyFollowedArtists.vue'
|
import PageMusicSpotifyFollowedArtists from '@/pages/PageMusicSpotifyFollowedArtists.vue'
|
||||||
import PageMusicSpotifyNewReleases from '@/pages/PageMusicSpotifyNewReleases.vue'
|
import PageMusicSpotifyNewReleases from '@/pages/PageMusicSpotifyNewReleases.vue'
|
||||||
|
import PageOutputs from '@/pages/PageOutputs.vue'
|
||||||
import PagePlayer from '@/pages/PagePlayer.vue'
|
import PagePlayer from '@/pages/PagePlayer.vue'
|
||||||
import PagePlaylistFolder from '@/pages/PagePlaylistFolder.vue'
|
import PagePlaylistFolder from '@/pages/PagePlaylistFolder.vue'
|
||||||
import PagePlaylistTracks from '@/pages/PagePlaylistTracks.vue'
|
import PagePlaylistTracks from '@/pages/PagePlaylistTracks.vue'
|
||||||
@ -109,6 +110,11 @@ export const router = createRouter({
|
|||||||
path: '/audiobooks',
|
path: '/audiobooks',
|
||||||
redirect: { name: 'audiobook-artists' }
|
redirect: { name: 'audiobook-artists' }
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
component: PageOutputs,
|
||||||
|
name: 'outputs',
|
||||||
|
path: '/outputs'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'music',
|
name: 'music',
|
||||||
path: '/music',
|
path: '/music',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user