import os
from pygame import mixer

class MusicPlayerModel:
    def __init__(self):
        self.music_folder = "resources"
        self.current_song = None
        mixer.init()

    def load_songs(self):
        """Carga las canciones desde la carpeta de recursos."""
        if not os.path.exists(self.music_folder):
            os.makedirs(self.music_folder)
            return [], "Carpeta 'resources' creada. Agrega canciones."

        songs = [f for f in os.listdir(self.music_folder) if f.endswith(".mp3")]
        if not songs:
            return [], "No se encontraron archivos MP3 en 'resources'."

        return songs, "Canciones cargadas con éxito."

    def play_song(self, song_name):
        """Reproduce una canción por su nombre."""
        song_path = os.path.join(self.music_folder, song_name)
        try:
            mixer.music.load(song_path)
            mixer.music.play()
            self.current_song = song_name
            return f"Reproduciendo: {song_name}"
        except Exception as e:
            return f"Error al reproducir: {e}"

    def stop_song(self):
        """Detiene la reproducción de música."""
        mixer.music.stop()
        self.current_song = None
        return "Reproducción detenida."
