owen
cab5a987b0
add features
2026-07-29 04:35:25 -05:00
Andrew G. Dunn
6b6701e973
Populate richer DIDL-Lite metadata for DLNA cast ( #934 )
...
Extend MediaItemMetadata with TrackNumber, Size, BitRate, SampleRate,
BitDepth, and ChannelCount (all already present on Track) and populate
them in Track.Metadata(). Thread them through dlnaplayer.go into the
avtransport.MediaItem so the renderer's DIDL-Lite includes upnp:artist,
upnp:album, upnp:originalTrackNumber, plus <res> attributes for
duration, size, bitrate, sampleFrequency, bitsPerSample, and
nrAudioChannels. The previously dropped Duration field is now
populated too.
For cover art, add a CoverArtPathFn callback on PlaybackManager wired
to ImageManager.GetCoverArtPath in app.go. The DLNA player invokes it
when a track is queued, registers the cached cover-thumbnail path
with the local proxy, and emits the resulting proxy URL as
upnp:albumArtURI so the renderer can display album art alongside the
audio.
Bumps go-upnpcast to pull in the MediaItem fields and DIDL-Lite
emission added in supersonic-app/go-upnpcast#4 .
2026-06-01 16:39:48 -07:00
Drew Weymouth
2d864a5320
add support for OpenSubsonic playbackReport extension ( #910 )
...
* add support for OpenSubsonic playbackReport extension
* better style
2026-04-22 11:00:51 -07:00
tdakkota
cfa45a4647
feat(ipc): add an endpoint for getting current track ( #911 )
2026-04-20 19:36:11 -07:00
Drew Weymouth
84440f9935
support cover art for internet radio stations
2026-04-09 08:25:43 -07:00
Drew Weymouth
8636e54c3a
Fix #877 : use XML API for Funkwhale servers since they don't implement JSON correctly
2026-04-05 13:11:57 -07:00
Drew Weymouth
03fd760589
use JSON instead of XML in Subsonic API
2026-03-11 07:38:58 -07:00
Drew Weymouth
daf0440fbc
extend searchdialog / SearchResult to properly support headphone profiles
2026-02-06 08:27:52 -08:00
Drew Weymouth
d681d87b31
Discussion #485 : use SortName when sorting artist's albums by name
2026-01-25 09:00:28 -08:00
Drew Weymouth
e6127ccc11
#782 for Jellyfin: treat usernames as case-insensitive
2026-01-24 11:05:12 -08:00
Drew Weymouth
6be5e2d4cb
Fix #809 - check last instead of first lyric timestamp to check if synced
2026-01-16 09:06:58 -08:00
zacaj
7058f74d42
(partial) Fix #742 : add Genre, Album Artist, File Type columns
2025-11-11 03:36:33 +00:00
zacaj
b0d918b93e
(partial) Fix #742 : add Date Added column
2025-11-11 03:36:30 +00:00
Drew Weymouth
ddd96803b3
Merge branch 'main' into feature/new-playlist-btn
2025-09-27 07:50:02 -07:00
Drew Weymouth
06b57d27d7
Fix #716 : add "Last played" tracklist columnn
2025-09-25 09:37:14 -07:00
Drew Weymouth
a55b7216d5
implement CreatePlaylist button for jellyfin
2025-09-22 17:22:43 -07:00
Jacalz
ebc5b7e039
Fix all staticcheck errors that are not deprecations
2025-09-17 22:39:36 +02:00
Jacalz
08f335da44
Run gofumpt on the project
2025-09-17 22:30:49 +02:00
Jacalz
534a7bfaaf
Run modernise on the project
...
This will be available in "go fix" within Go 1.26 but in the meantime:
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
2025-09-17 22:28:16 +02:00
Drew Weymouth
6ea3499491
add 'New Playlist' button to Playlists page
2025-09-17 08:55:35 -07:00
Drew Weymouth
bacdaeccfb
Fix #691 : update jellyfin client lib for transcoding fix
2025-09-06 11:18:04 -07:00
Drew Weymouth
766cfdfe91
Fix #668 : Add sample rate, bit depth, channels to track info dialog
2025-08-08 07:50:43 -07:00
Drew Weymouth
c521c617ec
incremental waveform generation (kind-of) working
2025-07-26 15:33:22 -07:00
Drew Weymouth
d73f7e0645
support library scoping on more Jellyfin browsing operations
2025-07-15 18:15:15 -07:00
Drew Weymouth
f4e84d97ab
WIP - Jellyfin multi library
2025-07-15 08:57:20 -07:00
Drew Weymouth
d701375d35
implement library browsing for Subsonic
2025-07-12 12:43:55 -07:00
Drew Weymouth
9c56429ed4
don't crash on All Tracks page if API call to get album tracks fails
2025-07-12 09:10:13 -07:00
Drew Weymouth
b8f83ae399
Fix #646 : Sort artist discography by full date
2025-06-24 08:33:40 -07:00
Drew Weymouth
265e4f961f
Fix #628 : Add setting to transcode stream
2025-05-31 10:12:57 -07:00
Drew Weymouth
086f5c7855
skip nil tracks when restoring play queue
2025-04-22 08:29:57 -07:00
Drew Weymouth
6e7480f48a
pass MIME type and seekable flag to DLNA players
2025-03-30 14:39:27 -07:00
Drew Weymouth
31c23490d1
add context menu actions to search dialog, refactor controller
2025-03-29 13:25:56 -07:00
jojii
29b04778f1
Add caching for lrclib lyrics
2025-02-05 19:42:22 +01:00
Drew Weymouth
774bd996fc
fix opensubsonic date, and locale detection
2024-12-23 17:39:57 -08:00
Drew Weymouth
ff3b1addf8
show full OpenSubsonic date where available
2024-12-23 17:23:26 -08:00
Drew Weymouth
c2efb048e2
more jukebox work
2024-08-31 09:09:12 -07:00
Drew Weymouth
0e9a8fc38b
change module locations
2024-08-06 20:30:44 -07:00
ericwyn
36652fa61c
change the default sort order of trackPages to the recently added
2024-08-05 10:34:10 +08:00
Drew Weymouth
14e93c1586
Fix #417 - add missed CoverArtID when unmarshaling GetArtist response
2024-07-27 17:22:33 -07:00
Drew Weymouth
fdd449584b
Fix #432 : use artist sort name if present to sort
2024-07-25 17:46:55 -07:00
Drew Weymouth
1d49aa171a
remove empty const block
2024-07-21 16:36:40 -07:00
Drew Weymouth
4afedda04e
translate sort order strings
2024-07-21 16:23:47 -07:00
Drew Weymouth
d4066f0b1c
add support for composer tag
2024-07-19 08:03:10 -07:00
Drew Weymouth
bf97cdb526
add more to track info dialog
2024-07-18 17:33:42 -07:00
Drew Weymouth
03ce1cc115
add more info to dialog and adjust layout
2024-07-18 08:11:37 -07:00
Drew Weymouth
59d979ba80
Include radio stations in Quick Search
2024-07-01 08:04:10 -07:00
Drew Weymouth
2b39c6ba66
add fallback for artist Top Tracks when server returns none
2024-06-26 08:28:24 -07:00
Drew Weymouth
396547d0d6
add back mistakenly deleted line
2024-06-24 18:54:58 -07:00
Drew Weymouth
7793fd8fdb
Refactor: move some playback-related functions to backend package
2024-06-24 18:49:30 -07:00
Drew Weymouth
1ddc6dc8a9
exclude track itself from similar tracks in either codepath
2024-06-24 08:25:49 -07:00