|
Deploy / Deploy (push) Successful in 1m27s
Details
|
||
|---|---|---|
| .bundle | ||
| .gitea/workflows | ||
| _data | ||
| _includes | ||
| _layouts | ||
| _posts | ||
| assets | ||
| pages | ||
| scripts | ||
| venv | ||
| .gitignore | ||
| Gemfile | ||
| Gemfile.lock | ||
| _config.yml | ||
| creation.html | ||
| index.md | ||
| readme.md | ||
readme.md
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:
source venv/bin/activate
Isso garante que todas as dependências do projeto sejam utilizadas corretamente.
📚 Discretização da informação
-
Para que a biblioteca de samples do
MMPCreatorseja inicializada, é necessário:cd scripts/creationspython generateManifest.py
-
Para que os projetos sejam indexados e as informações sejam geradas corretamente no
MMPSearché necessário:cd scripts/handlerpython main.py
Dessa forma, os arquivos de manifesto serão gerados, contendo as informações de cada projeto e seus parâmetros individuais. Além disso, os parâmetros de instrumentos também são capturados. A grande mágica está ai, pois contendo as informações de diversos projetos é possível efetuar buscas dentre estes, em diversas categorias.
👁️ 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
- **Tecnologia utilizada: ** Python
Funcionalidade:
Sempre que houver mudanças na pasta de samples, o serviço irá:
- Detectar alterações via
watchdog. - Executar um novo build do site.
- 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:
- Após qualquer modificação nas pastas de samples:
- O script atualiza os arquivos
samples-manifest.jsonemmp-manifest.json. - Os caminhos dos arquivos são ajustados para garantir exibição e execução corretas.
- O script atualiza os arquivos
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.
💻 Backend para controle das salas online (Colaboração)
Um serviço systemd foi criado para hospedar o backend de um servidor em nodeJS responsável por gerenciar as salas e a colaboração online:
- Serviço:
/etc/systemd/system/backend-MMPCreator.service - Nome do serviço:
backend-MMPCreator.service - Frequência: Tempo integral
- **Tecnologia utilizada: ** NodeJS
Funcionalidade:
- Seu intuíto é deixar o backend online em tempo integral, possibilitando a utilização da plataforma em qualquer momento.
- Para isso foi necessário inserir meu usuário no grupo de "ssl-cert" para acesso ao certificado
- Essa abordagem foi escolhida, pois a "não" utilização do apache traz algumas variáveis a mais para a implementação de um proxy reverso para a comunicação via wss e https nas salas.
Acesso:
http://127.0.0.1:33001
✅ Funcionalidades Já Implementadas
- Criar projetos
- Carregar projetos (do PC ou do servidor)
- Salvar projetos (externamente)
- Editar projetos existentes (sem alterar o original)
- Utilizar metrônomo
- Criar e excluir patterns
- Alternar entre patterns em tempo real
- Controle de volume e pan por pattern e por instrumento
- Controle de volume e pan global
- Alterar quantidade e formato de compassos
- Alterar BPM
- Exibir duração da pattern via timer
- Salas online e colaboração em tempo real
- Botões de modo global e local para controle do editor de samples (controla play/pause/stop, loop e janela de loop)
- Exibição de notificações em alterações nos projetos em tempo real
📋 TODO (Próximos Passos)
🛠️ Funcionalidades
- [ x ] Validar projetos MMP antes de aceitar uploads:
- [ x ] Verificar se os samples são nativos
- Corrigir caminhos dos samples (evitar problemas de execução)
- [ x ] Para downloads dos zip de projetos;
- [ x ] Para enviar projetos para a plataforma;
- Reconhecer os caminhos atualizados no MMPCreator;
- Fazer com que os caminhos atualizados permaneçam após cada build.
- [ x ] Permitir envio de samples gravados com microfone:
- Executar e recortar antes de salvar no servidor
- [ x ] 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
ALICE MMPSearch
This is a repository with the purpose of creating a site using Jekyll to serve as a LMMS Beat File Library.
The intuitive is to be able to collect information from the files by indexing it and allows search with the most diverse filters.
It is part of the master's research in Computer Science at the Federal University of São João del Rei, focused on independent underground music production and the use of open source technologies.
The mainstream only exists because the underground created the scene.