20 lines
485 B
TypeScript
20 lines
485 B
TypeScript
/** A track entry: [timestamp_seconds, artist, title] */
|
|
export type Track = [number, string, string];
|
|
|
|
/** The summary shape used in sidebar listings. */
|
|
export interface StreamSummary {
|
|
id: string;
|
|
stream_date: number;
|
|
filename: string;
|
|
title: string | null;
|
|
tags: string[];
|
|
length_seconds: number;
|
|
}
|
|
|
|
/** The full stream shape used on the detail/player page. */
|
|
export interface Stream extends StreamSummary {
|
|
format: string;
|
|
description: string | null;
|
|
tracks: Track[];
|
|
}
|