MIDI Pick-up Mode: the rapid-movement branch is unreachable
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- cpp
- Domínio
- audio-video-rtc
Direção de pesquisa
Comece em src/audiomixerboard.cpp, em midiPickupTryApply, no ramo de cruzamento, em prevMidi e no local onde são chamados; leia o texto de ajuda de Pick-up Mode em src/clientsettingsdlg.cpp para entender o comportamento pretendido. Rastreie as atualizações do histórico e a seleção da amostra anterior; em seguida, valide que movimentos rápidos que delimitam estritamente sejam tratados, enquanto a janela de tolerância existente permanece correta.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
🤖 AI: Pick-up Mode's rapid-movement handling never executes. Its help text promises a control waits until the physical controller matches the software value, and an inner branch exists to also catch a controller swept fast enough that its values "skip over" that value. That branch is unreachable, for two independent reasons.
midiPickupTryApply returns before appending to the history buffer, so while a control is armed the buffer stays empty and the size() >= 2 guard in front of the crossing test never holds. Independently, prevMidi reads back(), while the sole call site has already pushed the incoming sample onto that same buffer — so prevMidi is the incoming sample, and the bracket test reduces to midiValue == currentValue, which the tolerance check above it has already accepted.
Driving those helpers verbatim across every strictly-bracketing two-sample crossing of the fader range, both samples outside the tolerance: on ee40cfe2, 0 of 147,440 pick up. Repairing either defect alone leaves 0. Repairing both gives 147,440. What remains on stock is the tolerance window by itself — armed at fader 50, 5 of 101 controller positions are accepted, 48 through 52 — so a fader swept briskly steps over the window and stops responding, which is the case the unreachable branch was written for.
Present since the MIDI GUI PR.
🤖 This message was written by AI and reviewed by @mcfnord.
- Linguagem predominante
- C
- Estrelas
- 1.1k
- Forks
- 250
- Merge médio
- 7d 7h
- PRs com merge (30d)
- 2
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerTalvez já em andamento @ann0see assumiu há 42 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
jamulussoftware/jamulus#3953 · 2 comentários ·
-
AI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jamulussoftware/jamulus#3846 ·
-
Qt6 moving towards cmakeAbertafeature request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
jamulussoftware/jamulus#3964 · 3 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
jamulussoftware/jamulus#3961 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 76/100
jamulussoftware/jamulus#3958 ·
Todas as issues de jamulussoftware/jamulus
Issues semelhantes
-
dependency component: oneMKL module: dpclang
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
intel/torch-xpu-ops#5880 ·
Mantenedores costumam responder em até 2 dias
-
area/ci-build bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
DarkFlippers/qUnleashed#423 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
CVE-2026-111497Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
fink/fink-distributions#1322 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 83/100
openvehicles/Open-Vehicle-Monitoring-System-3#1563 ·
Mantenedores costumam responder em até 2 dias