From d4bf5eb138c3430d6ed6e28306b5bebf6424b943 Mon Sep 17 00:00:00 2001 From: Aynakeya Date: Wed, 29 Jun 2022 17:44:04 -0700 Subject: [PATCH] add skip playlist --- assets/translation.json | 8 ++++++++ config/config_player.go | 4 +++- controller/handlers.go | 7 +++++++ gui/config_basic.go | 9 ++++++++- todo.txt | 4 +++- 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/assets/translation.json b/assets/translation.json index 828cd7e..1e0436d 100644 --- a/assets/translation.json +++ b/assets/translation.json @@ -24,6 +24,14 @@ "en": "User Playlist", "zh-CN": "用户歌单" }, + "gui.config.basic.skip_playlist": { + "en": "Skip Media From System Playlist", + "zh-CN": "跳过闲置歌单" + }, + "gui.config.basic.skip_playlist.prompt": { + "en": "Skip", + "zh-CN": "跳过" + }, "gui.config.basic.title": { "en": "Basic", "zh-CN": "基础设置" diff --git a/config/config_player.go b/config/config_player.go index 7537e04..1e0db9a 100644 --- a/config/config_player.go +++ b/config/config_player.go @@ -7,6 +7,7 @@ type _PlayerConfig struct { PlaylistRandom bool AudioDevice string Volume float64 + SkipPlaylist bool } func (c *_PlayerConfig) Name() string { @@ -14,10 +15,11 @@ func (c *_PlayerConfig) Name() string { } var Player = &_PlayerConfig{ - Playlists: []string{"2382819181", "116746576", "646548465"}, + Playlists: []string{"2382819181", "4987059624", "646548465"}, PlaylistsProvider: []string{"netease", "netease", "netease"}, PlaylistIndex: 0, PlaylistRandom: true, AudioDevice: "auto", Volume: 100, + SkipPlaylist: false, } diff --git a/controller/handlers.go b/controller/handlers.go index 6118851..41335a9 100644 --- a/controller/handlers.go +++ b/controller/handlers.go @@ -1,7 +1,9 @@ package controller import ( + "AynaLivePlayer/config" "AynaLivePlayer/event" + "AynaLivePlayer/player" "github.com/aynakeya/go-mpv" ) @@ -16,6 +18,11 @@ func handleMpvIdlePlayNext(property *mpv.EventProperty) { func handlePlaylistAdd(event *event.Event) { if MainPlayer.IsIdle() { PlayNext() + return + } + if config.Player.SkipPlaylist && CurrentMedia != nil && CurrentMedia.User == player.PlaylistUser { + PlayNext() + return } } diff --git a/gui/config_basic.go b/gui/config_basic.go index 30f20f3..05ec7dd 100644 --- a/gui/config_basic.go +++ b/gui/config_basic.go @@ -49,6 +49,13 @@ func (b *bascicConfig) CreatePanel() fyne.CanvasObject { outputDevice := container.NewBorder(nil, nil, widget.NewLabel(i18n.T("gui.config.basic.audio_device")), nil, deviceSel) - b.panel = container.NewVBox(randomPlaylist, outputDevice) + skipPlaylist := container.NewHBox( + widget.NewLabel(i18n.T("gui.config.basic.skip_playlist")), + widget.NewCheckWithData( + i18n.T("gui.config.basic.skip_playlist.prompt"), + binding.BindBool(&config.Player.SkipPlaylist), + ), + ) + b.panel = container.NewVBox(randomPlaylist, outputDevice, skipPlaylist) return b.panel } diff --git a/todo.txt b/todo.txt index ebe715b..197f57b 100644 --- a/todo.txt +++ b/todo.txt @@ -4,17 +4,19 @@ - @4 list refresh - @5 delete optimization -- 歌词来源 + - 文本输出 - web输出 - 历史记录 - 黑名单 - 进入beta版本 +- bilibili 歌词来源 ---- Finished +- 2022/6/29: 跳过闲置歌单 - 2022.6.26: i18n - 2022.6.25: kuwo歌单 - 2022.6.25: 设置界面