Toob Player UI

This commit is contained in:
Robin E. R. Davies
2025-06-07 21:52:23 -04:00
parent 82f94cb152
commit 6ea45f46df
29 changed files with 1860 additions and 319 deletions
+20 -2
View File
@@ -21,6 +21,7 @@
* SOFTWARE.
*/
import { pathConcat, pathParentDirectory } from "./FileUtils";
import { PiPedalModel } from "./PiPedalModel";
export class ThumbnailType {
@@ -39,6 +40,8 @@ export default class AudioFileMetadata {
this.title = o.title;
this.track = o.track;
this.album = o.album;
this.artist = o.artist;
this.albumArtist = o.albumArtist;
this.duration = o.duration;
this.thumbnailType = o.thumbnailType;
this.thumbnailFile = o.thumbnailFile;
@@ -47,16 +50,20 @@ export default class AudioFileMetadata {
return this;
}
fileName: string = "";
lastModified: number = 0;
lastModified: number = 0;
title: string = "";
track: number = 0;
album: string = "";
artist: string = "";
albumArtist: string = "";
duration: number = 0;
thumbnailType: ThumbnailType = new ThumbnailType();
thumbnailFile = "";
thumbnailLastModified = 0;
}
export function getAlbumArtUri(model: PiPedalModel, metadata: AudioFileMetadata | undefined, path: string): string {
let coverArtUri: string;
if (!metadata) {
@@ -65,10 +72,21 @@ export function getAlbumArtUri(model: PiPedalModel, metadata: AudioFileMetadata
if (metadata.thumbnailType === ThumbnailType.None) {
return "/img/missing_thumbnail.jpg";
} else if (metadata.thumbnailType === ThumbnailType.Folder) {
// Use the thumbnailFile to get the cover art.
let thumbnailPath = pathConcat(pathParentDirectory(path) ,metadata.thumbnailFile);
coverArtUri = model.varServerUrl + "Thumbnail"
+ "?ffile=" + encodeURIComponent(thumbnailPath)
+ "&t=" + metadata.thumbnailLastModified
+ "&w=240&h=240"
;
return coverArtUri;
} else {
// for embeed and unknown
coverArtUri = model.varServerUrl + "Thumbnail"
+ "?path=" + encodeURIComponent(path)
+ "&t=" + metadata.thumbnailLastModified
+ "&t=" + metadata.lastModified
+ "&w=240&h=240"
;
return coverArtUri;