From 153d8ce6ce8a7fc1e1fe41d5569275e8ffaece5c Mon Sep 17 00:00:00 2001 From: jeffvli Date: Fri, 15 Sep 2023 16:52:14 -0700 Subject: [PATCH] Fix nd/jf duration normalizations --- src/renderer/api/jellyfin/jellyfin-normalize.ts | 2 +- src/renderer/api/navidrome/navidrome-normalize.ts | 2 +- src/renderer/components/virtual-table/index.tsx | 2 +- src/renderer/features/player/components/center-controls.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer/api/jellyfin/jellyfin-normalize.ts b/src/renderer/api/jellyfin/jellyfin-normalize.ts index e0bd6108..2bb844a3 100644 --- a/src/renderer/api/jellyfin/jellyfin-normalize.ts +++ b/src/renderer/api/jellyfin/jellyfin-normalize.ts @@ -150,7 +150,7 @@ const normalizeSong = ( container: (item.MediaSources && item.MediaSources[0]?.Container) || null, createdAt: item.DateCreated, discNumber: (item.ParentIndexNumber && item.ParentIndexNumber) || 1, - duration: item.RunTimeTicks / 10000000, + duration: item.RunTimeTicks / 10000, genres: item.GenreItems?.map((entry) => ({ id: entry.Id, imageUrl: null, diff --git a/src/renderer/api/navidrome/navidrome-normalize.ts b/src/renderer/api/navidrome/navidrome-normalize.ts index e3f75e24..ddff7abe 100644 --- a/src/renderer/api/navidrome/navidrome-normalize.ts +++ b/src/renderer/api/navidrome/navidrome-normalize.ts @@ -89,7 +89,7 @@ const normalizeSong = ( container: item.suffix, createdAt: item.createdAt.split('T')[0], discNumber: item.discNumber, - duration: item.duration, + duration: item.duration * 1000, genres: item.genres?.map((genre) => ({ id: genre.id, imageUrl: null, diff --git a/src/renderer/components/virtual-table/index.tsx b/src/renderer/components/virtual-table/index.tsx index f855ccde..acd34d86 100644 --- a/src/renderer/components/virtual-table/index.tsx +++ b/src/renderer/components/virtual-table/index.tsx @@ -189,7 +189,7 @@ const tableColumns: { [key: string]: ColDef } = { headerComponent: (params: IHeaderParams) => GenericTableHeader(params, { position: 'center', preset: 'duration' }), suppressSizeToFit: true, - valueFormatter: (params: ValueFormatterParams) => formatDuration(params.value * 1000), + valueFormatter: (params: ValueFormatterParams) => formatDuration(Number(params.value)), valueGetter: (params: ValueGetterParams) => params.data ? params.data.duration : undefined, width: 70, diff --git a/src/renderer/features/player/components/center-controls.tsx b/src/renderer/features/player/components/center-controls.tsx index 5bacfa44..826bec96 100644 --- a/src/renderer/features/player/components/center-controls.tsx +++ b/src/renderer/features/player/components/center-controls.tsx @@ -124,7 +124,7 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => { const currentTime = useCurrentTime(); const currentPlayerRef = player === 1 ? player1 : player2; - const duration = formatDuration((songDuration || 0) * 1000); + const duration = formatDuration(songDuration || 0); const formattedTime = formatDuration(currentTime * 1000 || 0); useEffect(() => {