feat: analysis providers, settings UI, song search, WAV duration fix
- Multi-provider AI analysis (Anthropic, OpenAI, Ollama, Algorithmic) - server-only guards on all provider files; client bundle fix - /settings page with provider status, Ollama model picker, preferences - Song search box on /analyze replacing raw MBID input (debounced, keyboard nav) - Auto-register song via MusicBrainz on POST /api/tracks (no more 404) - Fix WAV duration bug: last section songEnd was double-counting elapsed time - Registry sync comment updated for self-hosted HTTPS git servers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -68,6 +68,11 @@ export interface SongRow {
|
||||
updated_at: Date;
|
||||
}
|
||||
|
||||
export async function getSongByMbid(mbid: string): Promise<SongRow | null> {
|
||||
const { rows } = await query<SongRow>("SELECT * FROM songs WHERE mbid = $1", [mbid]);
|
||||
return rows[0] ?? null;
|
||||
}
|
||||
|
||||
export async function searchSongs(q: string, limit = 20): Promise<SongRow[]> {
|
||||
const { rows } = await query<SongRow>(
|
||||
`SELECT * FROM songs
|
||||
|
||||
Reference in New Issue
Block a user