📘 README Projeto VirtunoRunner
📘 ReadMe
# 🎹 VirtunoRunner
O **VirtunoRunner** é um executor visual em **Python + NiceGUI**, capaz de pré-visualizar, descarregar e tocar diferentes tipos de ficheiros.
Especial atenção é dada aos **ficheiros MIDI**, que são renderizados no servidor com **FluidSynth/Timidity** e convertidos em áudio (WAV/MP3) para reprodução imediata no browser.
---
## ✨ Funcionalidades
- ✅ **MP3/WAV/OGG**: reprodução nativa no browser.
- ✅ **MIDI (Render & Play)**: renderização no servidor (FluidSynth/Timidity → WAV/MP3).
- ✅ **Imagens, Vídeos, HTML**: abertos diretamente no painel de preview.
- ✅ **Logs detalhados**: mostra os comandos e erros de render.
- ✅ **UI NiceGUI**: interface limpa e responsiva (desktop e Android).
---
## 🖼️ Arquitetura da Solução

---
## 🚀 Instalação
### Dependências do Sistema (Ubuntu/Debian)
```bash
sudo apt-get update
sudo apt-get install -y fluidsynth fluid-soundfont-gm timidity ffmpeg
Python
pip install nicegui
⚙️ Variáveis de Ambiente
| Variável | Default | Descrição |
|---|---|---|
EXECUTOR_OUTPUT_DIR | /home/fgoncalves/Binaries/chatgpt_outputs | Pasta onde a app lê/escreve ficheiros. |
EXECUTOR_PORT | 2020 | Porta HTTP da aplicação NiceGUI. |
EXECUTOR_SESSION_SECRET | virtuno-secret | Segredo de sessão NiceGUI. |
EXECUTOR_TOKEN | vazia | Token opcional para proteger downloads. |
GM_SF2 | auto-deteta | SoundFont .sf2 para FluidSynth. |
🧭 Como Usar
- Coloca os teus ficheiros
.mid,.mp3,.wavna pasta definida emEXECUTOR_OUTPUT_DIR. - Arranca a aplicação:
python3 VirtunoRunner.py - Abre no browser: http://localhost:2020
- Botão Pré-visualizar → abre no painel lateral.
- Botão Tocar (MP3/WAV).
- Botão Renderizar & Tocar (MIDI).
📜 Licença
MIT (ou GPL, conforme preferires).
🌍 Projeto Open Source
O VirtunoRunner é software open-source, disponível para todos.
Contribuições, melhorias e forks são bem-vindos. 🎶
---
GITHUB
VirtunoRunner
### 🖼️ Banner Panorâmico
👉 Por Francisco Gonçalves in 28 August 2025 (c)