16 Commits

Author SHA1 Message Date
ozan 6e92841352 Fix generation JSON/Lyria errors, add Winamp player, and ship Echoes of the Sahel.
Harden DeepSeek JSON parsing with retry, pre-sanitize Lyria prompts, and instrumental fallback. Add pure HTML Winamp skin at /winamp with playlist export support.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:38:52 +01:00
ozan ec4ca4b7c0 Raise daily generation limit to 100 and fix limit UI coercion.
0 was misread as zero allowed on older servers; player no longer falls back to 10 when saving limits.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:28:19 +01:00
ozan 5f90945b97 Define techno-ethnic taste lane and notify when generation is ready.
Bonobo, Jamaica dub, Sahara, Mongolia overtone, and Urdu colour in settings and DJ prompts. Generate runs in background with polling, ready toast, optional browser notification, and autoplay of the new track.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:27:07 +01:00
ozan e15b5e9f98 Refine taste profile, add genre taxonomy, and purge failed batch tracks.
Shift lane to Jon Hopkins Singularity and Karsh Kale fusion (not Turkish or slow country homages). Add genres.json, curate Chac's Dub and Frostbite Dub as keepers, export genres on gateway playlist, and trim library to seven tracks after batch cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:23:41 +01:00
ozan 316dde4919 Fix Windows console encoding in generate-batch progress output.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 15:36:29 +01:00
ozan 98890b9581 Add pytest suite, unlimited daily cap, and vocal batch generator.
Tests cover curation, Lyria, queue, and API routes. Setting max_new_songs_per_day to 0 disables the limit; generate-batch runs 20 curated multilingual vocal directions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 15:33:58 +01:00
ozan b2aad43a44 Add DJ curation metadata, public auto-play radio, and Lyria web controls.
Extensive per-track meta feeds DeepSeek planning. Caravan of the Night kept with electric guitar marked disliked. Sahara Saz remains gold standard. Gateway index.html auto-plays on tinqs.com.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 15:20:10 +01:00
ozan 4b2003866d Add Sahara's Saz and Nomad's Saz — desert dub Anadolu keepers.
Expand the library to four tracks alongside Caravan and Desert Mirage; clean manifest to match on-disk catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:57:50 +01:00
ozan 76e12ace55 Curate library to two keeper tracks — Caravan and Desert Mirage.
Remove Sahara Moon, Dune Chant, and both dervish generations; sync manifest to the slimmed catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:52:45 +01:00
ozan c558b554f2 Sync songs manifest with library after dervish track generations.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:48:10 +01:00
ozan 02ea026851 Replace Spotify API with screenshot taste workflow and example profile.
Remove spotify integration; add TASTE-FROM-SCREENSHOTS guide; ship Ozan settings.json and taste_seeds.json as Cursor examples plus new wandering dervish track.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:47:47 +01:00
ozan 6843ecd6b0 Fix Lyria silent failures and surface generation status in the player.
Robust candidate-part parsing, quota-aware errors, live composing feedback, and two new desert dub tracks in the library.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:33:16 +01:00
ozan 41bb4d6b29 Add shuffle dashboard with cost tracking and daily generation limits.
Player settings panel, stats API, and README document how saved and new tracks mix under a per-day Lyria cap.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:22:39 +01:00
ozan feb8731366 Add settings.json taste profile — ethnic world dubtronica.
DJ and chat read listener preferences from settings.json on every request.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:19:38 +01:00
ozan b8ff25f370 Add song library with Git LFS, DJ chat, and tinqs/live-radio publish path.
Songs persist under songs/ (MP3 via LFS, metadata in git). Player shows saved library.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:18:17 +01:00
ozan 4924db5617 Add Live Ozan Radio — DeepSeek DJ, Lyria 3, and player chat.
Personal AI station that generates tracks from taste seeds or Spotify; safe to share — secrets and cache are gitignored.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:15:42 +01:00