How isaacisaraloone/proyecto-2-reproductor-mp3 works
This is a desktop MP3 library and player. The main workflow presents a searchable track library, lets users select a track for playback or edit its metadata, and supports importing MP3 directories by reading tags and storing tracks. The graph separates UI orchestration, mining, playback, and catalog persistence. Some named modules were not excerpted; their capabilities and connections are included only where the supplied index or excerpts support them.
Main entry points: Controlador.kt UI controller · Main.kt Application startup · Reproductor.kt Audio engine · AlmacenMusica.kt Music repository
Components 14
Desktop interface
- Application startup
src/main/kotlin/interfaz/Main.kt - UI controller
src/main/kotlin/interfaz/Controlador.kt - Library view
src/main/kotlin/interfaz/Vista.kt - Track row model
src/main/kotlin/interfaz/FilaRola.kt
Library mining
- Directory miner
src/main/kotlin/minero/Audio.kt - Tag analyzer
src/main/kotlin/minero/Analizador.kt - Metadata record
src/main/kotlin/minero/Extractor.kt
Music catalog
- Music repository
src/main/kotlin/nucleo/AlmacenMusica.kt - Database manager
src/main/kotlin/nucleo/GestorBaseDatos.kt - SQLite catalog
- Catalog entities
src/main/kotlin/nucleo/Entidades.kt
Audio playback
- Audio engine
src/main/kotlin/reproductor/Reproductor.kt - Playback listener API
src/main/kotlin/reproductor/OyenteMotorAudio.kt
Other components
- Listener
Connections 19
- Listener → Library view: uses
src/main/kotlin/interfaz/Vista.kt - Application startup → Database manager: initializes
src/main/kotlin/interfaz/Main.kt - Application startup → Music repository: creates
src/main/kotlin/interfaz/Main.kt - Application startup → Library view: creates
src/main/kotlin/interfaz/Main.kt - Application startup → Audio engine: creates
src/main/kotlin/interfaz/Main.kt - Application startup → UI controller: wires
src/main/kotlin/interfaz/Main.kt - UI controller → Library view: handles events
src/main/kotlin/interfaz/Controlador.kt - UI controller → Track row model: maps tracks
src/main/kotlin/interfaz/Controlador.kt - UI controller → Music repository: queries and edits
src/main/kotlin/interfaz/Controlador.kt - UI controller → Directory miner: starts import
src/main/kotlin/interfaz/Controlador.kt - UI controller → Audio engine: controls playback
src/main/kotlin/interfaz/Controlador.kt - Audio engine → UI controller: notifies events
src/main/kotlin/interfaz/Controlador.kt - Directory miner → Tag analyzer: analyzes files
src/main/kotlin/minero/Audio.kt - Tag analyzer → Metadata record: returns metadata
src/main/kotlin/minero/Analizador.kt - Directory miner → Music repository: stores tracks
src/main/kotlin/minero/Audio.kt - Music repository → SQLite catalog: reads and writes
src/main/kotlin/nucleo/AlmacenMusica.kt - Database manager → SQLite catalog: opens and schemas
src/main/kotlin/nucleo/GestorBaseDatos.kt - Application startup → Database manager: closes
src/main/kotlin/interfaz/Main.kt - Audio engine → Playback listener API: implements callbacks
src/main/kotlin/reproductor/Reproductor.kt