GP-200 Editor para Android
Editor independente de presets para pedaleiras Valeton GP-200, feito para Android com Kotlin, Jetpack Compose e Material 3. Conecte a pedaleira por USB MIDI para editar efeitos, organizar presets e controlar os ritmos pelo celular.
Versão atual do projeto: 1.0.9. A publicação 1.0.0 disponibilizou o código-fonte; esta revisão não inclui APK oficial para download. O mantenedor informou que o teste físico das novas associações CTRL terminou corretamente. Modelo e firmware desse teste não foram registrados; outras variantes precisam de validação própria.
O app não acessa a internet nem coleta dados pessoais; veja a política de privacidade.
Este projeto não é um produto oficial da Valeton e não declara afiliação ou endosso da fabricante. Os nomes de marcas e equipamentos são usados como referências de identificação e pertencem aos respectivos titulares.
Conheça o app
![]() Conexão Conecte a pedaleira ou explore o modo offline. |
![]() Cadeia de sinal Visualize, ative e organize os efeitos. |
![]() Edição de AMP Ajuste os parâmetros do amplificador. |
![]() Presets Busque slots e importe arquivos .prst. |
![]() Ritmos Escolha padrões, volume e andamento. |
![]() Seleção de AMP Busque e escolha um modelo de amplificador. |
![]() Controles Configure os três knobs e vários efeitos em cada CTRL. |
![]() Sobre Versão, aviso de independência, créditos e código-fonte. |
|
![]() Efeitos favoritos Marque modelos com a estrela e filtre os favoritos do bloco atual. |
||
![]() Reordenar a cadeia Segure a alça e arraste o card; mova o FX Send e o FX Return com as setas. |
![]() Opções legíveis Opções que não cabem ao lado do nome passam para a linha de baixo. |
![]() Salvar em outro slot Toque longo em Salvar para mudar nome, autor, volume e local do patch. |
![]() Descrição do efeito Toque no ícone ao lado do nome para ver a arte e a descrição completa. |
![]() Nomes completos Rótulos longos dos knobs quebram em duas linhas em vez de serem cortados. |
![]() Fonte grande Com a fonte do sistema ampliada, textos e abas continuam inteiros. |
As capturas de conexão, cadeia, editor de efeitos, presets, ritmos e sobre são da versão 1.0.0, feitas em emulador no modo offline. As telas de edição e seleção de AMP e a de Controles mostram a versão 1.0.1 após importar o fixture 01-A CTRL - TEST.prst. A captura do seletor com favoritos mostra a versão 1.0.2 no emulador offline. As capturas de reordenação da cadeia, das opções do Classic Bass e do diálogo de salvar em outro slot são da versão 1.0.8, e as da descrição do efeito, dos nomes completos e da fonte grande (130%) são da versão 1.0.9, todas no emulador offline; por isso o botão Salvar na pedaleira aparece desabilitado. As imagens não representam uma conexão MIDI ativa.
Recursos
- 11 blocos de efeitos: PRE, WAH, DST, AMP, NR, CAB, EQ, MOD, DLY, RVB e VOL, com ativação e edição. Para reordenar, segure a alça do card (ele fica destacado) e arraste; um toque rápido na alça abre o menu Mover para cima/baixo.
- FX Loop: os marcadores FX Send e FX Return aparecem na cadeia e podem ser movidos com as setas, sempre com o Send antes do Return.
- Editor de parâmetros: knobs respeitam faixa e passo do catálogo; opções de switches e seletores que não cabem ao lado do nome passam para a linha de baixo, sem cortar nenhuma, e nomes longos de knobs quebram em duas linhas. O ícone ao lado do nome do efeito abre a arte do pedal e a descrição completa do modelo em que ele se baseia.
- Fontes grandes: com a fonte do sistema ampliada, a tela inicial rola quando não cabe, os botões crescem com o texto e os rótulos da barra inferior diminuem para caber.
- Nomes de IR e SnapTone: ao conectar, o app lê os nomes dos 20 User IRs e dos 10 SnapTones gravados na pedaleira e os mostra no seletor, na cadeia, no editor e nos controles. Os nomes ficam guardados para uso offline.
- Efeitos favoritos: marque ou desmarque modelos pela estrela no seletor. A aba Favoritos aparece quando o bloco atual tem efeitos marcados e combina com a busca; os favoritos ficam salvos no app e são compartilhados entre patches, nos modos online e offline, sem serem alterados pela sincronização da pedaleira.
- Parâmetros do patch: volume, Pan, tempo e Tap Tempo.
- Biblioteca de 256 slots: sincronização com a pedaleira, busca, renomeação e cache local.
- Arquivos
.prst: importação com confirmação, exportação para armazenamento e compartilhamento por outros apps. A leitura aceita arquivos de 1176 ou 1224 bytes; a exportação gera 1224 bytes. Antes de chegar à pedaleira, o arquivo é conferido: cadeia sem os 11 blocos é recusada, valores fora da faixa ou das opções do catálogo são ajustados e modelos desconhecidos são mantidos; o diálogo de importação avisa o que mudou. - Salvamento com verificação: o app lê o slot após a escrita e compara a resposta com o preset esperado antes de confirmar o resultado. Um toque em Salvar grava no slot atual; o toque longo abre Configurações do patch, onde é possível mudar nome, autor e volume e escolher outro slot de destino, com confirmação antes de substituir.
- Ritmos: catálogo de 100 padrões com busca e filtros por gênero, reprodução na pedaleira, volume e BPM.
- Controles físicos: configuração dos três knobs físicos e dos CTRL 1 a CTRL 4. Cada CTRL pode ter vários blocos entre PRE, WAH, DST, AMP, NR, CAB, EQ, MOD, DLY, RVB e VOL.
- Sobre: versão da compilação, aviso de aplicativo não oficial da Valeton e créditos dos projetos utilizados.
O app é um controlador/editor: o processamento de guitarra e a reprodução dos ritmos acontecem na pedaleira. O modo offline permite explorar a interface e editar dados locais disponíveis; ele não emula o áudio da GP-200. Dados em cache podem estar desatualizados em relação ao equipamento.
Como usar
- Compile e instale o aplicativo seguindo as instruções abaixo.
- Use um aparelho com Android 8.0 (API 26) ou superior, suporte a USB host/OTG e MIDI.
- Conecte a pedaleira ligada usando um cabo de dados compatível com o seu aparelho e adaptador OTG, se necessário.
- Abra o app, toque em Conectar Pedaleira e aguarde a sincronização. Sem um cache completo, o app precisa ler a biblioteca de 256 slots; com cache, ele sincroniza de novo na primeira conexão de cada dia.
- Abra um bloco na aba Cadeia para editar seus parâmetros, ou segure a alça de um card e arraste para mudar a ordem. Use Presets para navegar pelos slots, importar, exportar e compartilhar.
- Use Salvar para gravar na pedaleira e aguarde a confirmação da leitura de verificação. Para gravar em outro slot, segure Salvar e escolha o Local do patch. Durante salvamento, importação e sincronização completa, a edição fica bloqueada.
Para conhecer a interface sem equipamento, toque em Continuar sem conectar (Modo Offline) na tela inicial. Quando não há preset em cache, o app cria um Preset Inicial com todos os blocos desligados, o primeiro modelo da lista de cada bloco selecionado e parâmetros no meio das respectivas faixas, ajustados aos passos disponíveis. Opções discretas usam a opção central inferior quando não existe um centro exato. Presets já armazenados não são substituídos por esse padrão.
Os mapeamentos de controles dependem de dados previamente lidos ou importados. Na aba Controles, use as abas CTRL 1 a CTRL 4 para escolher o controle e marque os blocos que ele deve afetar; a seção dos três knobs continua disponível acima. Ao testar no hardware, faça backup dos seus presets antes de gravar alterações.
Ao escolher o modelo de um bloco, toque na estrela ao lado do efeito para adicioná-lo ou removê-lo dos favoritos. A aba Favoritos filtra os modelos marcados compatíveis com aquele bloco e desaparece quando não há nenhum favorito nele. Os favoritos são preferências locais do app, independentes do preset atual e preservadas ao trocar ou sincronizar patches.
No modo offline, abra Presets → Importar, escolha um arquivo .prst e toque em Apenas testar (ao vivo) para carregar o patch no app sem gravá-lo na pedaleira. Depois, abra Controles para conferir ou editar os knobs e CTRLs daquele patch.
Compilar
Requisitos: JDK 21, Android SDK com plataforma 36, ferramentas de compilação e Platform Tools. O projeto usa o Gradle Wrapper incluído no repositório.
-
Clone o repositório e abra a pasta no Android Studio.
-
Configure o SDK pelo Android Studio ou crie um
local.properties(ignorado pelo Git):sdk.dir=/caminho/para/Android/Sdk -
Configure
JAVA_HOMEpara o seu JDK 21 ou selecione um JDK 21 nas configurações do Gradle no Android Studio../gradlew :app:assembleDebug
O APK fica em app/build/outputs/apk/debug/app-debug.apk.
Para instalar em um emulador ou aparelho de testes com depuração USB habilitada:
adb install -r app/build/outputs/apk/debug/app-debug.apk
O APK de depuração é assinado automaticamente com a chave de desenvolvimento da máquina e serve para testes locais. Não é necessário configurar uma chave de release para publicar somente este código-fonte.
Build de release para a Play Store
O bundle de release é assinado com a chave de upload informada em keystore.properties, na raiz do projeto. Esse arquivo e os .jks são ignorados pelo Git; use keystore.properties.example como modelo. Sem o arquivo, o Gradle gera o bundle sem assinatura.
./gradlew :app:bundleRelease
O AAB fica em app/build/outputs/bundle/release/app-release.aab. Os logs de diagnóstico MIDI só são emitidos em builds debug.
Compilar uma versão local de verificação não exige incrementar a versão. APKs distribuídos devem seguir a política de versões descrita em AGENTS.md.
Testes
./gradlew :core-protocol:test :device-usb:test :app:testDebugUnitTest
Para executar também a análise estática da configuração de release:
./gradlew :app:lintRelease
Os testes cobrem codecs .prst e SysEx, catálogo, planos de escrita, verificação de salvamento, transporte, estado da aplicação e persistência. Testes unitários e capturas do emulador não comprovam comunicação MIDI nem comportamento físico de todas as variantes da pedaleira.
Organização do código
| Módulo | Responsabilidade |
|---|---|
app | Interface Compose, navegação, estado de edição, biblioteca local e importação/exportação. |
core-protocol | Modelos, catálogos, codecs de arquivo e MIDI e regras de verificação, sem dependências Android. |
device-usb | Integração com as APIs MIDI do Android, conexão e transporte USB. |
Veja AGENTS.md para orientações de desenvolvimento e a documentação dos controles para as evidências e limitações do protocolo de mapeamentos.
Dados e permissões
O código atual mantém o cache da biblioteca no armazenamento privado do app. Arquivos exportados são gravados no destino escolhido pelo usuário ou compartilhados pelo seletor do Android. O código-fonte e o manifesto atual não incluem telemetria nem permissão de Internet. O manifesto permite backup pelo Android; o comportamento depende das configurações do sistema.
Licença e origem dos recursos
O código próprio deste aplicativo é disponibilizado sob GNU GPL versão 3. Consulte LICENSE e os créditos e avisos de terceiros. Você pode redistribuir e modificar o código próprio sob os termos dessa licença; o software é fornecido sem garantia. Materiais de terceiros mantêm seus avisos e condições aplicáveis.
Este aplicativo contém adaptações do núcleo de presets/protocolo de gp200editor / Preset Forge, de phash, e de partes compartilhadas com o GP200 Studio, de Kabir Tamari. Como os dois projetos compartilham código, os créditos não atribuem cada trecho exclusivamente a um deles.
Os 278 SVGs dos pedais vêm do GP200 Studio. O ícone do aplicativo foi gerado separadamente com IA, sem imagens de terceiros como referência.
Os testes usam o preset Clean, criado e fornecido pelo mantenedor. O arquivo original foi preservado byte a byte em clean.prst; a documentação da fixture registra sua origem e hash.
Consulte a ressalva sobre a licença de phash em THIRD_PARTY_NOTICES.md. As cópias originais das licenças estão em docs/licenses/.














