Atualizar readme.md
Deploy / Deploy (push) Successful in 1m50s
Details
Deploy / Deploy (push) Successful in 1m50s
Details
This commit is contained in:
parent
facc329b03
commit
df7816c69a
145
readme.md
145
readme.md
|
@ -1,69 +1,100 @@
|
||||||
# ----------------------- // --------------------------
|
# mmpCreator - Documentação Técnica
|
||||||
|
|
||||||
# Área de Desenvolvimento
|
---
|
||||||
O site está sendo desenvolvido em um venv, para executá-lo de forma correta, é necessário acessar através do comando:
|
|
||||||
|
## 🛠️ Á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
|
source venv/bin/activate
|
||||||
Isso ativará o ambiente de desenvolvimento.
|
```
|
||||||
|
|
||||||
# ----------------------- // --------------------------
|
Isso garante que todas as dependências do projeto sejam utilizadas corretamente.
|
||||||
|
|
||||||
# Serviço Watchdog para verificar alterações nas pastas de samples
|
---
|
||||||
Foi criado um serviço (/etc/systemd/system/mmpCreator-upload-server.service) com nome "mmpCreator-upload-server.service" para verificar alterações na pasta src/samples se há alguma mudança. Caso tenha, ele fará um novo build do site para que seja atualizado em tempo real todas as alterações. (tempo de 5 em 5 segundos)
|
|
||||||
A atualização no site é feita a partir de build do site feito pelo script.
|
|
||||||
|
|
||||||
# TO DO
|
## 👁️ Serviço de Monitoramento (Watchdog)
|
||||||
- Verificar caminho do build, pois está sendo feito apenas na parte de testes
|
|
||||||
|
|
||||||
# ----------------------- // --------------------------
|
Um serviço systemd foi criado para monitorar alterações na pasta `src/samples`:
|
||||||
|
|
||||||
# Servidor de Upload de samples
|
- **Serviço:** `/etc/systemd/system/mmpCreator-upload-server.service`
|
||||||
O servidor "upload_server.py" é responsável por receber o upload dos arquivos de áudio (samples) para a plataforma.
|
- **Nome do serviço:** `mmpCreator-upload-server.service`
|
||||||
É um servidor Flask, utilizando a biblioteca watchdog do Python para monitorar as modificações nas pastas de samples.
|
- **Frequência:** A cada 5 segundos
|
||||||
Após qualquer alteração identificada, o script fará a atualização dos caminhos de arquivos de áudio através dos json (samples-manifest.json e mmp-manifest.json) para que todos os arquivos tenham sua exibição correta, assim como sua execução.
|
|
||||||
|
|
||||||
http://127.0.0.1:5000
|
### Funcionalidade:
|
||||||
É necessário verificar o quão seguro isso é, para que seja validado como ferramenta oficial ou não do projeto.
|
|
||||||
Inicialmente, está em produção para fazer testes.
|
|
||||||
|
|
||||||
# ----------------------- // --------------------------
|
Sempre que houver mudanças na pasta de samples, o serviço irá:
|
||||||
|
|
||||||
# TODO
|
1. Detectar alterações via `watchdog`.
|
||||||
- Verificar projeto MMP antes de aceitar o upload
|
2. Executar um novo build do site.
|
||||||
- Verificar se são samples nativos;
|
3. Atualizar automaticamente o conteúdo do site em tempo real.
|
||||||
- Corrigir caminhos dos samples para que não haja problemas durante o download e execução na plataforma.
|
|
||||||
- Envio de samples gravados com o microfone do dispositivo
|
|
||||||
- Possibilitar a execução e recorte do sample antes de salvá-lo de fato no servidor (evitar muito lixo salvo)
|
|
||||||
- Possibilita a gravação de músicas na plataforma, mesmo que sejam sem mixagem.
|
|
||||||
- Ativar e desativar samples nas patterns, para executar apenas samples específicos ou alternar entre ativo e inativo
|
|
||||||
- Retirar botões inúteis do controle de patterns
|
|
||||||
- Deixar o código mais bem documentado, facilitando o entendimento de externos ao desenvolvimento
|
|
||||||
- Possibilitar a alteração dos nomes das patterns (tanto em novos projetos, quanto em projetos que foram baixados/carregados)
|
|
||||||
- Corrigir a parte de notas do projeto, deixando rastros da plataforma MMPCreator, informações de autor e etc
|
|
||||||
- Adicionar atalhos, espaço pra play/pause, + e - para alternar entre as patterns, etc
|
|
||||||
- Possibilitar a alteração do nome do sample (?) (não sei se é tão válido, porque pode gerar inúmeros samples repetidos)
|
|
||||||
- Verificar se já há algum sample com o mesmo nome, para não ficar duplicando samples
|
|
||||||
- Verificar se já há algum projeto com o mesmo nome, para não ficar duplicando projetos
|
|
||||||
- Resetar valores dos botões utilizando o scroll do mouse
|
|
||||||
- Na hora de salvar projeto, verificar se quer baixar o projeto (possibilitando escolher o nome) ou salvar no servidor
|
|
||||||
|
|
||||||
# ----------------------- // --------------------------
|
> **Nota:** O build atual está sendo feito apenas na parte de testes. Verificar e ajustar o caminho correto do build.
|
||||||
|
|
||||||
# O que já é possível fazer
|
---
|
||||||
- Criar projeto;
|
|
||||||
- Carregar projeto do PC ou do Servidor;
|
## 📤 Servidor de Upload de Samples
|
||||||
- Salvar projeto de forma externa (no servidor ainda não tá salvando);
|
|
||||||
- Editar projetos já existentes (não alterando o original);
|
O servidor `upload_server.py` é responsável por receber arquivos de áudio (samples) para a plataforma. Ele é construído com:
|
||||||
- Usar o metrônomo;
|
|
||||||
- Criar patterns;
|
- **Framework:** Flask
|
||||||
- Excluir patterns;
|
- **Monitoramento:** Biblioteca `watchdog`
|
||||||
- Alternar entre as patterns em tempo real;
|
|
||||||
- Aumentar/diminuir volume das patterns;
|
### Funcionamento:
|
||||||
- Alterar pan das patterns;
|
|
||||||
- Aumentar/diminuir volume dos instrumentos;
|
1. Após qualquer modificação nas pastas de samples:
|
||||||
- Alterar pan dos instrumentos;
|
- O script atualiza os arquivos `samples-manifest.json` e `mmp-manifest.json`.
|
||||||
- Aumentar/diminuir volume global;
|
- Os caminhos dos arquivos são ajustados para garantir exibição e execução corretas.
|
||||||
- Alterar pan global;
|
|
||||||
- Alterar a quantidade de compassos da música;
|
### Acesso:
|
||||||
- Alterar o formato do compasso da música;
|
|
||||||
- Alterar o BPM;
|
- `http://127.0.0.1:5000`
|
||||||
- Ver o tempo de duração da pattern através do timmer.
|
|
||||||
|
> ⚠️ **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
|
||||||
|
|
Loading…
Reference in New Issue