Michael Manganiello
c7dfc9efb3
fix: Enable Loop mode sync for MPRIS
...
Loop mode changes were being correctly reflected in Supersonic, when
updated in the toolbar, but not the other way around. We were only
missing an `Options` changes emit when loop mode is changed in
Supersonic.
2024-02-24 15:17:13 -03:00
Michael Manganiello
56c78aad0c
fix: MPRIS Seek functionality on Linux
...
Problem:
The operating system toolbar's component to control Supersonic playback
had its Seek functionality broken on Linux. When playing a song, seeking
for a different position from Supersonic worked as expected, but seeking
from the toolbar did nothing to the current track.
I found that the underlying reason was in `MPRISHandler.SetPosition`, as
the `if m.curTrackPath == trackId` always returned false.
`m.curTrackPath` was the right value, but `trackId` was wrong: On the
first song being played for a tracklist, `trackId` when trying to seek
was set to `/org/mpris/MediaPlayer2/TrackList/NoTrack`. When moving to
the next song, `trackId` then became the Track ID of the previously
played song.
Solution:
Changing the call to `OnTitle()` is enough to fix the issue, as the
MPRIS `Metadata()` generation depends on the value of `m.curTrackPath`.
Because it was being called before changing its value, the received
`trackId` was always off.
2024-02-24 13:26:04 -03:00
Drew Weymouth
b61afb1ba5
Fix #319 : show cancelable modal dialog while connecting to server on startup
2024-02-15 09:04:14 -08:00
Drew Weymouth
91aa92706d
Fix #316 : Add setting to show notification on track change
2024-01-20 14:42:22 -08:00
Drew Weymouth
edc3ef7bfa
Fix #315 : Pre-select most recent playlist in "Add to playlist" dialog
2024-01-20 14:22:30 -08:00
Drew Weymouth
e1bc745645
refactor: split a lower-level playbackEngine out of PlaybackManager
2024-01-13 11:53:18 -08:00
Drew Weymouth
ee275cb9ed
update Fyne fork to 2.4.3 baseline
2024-01-12 08:53:21 -08:00
Drew Weymouth
e9d462e655
move player package into backend
2024-01-08 18:53:13 -08:00
Drew Weymouth
7cfd176c59
extract deepCopy helper function
2024-01-08 17:17:12 -08:00
Drew Weymouth
fca5abca94
ignore/skip failure to restore individual tracks from queue
2024-01-08 08:14:45 -08:00
Drew Weymouth
793b570999
load saved play position on startup
2024-01-07 17:14:57 -08:00
Drew Weymouth
c4c4a71d5e
save and load play queue on exit/startup (partial impl)
2024-01-07 16:25:15 -08:00
Drew Weymouth
9c2f72d9f2
Fix #33 : allow reordering of play queue
2024-01-06 14:22:18 -08:00
Drew Weymouth
ca25756db7
fix regression- crashing on Repeat One when nothing playing
2024-01-06 11:11:34 -08:00
Drew Weymouth
10feaad1f3
Merge pull request #305 from dweymouth/feature/jukebox
...
Redesign of PlaybackManager
2023-12-23 10:52:55 -08:00
Drew Weymouth
91951ebfd2
implement new logic for RemoveTracksFromQueue
2023-12-22 17:58:36 -08:00
Drew Weymouth
cfb8739a61
when changing loop mode, only call player.SetNext if needed
2023-12-22 17:22:40 -08:00
Drew Weymouth
d089151f85
remove extra replaygain set
2023-12-22 16:28:34 -08:00
Drew Weymouth
cf41795659
handle LoopMode logic, plus some reorganization
2023-12-22 16:21:29 -08:00
Drew Weymouth
de6ba5c120
move LoopMode
2023-12-22 16:01:56 -08:00
Drew Weymouth
d9eca8d807
Beginning of reworked PlaybackManager - PARTIAL
2023-12-22 15:50:39 -08:00
Drew Weymouth
4c3d638aed
some simplification of PlaybackManager
2023-12-21 20:18:53 -08:00
Drew Weymouth
81dde8ee2e
bump to Go 1.20 and rm deprecated rand.Seed
2023-12-19 17:59:24 -08:00
Drew Weymouth
1e466e4cdf
start of JukeboxPlayer backend
2023-12-19 17:31:10 -08:00
Drew Weymouth
f8f8a3a5cb
rework settings dialog to be aware of different player types
2023-12-19 08:41:07 -08:00
Drew Weymouth
bcf95ba26c
don't assume MPV player in now playing page
2023-12-19 08:23:12 -08:00
Drew Weymouth
df6c53a3f5
add interface to decouple MPV player from PlaybackManager
2023-12-18 20:22:24 -08:00
Drew Weymouth
1665281ad7
Refactor pt. 2: route player transport controls+callbacks through PlaybackManager
2023-12-18 09:06:17 -08:00
Drew Weymouth
bd4db95f64
fix non-Mac build
2023-12-18 07:52:59 -08:00
Drew Weymouth
55f9461410
Refactor pt. 1: move MPV player to own package and extract some types
2023-12-17 13:50:30 -08:00
Drew Weymouth
53dc9277ec
Add Comment column to tracklist
2023-12-16 15:54:03 -08:00
Drew Weymouth
1521c0c4ba
add ReleaseTypes to the album model
2023-12-16 13:44:16 -08:00
Drew Weymouth
79b8d34430
#284 : fix artist radio for Jellyfin
2023-11-16 08:17:32 -08:00
Drew Weymouth
87fc88e308
Fix #157 : Add "Auto" ReplayGain mode to auto-choose between Track and Album
2023-11-15 08:14:31 -08:00
Drew Weymouth
2e223c6141
Fix #179 : add experimental setting to scale down or up UI size
2023-11-14 19:12:00 -08:00
Drew Weymouth
2ffcac9b88
add scrobbling for Jellyfin
2023-11-14 18:08:55 -08:00
Drew Weymouth
b7f54054d8
correctly distinguish user/pass auth errors from other connectivity errors again
2023-11-14 17:36:07 -08:00
Drew Weymouth
d1380d6a41
remove dead obsolete code
2023-11-14 17:05:10 -08:00
Drew Weymouth
aba2076894
remove Recently Played, Frequently Played album sort orders for Jellyfin
2023-11-14 16:58:04 -08:00
Drew Weymouth
80a3104e79
all playlist functionality works now
2023-11-14 09:05:02 -08:00
Drew Weymouth
470fe4b31a
backfill Subsonic to missing ServerTypes in config
2023-11-14 09:05:02 -08:00
Drew Weymouth
cafca00b1b
editing playlist metadata is working now
2023-11-14 09:05:02 -08:00
Drew Weymouth
7d3e942e3f
playlist updates
2023-11-14 09:05:02 -08:00
Drew Weymouth
e261eab4f3
Jellyfin does not support 5-star ratings - make it disableable
2023-11-14 09:05:02 -08:00
Drew Weymouth
f25e748be5
implement favorites, download, albuminfo for Jellyfin
2023-11-14 09:05:02 -08:00
Drew Weymouth
4f9b3a70bf
implement Quick Search for Jellyfin
2023-11-14 09:05:02 -08:00
Drew Weymouth
9e10e2442c
fix artist radio for jellyfin
2023-11-14 09:05:02 -08:00
Drew Weymouth
831ce1de97
track iterator for jellyfin + generics refactoring of helpers
2023-11-14 09:05:02 -08:00
Drew Weymouth
58428cc35d
convert units properly for RunTimeTicks and Bitrate
2023-11-14 09:05:02 -08:00
Drew Weymouth
8aed1e5234
add Jellyfin albumiterator
2023-11-14 09:05:02 -08:00