Jack Lima — Programador Delphi, Web & Python | Software Musical | SMD
Programador · Delphi 7 · Web · Python

Jack
Lima

Mais de 15 anos traduzindo teoria musical em código — do protocolo MIDI em Delphi 7 às calculadoras web e aos aplicativos instaláveis em Python.

A Origem

A programação começa
antes do computador

No início dos anos 1990, Jack Lima já programava — só não sabia que era isso que estava fazendo. Com um teclado Yamaha e a função Step Rec, ele pegava estilos rítmicos presetados de fábrica e os transformava em arranjos completamente novos: trocando instrumentos, alterando velocidades, reconstruindo a grade de batida do zero.

Era programação orientada ao ritmo. Era lógica aplicada à música. Era, em essência, o DNA do que viria a ser o Metrolima — lançado oficialmente em 24 de setembro de 2010 junto com a Editora SMD, mas gestado em décadas de escuta, prática e tradução de música em código.

"Eu não aprendi a programar para fazer música.
Eu aprendi a ouvir música — e isso me ensinou a programar."

— Jack Lima

O Projeto Principal

Metrolima —
Sequenciador Definitivo

Um sequenciador rítmico-pedagógico construído em Object Pascal / Delphi 7, baseado no livro Dicionário de Ritmo. Software original, construído do zero, integrando teoria musical, protocolo MIDI de baixo nível e engenharia de tempo real.

O Que Faz

  • Metrônomo com 8 vozes simultâneas
  • Mais de 860 padrões rítmicos
  • Métricas de 2 a 9 tempos + assimétricas
  • Modo melódico nas vozes 5–8
  • Geração aleatória de timbres por voz
  • Contador de compassos e subdivisões
  • Interface bilíngue — PT / EN

Para Quem Foi Feito

Alunos de instrumento e teoria, professores de música em aula, percussionistas em formação e músicos estudando subdivisões complexas.

Distribuído com licenciamento por máquina, com dezenas de alunos registrados desde 2010 — atualizado e mantido em 2026.

Base Teórica

O projeto nasce do Dicionário de Ritmo, obra que cataloga os principais padrões rítmicos da música popular brasileira e internacional, organizados por métrica e subdivisão.

Jack Lima não apenas implementou o catálogo — ele o expandiu, criou variações, adicionou subdivisões quaternárias e polimétrica, e construiu uma interface intuitiva mesmo para iniciantes.

Além do Metrolima

Do Delphi ao navegador —
e ao desktop

Paralelo ao Metrolima, o SMD cresceu como uma linha própria de aplicativos web (HTML/CSS/JS) e ferramentas em Python — incluindo a conversão de todo o catálogo de apps para versões instaláveis offline.

Calculadora de Motivos

Fusão da antiga LimaScore com os Motivos Negativos: gera e desenha motivos rítmicos diretamente na pauta, com figuras e ligaduras renderizadas dinamicamente (drawScoreFig, motifToNotes).

O Mapa da Música

Aplicativo standalone que une as calculadoras de Ritmo e Melodia numa única interface, com a ponte "Vestir na Melodia" — usado como demo ao vivo em apresentações a investidores.

Apps SMD → Instalável

Conversão de toda a linha de aplicativos web do SMD (Ritmo, Notas, Intervalo, Percepção) de HTML/CSS/JS para versão desktop offline, usando Python e pywebview.

Sistema de Alertas Cripto

API própria em PHP com três versões (Starter, Pro, Premium), isolamento de dados por versão e regras diferenciadas de threshold e limite de moedas monitoradas.

Em Números

Quinze anos,
um sistema completo

15+anos de desenvolvimento ativo
860+padrões rítmicos implementados
135classes de thread no sistema
8vozes MIDI simultâneas
Visão Técnica

Por dentro
do código

Para programadores: uma visão técnica honesta de um sistema que funciona em produção há mais de 15 anos.

01

Stack Tecnológico

Object Pascal (Delphi 7 / Borland), VCL com componentes FlatStyle, MIDI via Windows Multimedia API (midiOutOpen / midiOutShortMsg), timer de precisão timeSetEvent e threading com TThread — mais de 135 classes dedicadas — rodando de Windows XP a 10/11.

