Merge branch 'main' into feature/shuffle
This commit is contained in:
@@ -33,7 +33,7 @@ jobs:
|
||||
run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH
|
||||
|
||||
- name: Install Fyne tool
|
||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||
run: go install fyne.io/tools/cmd/fyne@latest
|
||||
|
||||
- name: Package app bundles
|
||||
run: >
|
||||
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH
|
||||
|
||||
- name: Install Fyne tool
|
||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||
run: go install fyne.io/tools/cmd/fyne@latest
|
||||
|
||||
- name: Build and package app bundles
|
||||
run: >
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev
|
||||
|
||||
- name: Install Fyne tool
|
||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||
run: go install fyne.io/tools/cmd/fyne@latest
|
||||
|
||||
- name: Fyne package
|
||||
run: make package_linux
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev
|
||||
|
||||
- name: Install Fyne tool
|
||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||
run: go install fyne.io/tools/cmd/fyne@latest
|
||||
|
||||
- name: Fyne package
|
||||
run: make package_linux
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
pacman --noconfirm -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-mpv
|
||||
|
||||
- name: Install Fyne tool
|
||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||
run: go install fyne.io/tools/cmd/fyne@latest
|
||||
|
||||
- name: Package
|
||||
run: make package_windows
|
||||
|
||||
@@ -1,5 +1,26 @@
|
||||
# Change Log
|
||||
|
||||
## [0.20.1]
|
||||
|
||||
### Added
|
||||
- Improved translations for Chinese, Japanese, Italian
|
||||
- [#814](https://github.com/dweymouth/supersonic/pull/814) Setting to disable fade out on pause
|
||||
|
||||
### Changed
|
||||
- [#798](https://github.com/dweymouth/supersonic/issues/798) Ignore SSL validation setting migrated to per-server option
|
||||
|
||||
### Fixed
|
||||
- [#614](https://github.com/dweymouth/supersonic/issues/614) Some uPnP devices not recognized
|
||||
- [#809](https://github.com/dweymouth/supersonic/issues/809) Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00
|
||||
- [#804](https://github.com/dweymouth/supersonic/issues/804) Regression in peak meter animation smoothness
|
||||
- Some optimizations of tracklist rendering
|
||||
- [#810](https://github.com/dweymouth/supersonic/issues/810) Autoplay tracks enqueuing too early
|
||||
- [#834](https://github.com/dweymouth/supersonic/pull/834) Fix equalizer filter string for ffmpeg
|
||||
- [#813](https://github.com/dweymouth/supersonic/issues/813) Unnecessarily large minimum window width for pages with tracklist
|
||||
- [#485](https://github.com/dweymouth/supersonic/discussions/485) Use sort tags for sorting artist discography by album name (OpenSubsonic only)
|
||||
- [#384](https://github.com/dweymouth/supersonic/issues/384) for Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case
|
||||
- Fix Now Playing background dissolve animation when next track has same cover art as previous
|
||||
|
||||
## [0.20.0]
|
||||
|
||||
### Added
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[Details]
|
||||
Icon = "res/appicon-512.png"
|
||||
Name = "Supersonic"
|
||||
Version = "0.20.0"
|
||||
Version = "0.20.1"
|
||||
|
||||
[LinuxAndBSD]
|
||||
Categories = ["Audio", "AudioVideo"]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
[](https://github.com/dweymouth/supersonic/releases)
|
||||
[](https://github.com/dweymouth/supersonic/releases/latest)
|
||||
[](https://goreportcard.com/report/github.com/dweymouth/supersonic)
|
||||
<a href="https://discord.gg/VqmW48aZMh"><img src="https://dcbadge.vercel.app/api/server/VqmW48aZMh" width="20%"/></a>
|
||||
[](https://discord.gg/H6FC9bAMpF)
|
||||
|
||||
A lightweight cross-platform desktop client for Subsonic and Jellyfin music servers.
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ require (
|
||||
github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 // indirect
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728 // indirect
|
||||
github.com/go-text/render v0.2.0 // indirect
|
||||
github.com/go-text/typesetting v0.3.2 // indirect
|
||||
github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b // indirect
|
||||
github.com/h2non/filetype v1.1.3 // indirect
|
||||
github.com/hack-pad/go-indexeddb v0.3.2 // indirect
|
||||
github.com/hack-pad/safejs v0.1.1 // indirect
|
||||
@@ -68,7 +68,7 @@ require (
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace fyne.io/fyne/v2 v2.7.2 => github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601
|
||||
replace fyne.io/fyne/v2 v2.7.2 => github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8
|
||||
|
||||
replace github.com/go-audio/wav v1.1.0 => github.com/dweymouth/go-wav v0.0.0-20250719173115-e60429a83eb0
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ github.com/dweymouth/fyne-advanced-list v0.0.0-20250211191927-58ea85eec72c h1:UX
|
||||
github.com/dweymouth/fyne-advanced-list v0.0.0-20250211191927-58ea85eec72c/go.mod h1:Idgzr4LYzve8IPHF1stLO1bdGQZnDKt/bT9WfJflCGw=
|
||||
github.com/dweymouth/fyne-tooltip v0.4.0 h1:ZkMhy4f8lHklyjNnKJlSEJ2pLPnYWVD7tu2+YEgmp+w=
|
||||
github.com/dweymouth/fyne-tooltip v0.4.0/go.mod h1:jXYbY561DTIXXqkauzltI3o/hsVaQd2KY8Ry2FXy7Xk=
|
||||
github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601 h1:Z75H0KinbkuXn0y/+vFB4R6jvwgwHkgCivvPT5fIYcc=
|
||||
github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601/go.mod h1:M3Fkb8eUU6se8E+coikK8x7f3vCIakxAW7bPyw3d9fA=
|
||||
github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8 h1:lwx4mANwRNH25jj2n/IAFUQ5XuYhBaj18OEPvDP19Ns=
|
||||
github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8/go.mod h1:kjf8HBnGLLykRyRX1mAHLYAfuBaY0oSx6XKCr/dzkOg=
|
||||
github.com/dweymouth/go-jellyfin v0.0.0-20250928223159-bd2fb9681ef5 h1:Or5VJodg7cGmdnBIcS+FrEH0twBi7mZsFCz6V0vCOQI=
|
||||
github.com/dweymouth/go-jellyfin v0.0.0-20250928223159-bd2fb9681ef5/go.mod h1:fcUagHBaQnt06GmBAllNE0J4O/7064zXRWdqnTTtVjI=
|
||||
github.com/dweymouth/go-wav v0.0.0-20250719173115-e60429a83eb0 h1:mYcctuWgVArHhSLJxndlUM43C3hoE18BLDBkXKM2tl0=
|
||||
@@ -62,8 +62,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728 h1:RkGhqHxEVA
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728/go.mod h1:SyRD8YfuKk+ZXlDqYiqe1qMSqjNgtHzBTG810KUagMc=
|
||||
github.com/go-text/render v0.2.0 h1:LBYoTmp5jYiJ4NPqDc2pz17MLmA3wHw1dZSVGcOdeAc=
|
||||
github.com/go-text/render v0.2.0/go.mod h1:CkiqfukRGKJA5vZZISkjSYrcdtgKQWRa2HIzvwNN5SU=
|
||||
github.com/go-text/typesetting v0.3.2 h1:OUOFxp9Rx5PiO0/rh2IY+5gmyXjXsVG8+LfEyk9NMcE=
|
||||
github.com/go-text/typesetting v0.3.2/go.mod h1:vIRUT25mLQaSh4C8H/lIsKppQz/Gdb8Pu/tNwpi52ts=
|
||||
github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b h1:8jK9akFlw57u1DyVu6Vr+SUjvnYQkns9roj653VJ4iM=
|
||||
github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b/go.mod h1:vIRUT25mLQaSh4C8H/lIsKppQz/Gdb8Pu/tNwpi52ts=
|
||||
github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8 h1:4KCscI9qYWMGTuz6BpJtbUSRzcBrUSSE0ENMJbNSrFs=
|
||||
github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8/go.mod h1:3/62I4La/HBRX9TcTpBj4eipLiwzf+vhI+7whTc9V7o=
|
||||
github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ=
|
||||
|
||||
@@ -63,36 +63,35 @@
|
||||
</screenshots>
|
||||
|
||||
<releases>
|
||||
<release date="2026-01-10" version="0.20.0">
|
||||
<release date="2026-01-31" version="0.20.1">
|
||||
<description>
|
||||
<p>
|
||||
Version 0.20.0 of Supersonic
|
||||
Version 0.20.1 of Supersonic
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Added
|
||||
</p>
|
||||
<ul>
|
||||
<li>Quickly fade out audio when pausing</li>
|
||||
<li>Add collapsed/compact view for page headers</li>
|
||||
<li>Add option to prevent screensaver or screen sleep on Now Playing page</li>
|
||||
<li>Add lyrics tab to sidebar</li>
|
||||
<li>Add additional tracklist columns for Genre, Album Artist, File Type, Date Added</li>
|
||||
<li>Show year on Now Playing page</li>
|
||||
<li>Option to round image corners throughout app</li>
|
||||
<li>Option to used blurred album cover for background of Now Playing page</li>
|
||||
<li>Left click on system tray icon raises app window</li>
|
||||
<li>Button in Advanced tab of settings window to clear caches</li>
|
||||
<li>Seeking Next while playing the last track in queue now cycles around back to the beginning</li>
|
||||
<li>Behavior and naming of "Stop after current track" changed to "Pause after current track"</li>
|
||||
<li>Improved translations for Chinese, Japanese, Italian</li>
|
||||
<li>Setting to disable fade out on pause</li>
|
||||
<li>Ignore SSL validation setting migrated to per-server option</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Fixed
|
||||
</p>
|
||||
<ul>
|
||||
<li>LrcLib fetcher no longer crashes on tracks with no artist name</li>
|
||||
<li>Windows now playing notifications are now silent, and include album cover</li>
|
||||
<li>Some uPnP devices not recognized</li>
|
||||
<li>Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00</li>
|
||||
<li>Regression in peak meter animation smoothness</li>
|
||||
<li>Some optimizations of tracklist rendering</li>
|
||||
<li>Autoplay tracks enqueuing too early</li>
|
||||
<li>Fix equalizer filter string for ffmpeg</li>
|
||||
<li>Unnecessarily large minimum window width for pages with tracklist</li>
|
||||
<li>Use sort tags for sorting artist discography by album name (OpenSubsonic only)</li>
|
||||
<li>For Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case</li>
|
||||
<li>Fix Now Playing background dissolve animation when next track has same cover art as previous</li>
|
||||
</ul>
|
||||
|
||||
</description>
|
||||
|
||||
+14
-15
@@ -3,7 +3,7 @@ package res
|
||||
const (
|
||||
AppName = "supersonic"
|
||||
DisplayName = "Supersonic"
|
||||
AppVersion = "0.20.0"
|
||||
AppVersion = "0.20.1"
|
||||
AppVersionTag = "v" + AppVersion
|
||||
ConfigFile = "config.toml"
|
||||
GithubURL = "https://github.com/dweymouth/supersonic"
|
||||
@@ -15,21 +15,20 @@ const (
|
||||
var (
|
||||
WhatsAdded = `
|
||||
## Added
|
||||
* Quickly fade out audio when pausing
|
||||
* Add collapsed/compact view for page headers
|
||||
* Add option to prevent screensaver or screen sleep on Now Playing page
|
||||
* Add lyrics tab to sidebar
|
||||
* Add additional tracklist columns for Genre, Album Artist, File Type, Date Added
|
||||
* Show year on Now Playing page
|
||||
* Option to round image corners throughout app
|
||||
* Option to used blurred album cover for background of Now Playing page
|
||||
* Left click on system tray icon raises app window
|
||||
* Button in Advanced tab of settings window to clear caches
|
||||
* Seeking Next while playing the last track in queue now cycles around back to the beginning
|
||||
* Behavior and naming of "Stop after current track" changed to "Pause after current track"`
|
||||
* Improved translations for Chinese, Japanese, Italian
|
||||
* Setting to disable fade out on pause
|
||||
* Ignore SSL validation setting migrated to per-server option`
|
||||
|
||||
WhatsFixed = `
|
||||
## Fixed
|
||||
* LrcLib fetcher no longer crashes on tracks with no artist name
|
||||
* Windows now playing notifications are now silent, and include album cover`
|
||||
* Some uPnP devices not recognized
|
||||
* Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00
|
||||
* Regression in peak meter animation smoothness
|
||||
* Some optimizations of tracklist rendering
|
||||
* Autoplay tracks enqueuing too early
|
||||
* Fix equalizer filter string for ffmpeg
|
||||
* Unnecessarily large minimum window width for pages with tracklist
|
||||
* Use sort tags for sorting artist discography by album name (OpenSubsonic only)
|
||||
* For Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case
|
||||
* Fix Now Playing background dissolve animation when next track has same cover art as previous`
|
||||
)
|
||||
|
||||
+12
-12
@@ -4,7 +4,7 @@
|
||||
"Add Server": "添加服务器",
|
||||
"Add to playlist": "添加到播放列表",
|
||||
"Add to queue": "添加到队列",
|
||||
"Advanced": "Advanced",
|
||||
"Advanced": "高级",
|
||||
"Album": "专辑",
|
||||
"Album Count": "专辑数量",
|
||||
"Album artist": "专辑艺术家",
|
||||
@@ -57,7 +57,7 @@
|
||||
"Compilation": "合集",
|
||||
"Compilations": "合集",
|
||||
"Composer": "作曲家",
|
||||
"Composers": "Composers",
|
||||
"Composers": "作曲家",
|
||||
"Configure your music server to add radio stations": "配置您的音乐服务器以添加电台",
|
||||
"Confirm Delete Playlist": "确认删除播放列表",
|
||||
"Confirm Delete Server": "确认删除服务器",
|
||||
@@ -92,9 +92,9 @@
|
||||
"Equalizer": "均衡器",
|
||||
"Error": "错误",
|
||||
"Error creating playlist": "创建播放列表时出错",
|
||||
"Error updating playlist": "Error updating playlist",
|
||||
"Error updating playlist": "更新播放列表时出错",
|
||||
"Exclusive mode": "独占模式",
|
||||
"Fade out on pause": "Fade out on pause",
|
||||
"Fade out on pause": "暂停时淡出",
|
||||
"Fav.": "收藏",
|
||||
"Favorites": "收藏",
|
||||
"Feb": "二月",
|
||||
@@ -133,7 +133,7 @@
|
||||
"Lyrics": "歌词",
|
||||
"Lyrics not available": "歌词不可用",
|
||||
"Mar": "三月",
|
||||
"Maximum image cache size": "Maximum image cache size",
|
||||
"Maximum image cache size": "最大图像缓存大小",
|
||||
"May": "五月",
|
||||
"Menu": "菜单",
|
||||
"Mixtape": "混音带",
|
||||
@@ -177,9 +177,9 @@
|
||||
"Prevent clipping": "防止削波",
|
||||
"Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序",
|
||||
"Previous": "上一个",
|
||||
"Private playlist by": "私人 播放列表作者",
|
||||
"Public": "Public",
|
||||
"Public playlist by": "公开 播放列表作者",
|
||||
"Private playlist by": "私人播放列表",
|
||||
"Public": "公开",
|
||||
"Public playlist by": "公开播放列表",
|
||||
"Quit": "退出",
|
||||
"Random": "随机",
|
||||
"Rating": "评分",
|
||||
@@ -259,15 +259,15 @@
|
||||
"Track gain": "曲目增益",
|
||||
"Track number": "曲目编号",
|
||||
"Track peak": "曲目峰值",
|
||||
"Tracks": "Tracks",
|
||||
"Tracks": "曲目",
|
||||
"Transcode to": "转码为",
|
||||
"UI Scaling": "UI 缩放",
|
||||
"UI Scaling": "界面缩放",
|
||||
"URL": "URL",
|
||||
"Unable to play albums": "无法播放专辑",
|
||||
"Unable to play artist radio": "无法播放艺术家电台",
|
||||
"Unable to play random albums": "Unable to play random albums",
|
||||
"Unable to play random albums": "无法播放随机专辑",
|
||||
"Unable to play random tracks": "无法播放随机曲目",
|
||||
"Unable to play song radio": "Unable to play song radio",
|
||||
"Unable to play song radio": "无法播放电台歌曲",
|
||||
"Unset favorite": "取消收藏",
|
||||
"Use blurred album cover for Now Playing page background": "使用模糊的专辑封面作为“正在播放”页面背景",
|
||||
"Use legacy authentication": "使用旧版认证",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"Add Server": "添加服务器",
|
||||
"Add to playlist": "添加到播放列表",
|
||||
"Add to queue": "添加到队列",
|
||||
"Advanced": "Advanced",
|
||||
"Advanced": "高级",
|
||||
"Album": "专辑",
|
||||
"Album Count": "专辑数量",
|
||||
"Album artist": "专辑艺术家",
|
||||
@@ -57,7 +57,7 @@
|
||||
"Compilation": "合集",
|
||||
"Compilations": "合集",
|
||||
"Composer": "作曲家",
|
||||
"Composers": "Composers",
|
||||
"Composers": "作曲家",
|
||||
"Configure your music server to add radio stations": "配置您的音乐服务器以添加电台",
|
||||
"Confirm Delete Playlist": "确认删除播放列表",
|
||||
"Confirm Delete Server": "确认删除服务器",
|
||||
@@ -92,9 +92,9 @@
|
||||
"Equalizer": "均衡器",
|
||||
"Error": "错误",
|
||||
"Error creating playlist": "创建播放列表时出错",
|
||||
"Error updating playlist": "Error updating playlist",
|
||||
"Error updating playlist": "更新播放列表时出错",
|
||||
"Exclusive mode": "独占模式",
|
||||
"Fade out on pause": "Fade out on pause",
|
||||
"Fade out on pause": "暂停时淡出",
|
||||
"Fav.": "收藏",
|
||||
"Favorites": "收藏",
|
||||
"Feb": "二月",
|
||||
@@ -133,7 +133,7 @@
|
||||
"Lyrics": "歌词",
|
||||
"Lyrics not available": "歌词不可用",
|
||||
"Mar": "三月",
|
||||
"Maximum image cache size": "Maximum image cache size",
|
||||
"Maximum image cache size": "最大图像缓存大小",
|
||||
"May": "五月",
|
||||
"Menu": "菜单",
|
||||
"Mixtape": "混音带",
|
||||
@@ -177,9 +177,9 @@
|
||||
"Prevent clipping": "防止削波",
|
||||
"Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序",
|
||||
"Previous": "上一个",
|
||||
"Private playlist by": "私人 播放列表作者",
|
||||
"Public": "Public",
|
||||
"Public playlist by": "公开 播放列表作者",
|
||||
"Private playlist by": "私人播放列表",
|
||||
"Public": "公开",
|
||||
"Public playlist by": "公开播放列表",
|
||||
"Quit": "退出",
|
||||
"Random": "随机",
|
||||
"Rating": "评分",
|
||||
@@ -259,15 +259,15 @@
|
||||
"Track gain": "曲目增益",
|
||||
"Track number": "曲目编号",
|
||||
"Track peak": "曲目峰值",
|
||||
"Tracks": "Tracks",
|
||||
"Tracks": "曲目",
|
||||
"Transcode to": "转码为",
|
||||
"UI Scaling": "UI 缩放",
|
||||
"UI Scaling": "界面缩放",
|
||||
"URL": "URL",
|
||||
"Unable to play albums": "无法播放专辑",
|
||||
"Unable to play artist radio": "无法播放艺术家电台",
|
||||
"Unable to play random albums": "Unable to play random albums",
|
||||
"Unable to play random albums": "无法播放随机专辑",
|
||||
"Unable to play random tracks": "无法播放随机曲目",
|
||||
"Unable to play song radio": "Unable to play song radio",
|
||||
"Unable to play song radio": "无法播放电台歌曲",
|
||||
"Unset favorite": "取消收藏",
|
||||
"Use blurred album cover for Now Playing page background": "使用模糊的专辑封面作为“正在播放”页面背景",
|
||||
"Use legacy authentication": "使用旧版认证",
|
||||
|
||||
@@ -43,6 +43,7 @@ type NowPlayingPage struct {
|
||||
curLyrics *mediaprovider.Lyrics
|
||||
curLyricsID string // id of track currently shown in lyrics
|
||||
curRelatedID string // id of track currrently used to populate related list
|
||||
curCoverArt string // id of cover art currently shown in background / card
|
||||
totalTime float64
|
||||
lastPlayPos float64
|
||||
queue []mediaprovider.MediaItem
|
||||
@@ -307,8 +308,12 @@ func (a *NowPlayingPage) OnSongChange(song mediaprovider.MediaItem, lastScrobble
|
||||
a.card.Update(song)
|
||||
if song == nil {
|
||||
a.card.SetCoverImage(nil)
|
||||
} else {
|
||||
a.imageLoadCancel = a.im.GetFullSizeCoverArtAsync(song.Metadata().CoverArtID, a.onImageLoaded)
|
||||
a.curCoverArt = ""
|
||||
} else if artID := song.Metadata().CoverArtID; artID != a.curCoverArt {
|
||||
a.imageLoadCancel = a.im.GetFullSizeCoverArtAsync(song.Metadata().CoverArtID, func(img image.Image, err error) {
|
||||
a.curCoverArt = artID
|
||||
a.onImageLoaded(img, err)
|
||||
})
|
||||
}
|
||||
|
||||
if a.tabs != nil && a.tabs.SelectedIndex() == 1 /*lyrics*/ {
|
||||
|
||||
@@ -239,6 +239,7 @@ type tracklistRowBase struct {
|
||||
|
||||
// must be injected by extending widget
|
||||
setColVisibility func(int, bool) bool
|
||||
layout func(fyne.Size)
|
||||
}
|
||||
|
||||
type TracklistRow interface {
|
||||
@@ -297,6 +298,9 @@ func NewExpandedTracklistRow(tracklist *Tracklist, im *backend.ImageManager, pla
|
||||
c.Hidden = vis
|
||||
return c.Hidden != wasHidden
|
||||
}
|
||||
t.layout = func(s fyne.Size) {
|
||||
container.Layout.Layout(container.Objects, s)
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
@@ -316,8 +320,9 @@ func NewCompactTracklistRow(tracklist *Tracklist, playingIcon fyne.CanvasObject)
|
||||
t.tracklistRowBase.create(tracklist)
|
||||
t.playingIcon = playingIcon
|
||||
|
||||
t.Content = container.New(tracklist.colLayout,
|
||||
container := container.New(tracklist.colLayout,
|
||||
t.num, t.name, t.artist, t.album, t.albumArtist, t.composer, t.genre, t.dur, t.year, t.favorite, t.rating, t.plays, t.lastPlayed, t.comment, t.bpm, t.bitrate, t.size, t.fileType, t.dateAdded, t.path)
|
||||
t.Content = container
|
||||
|
||||
colHiddenPtrMap := map[int]*bool{
|
||||
2: &t.artist.Hidden,
|
||||
@@ -348,6 +353,9 @@ func NewCompactTracklistRow(tracklist *Tracklist, playingIcon fyne.CanvasObject)
|
||||
*ptr = vis
|
||||
return vis != wasHidden
|
||||
}
|
||||
t.layout = func(s fyne.Size) {
|
||||
container.Layout.Layout(container.Objects, s)
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
@@ -409,11 +417,20 @@ func (t *tracklistRowBase) TrackID() string {
|
||||
return t.trackID
|
||||
}
|
||||
|
||||
func (t *tracklistRowBase) MinSize() fyne.Size {
|
||||
// because tracklist rows have variable column visibility,
|
||||
// we return a zero width here so that the tracklist
|
||||
// can size based on the header instead.
|
||||
s := t.BaseWidget.MinSize()
|
||||
return fyne.NewSize(0, s.Height)
|
||||
}
|
||||
|
||||
func (t *tracklistRowBase) Update(tm *util.TrackListModel, rowNum int, onUpdate func()) {
|
||||
// Show only columns configured to be visible
|
||||
for i := 2; i < len(t.tracklist.columns); i++ {
|
||||
t.setColVisibility(i, !t.tracklist.visibleColumns[i])
|
||||
}
|
||||
t.layout(t.Size())
|
||||
|
||||
// Ealy return if nothing else needs updating
|
||||
if !t.needsUpdate(tm, rowNum) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define MyAppName "Supersonic"
|
||||
#define MyAppVersion "0.20.0"
|
||||
#define MyAppVersion "0.20.1"
|
||||
#define MyAppPublisher "Drew Weymouth"
|
||||
#define MyAppURL "https://github.com/dweymouth/supersonic"
|
||||
#define MyAppExeName "Supersonic.exe"
|
||||
|
||||
Reference in New Issue
Block a user