Sobre o projeto

Mousiki é um player de música de terminal (TUI) projetado para usuários que preferem controle por teclado e camadas de interface mínimas. Ele é construído para velocidade e operação leve, com forte foco em personalização e um fluxo de trabalho que permanece inteiramente no terminal. **Principais Recursos:** - **Reprodução de Música Local:** Navegue e reproduza arquivos de música da sua biblioteca local com facilidade. - **Busca e Streaming Online:** Pesquise e transmita faixas diretamente de fontes online, alimentado por yt-dlp. - **Letras Sincronizadas:** Destaque de letras ativas em tempo real, palavra por palavra, obtido via script Python do Better Lyrics (principal) e LRCLIB (fallback). - **Visualizadores:** Espectro FFT em tempo real (usando kissfft), renderização de forma de onda e arte de disco giratório, com fluidez configurável. - **Gerenciamento de Fila:** Enfileiramento eficiente, embaralhamento, repetição e filtragem baseada em pastas. - **Altamente Configurável:** Ajuste cores, comportamento do visualizador, animações e atalhos de teclado através de um arquivo de configuração de texto em `$HOME/.config/mousiki/config.txt`. **Plataformas Suportadas:** - Suporte nativo para Linux, macOS e Android (via Termux). - O suporte a Windows não é verificado pelo autor, mas pode funcionar; contribuições são bem-vindas. **Começando:** - Clone o repositório e execute `bash setup.sh` (para macOS com Homebrew, Linux baseado em Debian ou Termux) para instalar dependências, gerar uma configuração padrão e compilar o aplicativo. - Compilações manuais exigem `cmake`, um compilador C++17, `ffmpeg`, `yt-dlp` e o pacote `requests` do Python. - Após compilar, execute `./build/mousiki`. **Atalhos de Teclado Padrão (configuráveis):** - Buscar: `/` (local), `/s: <consulta>` (stream online) - Baixar stream atual: `y` - Reproduzir/Pausar: `p` ou `ENTER` - Próxima/Anterior: `n` / `b` - Avançar/Retroceder: `SETA_ESQUERDA` / `SETA_DIREITA` - Volume: `1` / `2` - Embaralhar/Repetir: `m` / `r` - Navegar: `SETA_ACIMA` / `SETA_ABAIXO` - Alternar abas: `TAB` - Adicionar/Remover da fila: `a` / `d` - Filtro de pasta: `f` - Limpar filtro: `c` - Sair: `q` **Configuração:** O arquivo de configuração é gerado automaticamente. Você pode adicionar caminhos de música personalizados adicionando múltiplas entradas `LocalMusicPath`. Todos os atalhos de teclado e configurações visuais são editáveis lá. **Dependências e Atribuição:** Mousiki usa miniaudio (reprodução de áudio), kissfft (FFT para visualizadores), yt-dlp (streaming online), FFmpeg (manipulação multimídia) e o pacote `requests` do Python para letras. Ele é lançado sob a Licença Apache 2.0.