# KDO7
Android application for managing musical setlists. Allows you to create and organize repertoires, reorder songs via drag-and-drop, and export setlists in multiple formats. It also contains a musical puzzle module called 'zap'.
## Features
- **Music Library** - Registration, editing, search, sorting and grouping by name/artist/genre, multi-selection with batch editing of genres and key
- **Attributes per Song** - Key (24 values), Duration (mm:ss), BPM, Notes, in addition to name/artist/genres
- **Song Suggestion** - Modal with a curated catalog of 999 songs, filtering by genre and random selection without duplicates. Includes a warning that BPM/duration are reference values
- **Import / Export** - Unified button for import (text, CSV, JSON, PDF, DOCX, Excel .xlsx) and export (JSON, CSV, Excel .xlsx)
- **Setlists** - Creation, duplication, renaming, reservations, show date and editor with drag & drop
- **Total Setlist Duration** - Clickable chip displays total duration; Modal displays breakdown (main tracks, reserve, intervals) and allows editing the interval between songs
- **Setlist Filters** - By band, location and date (upcoming, past, undated)
- **Setlist Export** - PDF, DOCX and image (300 DPI A4 = 2480x3508 px) with preview and formatting settings
- **Setlist-by-Setlist Configuration** - Local formatting override over global configuration
- **Setlist-by-Setlist Tags** - Choose which attributes (Key, BPM, Duration, Notes) appear on the editor cards, persisted per setlist
- **Extended Import/Export** - Preserves Key, Duration, BPM and Notes in CSV/JSON/XLSX; Text syntax `Name - Artist [Genre] (C, 3:45, 120)`
- **Random Generator** - Generates random setlists with genre filter and 80/20 distribution
- **Sharing** - Native sharing on Android
- **Backup** - Export and import data with smart merge, now accessible via the Settings screen
- **Multi-selection** - Bar with count and "Select all" aligned to the left, automatic compact mode in large typographic scales (4 and 5) — only icons, zero overflow in all 4 languages
- **Customization** - 7 color palettes + custom, dark mode, 8 fonts and 5 typographic scales
- **i18n** - Interface in 4 languages: Portuguese, English, French and Chinese, with auto-detection of the device language on first access
- **Game** ZAP** - Musical puzzle with 5 worlds, 100 levels, realistic synthesized audio, instruments, and saved progress
- **Hybrid Audio in ZAP** - Local `.wav` samples with fallback to Web Audio synthesis (PeriodicWave + formant chains + noise transients)
- **Dynamic Logo** - Logo with automatic tinting based on the theme color (light and dark mode)
- **Centralized ZAP Shortcut** - Quick access button to the ZAP game centralized in the toolbar
- **Interactive Tutorial** - 6 thematic modules with spotlight, tooltips, and saved progress, with contextual gates (requires minimum data before starting)
- **WelcomeFlow** - 3-step welcome flow on first access, with language selection chips and auto-detection