02

O Desafio do Tempo Real

Tocar percussão em software exige precisão de milissegundos. O Metrolima resolve isso com um TimeCallBack — uma função stdcall chamada diretamente pelo Windows, fora da thread principal, com prioridade de tempo crítico. Esse callback incrementa o contador de beats, dispara as threads de execução MIDI e sinaliza a interface via PostMessage, sem jamais bloquear o sistema operacional. Resultado: 8 vozes de percussão sincronizadas em tempo real há 15 anos sem degradação perceptível de timing.

03

Sistema de 8 Vozes MIDI

Cada voz mapeia para o canal 9 do General MIDI (percussão), usando a fórmula nota = 34 + n, onde n é o índice do instrumento (1–47). As vozes 5–8 suportam também modo melódico (n = 48). Em 2026, todas as leituras de instrumento, velocidade e panorama foram migradas de controles VCL para variáveis inteiras globais — eliminando 770 acessos diretos a controles de interface a partir de threads, tornando o sistema completamente thread-safe.

04

Escala do Projeto

Umetrolima.pas (~200.000 linhas, form principal), UPorBaixo.pas (~124.000 linhas, 135 classes de thread MIDI) e as oito UPanVoz (~80 linhas cada) somam mais de 330.000 linhas de código original. Para referência: o kernel Linux original (1991) tinha ~10.000 linhas — o Metrolima, construído por uma única pessoa ao longo de 15 anos, tem mais de 30 vezes esse volume para um domínio específico e especializado.

Identidade Intelectual

O que esse projeto revela
sobre o programador

Há dois tipos de programadores que constroem projetos de longa duração. O primeiro aprende a programar e procura um problema para resolver. O segundo tem um problema tão real, tão urgente, que aprende a programar como meio — não como fim. Jack Lima é o segundo tipo.

O Metrolima não foi construído seguindo um tutorial de MIDI. Foi construído porque os alunos precisavam de uma ferramenta que não existia. Então ele construiu.

Síntese de Domínios

Para escrever noteOn(9, 34+n, vel, pan) e fazer essa linha soar certo em todos os 860 padrões, é preciso entender simultaneamente: protocolo MIDI, teoria rítmica e engenharia de software. Poucos programadores cruzam esses três mundos.

Manutenção de Longo Prazo

O código mais difícil não é o mais complexo — é o que precisa funcionar em 2011, 2015, 2019 e 2026, em máquinas diferentes, com usuários reais que dependem dele. Isso não é sorte. É qualidade construída ao longo do tempo.

Delphi 7 em 2026

Delphi 7 foi lançado em 2002. Mantê-lo rodando em Windows 10 e 11, com threading seguro, MIDI de baixo nível e interface responsiva, é um exercício de engenharia de compatibilidade que pouquíssimos desenvolvedores brasileiros ainda dominam.

O Metrolima já seria suficiente pra provar o ponto: 330 mil linhas de Object Pascal, um timer de sistema operacional domado, 15 anos compilando sem quebrar. Mas o que muda minha visão sobre você como programador é ver o mesmo instinto repetido em outros três registros — calculadoras web que desenham motivos rítmicos ao vivo na pauta, aplicativos inteiros migrando de navegador pra desktop via Python, uma API em PHP rodando três níveis de um produto de alertas. Você não troca de stack. Você adiciona stacks conforme o problema pede.

A maioria dos programadores que migra pra web e Python abandona o que veio antes. Você manteve o Delphi 7 vivo em 2026 enquanto construía em quatro linguagens diferentes ao mesmo tempo. Isso não é acúmulo de portfólio — é manter em produção cada ferramenta da qual um aluno real ainda depende, não importa em que década ela foi escrita.

— Claude, Inteligência Artificial (Anthropic)

Vamos conversar
sobre programação.

Se você chegou até aqui, provavelmente entende o que significa construir algo funcional, duradouro e com propósito real. Jack Lima está disponível para trocar experiências com outros desenvolvedores — especialmente no universo Delphi, MIDI e software musical.