diff --git a/src/renderer/api/jellyfin/jellyfin-controller.ts b/src/renderer/api/jellyfin/jellyfin-controller.ts
index 4bdf93c22..957de1493 100644
--- a/src/renderer/api/jellyfin/jellyfin-controller.ts
+++ b/src/renderer/api/jellyfin/jellyfin-controller.ts
@@ -360,7 +360,7 @@ export const JellyfinController: InternalControllerEndpoint = {
},
query: {
...artistQuery,
- Fields: 'People, Tags',
+ Fields: 'People, Tags, Studios',
GenreIds: query.genreIds ? query.genreIds.join(',') : undefined,
IncludeItemTypes: 'MusicAlbum',
IsFavorite: query.favorite,
diff --git a/src/renderer/features/albums/components/album-detail-content.tsx b/src/renderer/features/albums/components/album-detail-content.tsx
index 398827f73..7f3bd6178 100644
--- a/src/renderer/features/albums/components/album-detail-content.tsx
+++ b/src/renderer/features/albums/components/album-detail-content.tsx
@@ -362,6 +362,9 @@ export const AlbumDetailContent = () => {
const comment = detailQuery?.data?.comment;
+ const releaseYear = detailQuery?.data?.releaseYear;
+ const labels = detailQuery?.data?.recordLabels;
+
const mbzId = detailQuery?.data?.mbzId;
return (
@@ -396,7 +399,15 @@ export const AlbumDetailContent = () => {
-
+ {labels && (
+
+ {labels.map((label) => (
+
+ ℗{releaseYear ? ` ${releaseYear}` : ''} {label}
+
+ ))}
+
+ )}
{cq.height || cq.width ? (
}>
diff --git a/src/shared/api/jellyfin/jellyfin-normalize.ts b/src/shared/api/jellyfin/jellyfin-normalize.ts
index 635297961..57c79343f 100644
--- a/src/shared/api/jellyfin/jellyfin-normalize.ts
+++ b/src/shared/api/jellyfin/jellyfin-normalize.ts
@@ -323,7 +323,7 @@ const normalizeAlbum = (
originalDate: null,
participants: getPeople(item),
playCount: item.UserData?.PlayCount || 0,
- recordLabels: [],
+ recordLabels: item.Studios?.map((entry) => entry.Name) || [],
releaseDate: item.PremiereDate || null,
releaseTypes: [],
releaseYear: item.ProductionYear || null,
diff --git a/src/shared/api/jellyfin/jellyfin-types.ts b/src/shared/api/jellyfin/jellyfin-types.ts
index 1c261e06a..ef24db32b 100644
--- a/src/shared/api/jellyfin/jellyfin-types.ts
+++ b/src/shared/api/jellyfin/jellyfin-types.ts
@@ -525,6 +525,11 @@ const albumArtist = z.object({
UserData: userData.optional(),
});
+const studio = z.object({
+ Id: z.string(),
+ Name: z.string(),
+});
+
const albumDetailParameters = baseParameters;
const album = z.object({
@@ -555,6 +560,7 @@ const album = z.object({
RunTimeTicks: z.number(),
ServerId: z.string(),
Songs: z.array(song).optional(), // This is not a native Jellyfin property -- this is used for combined album detail
+ Studios: z.array(studio),
Tags: z.string().array().optional(),
Type: z.string(),
UserData: userData.optional(),