From 27c42dd9f489b77a1eceb2e66e5f26dc41e48e31 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Tue, 31 Mar 2026 01:07:11 -0700 Subject: [PATCH] add OS transcoding extension to ServerInfo output --- src/renderer/api/subsonic/subsonic-controller.ts | 4 ++++ src/shared/api/subsonic/subsonic-types.ts | 1 + src/shared/types/features-types.ts | 1 + 3 files changed, 6 insertions(+) diff --git a/src/renderer/api/subsonic/subsonic-controller.ts b/src/renderer/api/subsonic/subsonic-controller.ts index 3a8b60bf3..43ea7788f 100644 --- a/src/renderer/api/subsonic/subsonic-controller.ts +++ b/src/renderer/api/subsonic/subsonic-controller.ts @@ -1273,6 +1273,10 @@ export const SubsonicController: InternalControllerEndpoint = { } } + if (subsonicFeatures[SubsonicExtensions.TRANSCODING]) { + features.osTranscodeDecision = [1]; + } + if (subsonicFeatures[SubsonicExtensions.SONG_LYRICS]) { features.lyricsMultipleStructured = [1]; } diff --git a/src/shared/api/subsonic/subsonic-types.ts b/src/shared/api/subsonic/subsonic-types.ts index dc1936c9a..f591d49b8 100644 --- a/src/shared/api/subsonic/subsonic-types.ts +++ b/src/shared/api/subsonic/subsonic-types.ts @@ -456,6 +456,7 @@ export enum SubsonicExtensions { INDEX_BASED_QUEUE = 'indexBasedQueue', SONG_LYRICS = 'songLyrics', TRANSCODE_OFFSET = 'transcodeOffset', + TRANSCODING = 'transcoding', } const updatePlaylistParameters = z.object({ diff --git a/src/shared/types/features-types.ts b/src/shared/types/features-types.ts index 33a722a53..00218d266 100644 --- a/src/shared/types/features-types.ts +++ b/src/shared/types/features-types.ts @@ -7,6 +7,7 @@ export enum ServerFeature { LYRICS_SINGLE_STRUCTURED = 'lyricsSingleStructured', MUSIC_FOLDER_MULTISELECT = 'musicFolderMultiselect', OS_FORM_POST = 'osFormPost', + OS_TRANSCODE_DECISION = 'osTranscodeDecision', PLAYLISTS_SMART = 'playlistsSmart', PUBLIC_PLAYLIST = 'publicPlaylist', SERVER_PLAY_QUEUE = 'serverPlayQueue',