mmpSearch/readme.md

101 lines
3.3 KiB
Markdown

# mmpCreator - Documentação Técnica
---
## 🛠️ Área de Desenvolvimento
O site está sendo desenvolvido em um ambiente virtual Python (`venv`). Para executá-lo corretamente, ative o ambiente com o comando:
```bash
source venv/bin/activate
```
Isso garante que todas as dependências do projeto sejam utilizadas corretamente.
---
## 👁️ Serviço de Monitoramento (Watchdog)
Um serviço systemd foi criado para monitorar alterações na pasta `src/samples`:
- **Serviço:** `/etc/systemd/system/mmpCreator-upload-server.service`
- **Nome do serviço:** `mmpCreator-upload-server.service`
- **Frequência:** A cada 5 segundos
### Funcionalidade:
Sempre que houver mudanças na pasta de samples, o serviço irá:
1. Detectar alterações via `watchdog`.
2. Executar um novo build do site.
3. Atualizar automaticamente o conteúdo do site em tempo real.
> **Nota:** O build atual está sendo feito apenas na parte de testes. Verificar e ajustar o caminho correto do build.
---
## 📤 Servidor de Upload de Samples
O servidor `upload_server.py` é responsável por receber arquivos de áudio (samples) para a plataforma. Ele é construído com:
- **Framework:** Flask
- **Monitoramento:** Biblioteca `watchdog`
### Funcionamento:
1. Após qualquer modificação nas pastas de samples:
- O script atualiza os arquivos `samples-manifest.json` e `mmp-manifest.json`.
- Os caminhos dos arquivos são ajustados para garantir exibição e execução corretas.
### Acesso:
- `http://127.0.0.1:5000`
> ⚠️ **Importante:** Avaliar a segurança do servidor antes de validar como ferramenta oficial do projeto. Atualmente está sendo usado apenas para testes.
---
## ✅ Funcionalidades Já Implementadas
- [x] Criar projetos
- [x] Carregar projetos (do PC ou do servidor)
- [x] Salvar projetos (externamente)
- [x] Editar projetos existentes (sem alterar o original)
- [x] Utilizar metrônomo
- [x] Criar e excluir patterns
- [x] Alternar entre patterns em tempo real
- [x] Controle de volume e pan por pattern e por instrumento
- [x] Controle de volume e pan global
- [x] Alterar quantidade e formato de compassos
- [x] Alterar BPM
- [x] Exibir duração da pattern via timer
---
## 📋 TODO (Próximos Passos)
### 🛠️ Funcionalidades
- [ ] Validar projetos MMP antes de aceitar uploads:
- [ ] Verificar se os samples são nativos
- [ ] Corrigir caminhos dos samples (evitar problemas de execução)
- [ ] Permitir envio de samples gravados com microfone:
- [ ] Executar e recortar antes de salvar no servidor
- [ ] Gravar músicas diretamente na plataforma, mesmo sem mixagem
- [ ] Ativar/desativar samples em patterns
- [ ] Remover botões inúteis no controle de patterns
- [ ] Melhorar documentação do código
- [ ] Permitir alteração dos nomes das patterns (novos e existentes projetos)
- [ ] Corrigir sistema de notas do projeto:
- [ ] Incluir rastros da plataforma MMPCreator
- [ ] Informações de autor e metadados
- [ ] Criar atalhos de teclado:
- [ ] Barra de espaço para play/pause
- [ ] `+` e `-` para alternar entre patterns
- [ ] Permitir alteração de nome de samples (⚠️ pode gerar duplicatas)
- [ ] Verificar duplicidade de samples e projetos por nome
- [ ] Resetar valores de botões via scroll do mouse
- [ ] Ao salvar projeto:
- [ ] Permitir escolha entre download ou salvar no servidor
- [ ] Escolher nome do projeto