suporte a dispositivo midi

O sistema de mapeamento de atalho foi testado mais extensivamente com o Behringer X-Touch Mini e contém código personalizado para lidar com os recursos específicos deste dispositivo. Todos os outros dispositivos são tratados como “midi genéricos” e podem ou não funcionar (bem) ou precisar de alguma configuração manual a cada utilização. Uma estrutura de configuração (possivelmente em lua) para suportar recursos específicos de dispositivos adicionais está na lista de tarefas.

Se você conseguir colocar um dispositivo midi em funcionamento que não tenha sido mencionado abaixo, seria muito apreciado se você fornecesse feedback para ajudar outras pessoas, se forem necessárias etapas especiais. Você pode fazer isso enviando um pull request de documentação para alterar esta página ou registrar um problema contendo as informações necessárias. Alternativamente, você pode ler ou responder a qualquer um dos problemas (fechados) relacionados ao midi ou “inputng” ou fazer um pull request no repositório principal da darktable se você mesmo precisar de ajuda ou orientação adicional.

🔗Behringer X-Touch Mini

O dispositivo deve estar no modo padrão (não MC). As camadas A e B são razoavelmente suportadas. No entanto, uma vez que o dispositivo não envia uma notificação ao alternar entre as camadas, e uma vez que as atualizações para rotores e luzes “ocultos” (tanto sob os botões e o padrão usado ao redor dos rotores) são ignoradas, tudo só será atualizado completamente depois que você pressionar ou acionar algo na “nova” camada.

Os anéis de luz ao redor dos rotores mostram um padrão diferente dependendo se o controle deslizante associado tem uma faixa +/- simétrica centrada em torno de 0, 0-100 (ou 0-1) ou qualquer outra coisa. Se estiver vinculado a uma lista suspensa (ou classificação por estrelas), o rotor piscará uma luz por vez. Se a lista suspensa tiver muitos (mais de 13) itens (como a lista suspensa do modo de mesclagem), o rotor girará duas vezes; a primeira vez com uma luz acesa e a segunda vez com duas luzes adjacentes.

🔗Arturia Beatstep

Os rotores individuais podem ser configurados para enviar valores absolutos (0-127) ou alterações (+/- 1,2,3, … em codificações diferentes). A configuração recomendada é Relative #1 para todos os botões com Knob Acceleration configurada para Slow (Off) ou Medium. Isso pode ser configurado com o Centro de Controle Midi, disponível para Windows ou MacOS. Por padrão, o módulo darktable midi assume, para dispositivos desconhecidos, que os rotores usam codificações absolutas. Após a inicialização, é necessário informar que o dispositivo está enviando movimentos relativos. Você pode fazer isso girando um dos codificadores lentamente para a esquerda (para baixo) 5 vezes. Isso permite que o módulo determine qual das várias codificações relativas é usada. Se você não conseguir alternar as codificações na primeira tentativa, poderá reinicializar os módulos de entrada pressionando Ctrl+Shift+Alt+I e tentar novamente. Se ainda tiver problemas, você pode tentar isto.

Se você mapear os botões do Beatstep para classificações, rótulos de cores ou botões de alternância, eles devem acender quando o elemento correspondente for ativado.

🔗Behringer BCR2000

(e possivelmente BCF2000)

Essas máquinas são altamente configuráveis, portanto, há muitas configurações que podem complicar a interação com o módulo midi do darktable. A ferramenta de gerenciamento do BC (disponível para Windows e MacOS) pode ser usada para configurá-los. A coisa mais fácil a fazer é redefinir todos os codificadores e botões para suas configurações mais simples, o que pode ser feito (para o BCR2000) usando este arquivo. Você pode enviá-lo para a máquina com o Gerenciador do BC ou (no Linux) com o amidi. Há também uma configuração global chamada “Deadtime” que determina por quanto tempo o BCR ignora as mensagens que chegam depois de enviar atualizações. Isso evita loops de feedback, mas para o darktable significa que bloqueia os ajustes enviados de volta imediatamente após cada movimento do rotor. Portanto, o Deadtime precisa ser definido como 0.

Uma vez configurado desta forma, as luzes do botão e do rotor devem funcionar. A linha superior de rotores (ou a única linha para o BCF2000) suporta diferentes padrões de luz (como o X-Touch Midi, com algumas opções extras e possui 15 em vez de 13 leds). No entanto, configurá-los é mais complicado e ainda não foi implementado. Também parece ser mais lento, por isso pode não ser viável em tempo real para cada atualização (como é feito para o X-Touch). Portanto, no momento, apenas o padrão de 12 pontos é usado. Para rotores vinculados a listas suspensas, assim como no rotor do X-Touch, a luz gira duas vezes; para as primeiras 15 opções apenas uma luz acende, para as segundas 15 opções, duas luzes adjacentes estarão acesas.

🔗Loupedeck

(e Loupedeck+, mas não os dispositivos não midi posteriores)

Pelas informações fornecidas aqui, a maioria das funcionalidades dos dois primeiros modelos Loupedeck (ambos baseados em midi) devem ser suportadas, com as seguintes exceções e ressalvas:

  • os botões Matiz/Saturação/Luminosidade podem ser mapeados para as abas no módulo de zonas de cores, mas as pequenas luzes próximas a eles podem não responder às mensagens de atualização enviadas quando o usuário alterna as abas usando o mouse, então eles podem ficar fora de sincronia

  • os 8 controles deslizantes/rodas podem ser mapeados individualmente para os elementos do gráfico em zonas de cores

Fora isso, uma vez que o Loupedeck usa a codificação Relative (por isso é semelhante ao Beatstep), ele precisará informar o módulo midi a cada inicialização (até que um sistema de configuração tenha sido implementado). Faça isso girando qualquer um dos botões (ou rodas) lentamente para baixo/para a esquerda 5 vezes. Reinicialize a camada de entrada com Ctrl+Shift+Alt+I se não funcionar da primeira vez para que você possa tentar novamente.

🔗Korg nanoKONTROL2

O dispositivo deve ser configurado primeiro usando o aplicativo Korg Kontrol Editor para estar no modo CC e cada botão deve ser definido para o tipo de nota e comportamento de botão Momentâneo. Para controlar as luzes nos botões, o modo LED deve ser definido como Externo. É importante notar que os botões Track e Marker não possuem leds.

Há um perfil do Kontrol Editor disponível aqui que pode ser carregado usando o aplicativo Windows para configurar diretamente todas essas configurações para funcionar corretamente com o darktable.

🔗configuração midi adicional

Se o darktable for compilado com portmidi, na inicialização ele tentará abrir até 10 dispositivos midi na ordem em que os encontrar. Na linha de comando, você pode ver algo assim:

[midi_open_devices] opened midi device 'Arturia BeatStep' via 'MMSystem' as midi0
[midi_open_devices] opened midi device 'BCR2000' via 'MMSystem' as midi1
[midi_open_devices] opened midi device 'X-TOUCH MINI' via 'MMSystem' as midi2

Dois problemas podem surgir:

  • um dispositivo que você não deseja usar pode ser aberto de qualquer maneira (e potencialmente causar um comportamento inadequado, como iniciar um show de fogos de artifício prematuramente (consulte este documento), ou

  • os dispositivos podem aparecer em uma ordem diferente na próxima inicialização (por exemplo, porque estão conectados a uma porta USB diferente). Como as configurações são armazenadas apenas com o número do dispositivo, a reordenação faria com que um layout incorreto fosse selecionado.

Você pode especificar quais dispositivos carregar explicitamente em um local específico e quais ignorar usando o parâmetro de configuração preferências > miscelânea > interface > carregar ou excluir dispositivos midi. Para pular o carregamento do BCR2000 no exemplo acima e fixar os outros dois dispositivos nos slots de número 0 e 2, você pode definir este parâmetro de configuração como “BeatStep;dontuse;X-TOUCH;-BCR2000”. Isso deixaria o BeatStep como dispositivo midi0, sempre deixaria midi1 sem uso e não carregaria o BCR2000, mas se outros dispositivos estiverem conectados, eles aparecerão como midi3, midi4 e assim por diante. Adicionar “;-” no final impediria o carregamento de outros dispositivos. Ou, se você apenas especificar o parâmetro de configuração como um único sinal de menos “-”, nenhum dispositivo será carregado.

Os botões do controlador Midi podem usar várias “codificações” diferentes. O padrão, absoluto, envia um valor de 0 (toda a esquerda) a 127 (toda a direita) – os controles deslizantes também podem usar codificação absoluta. Os codificadores relativos enviam um valor “para baixo” se você os girar para a esquerda e um valor “para cima” se você os girar para a direita. Então, girar lentamente um desses “para cima” enviaria “1, 1, 1, 1”, por exemplo. Mas dependendo de quantos bits são usados e qual codificação, um giro lento à esquerda pode ser 127 (8 bits -1) ou 63, 31 ou 15. Ou até 65. Se nada for especificado nesta opção de preferência, os dispositivos midi são considerados como usando codificação absoluta. Mas se as primeiras cinco mensagens recebidas forem idênticas, supõe-se que o usuário girou lentamente um botão para a esquerda/baixo e a codificação é deduzida disso e exibida em uma dica. A codificação não é lembrada para cada dispositivo, portanto, essa manobra precisa ser repetida a cada inicialização. Para definir a codificação deduzida para a próxima inicialização, você pode adicionar este parâmetro à configuração “carregar ou excluir dispositivos midi”. Por exemplo “Loupedeck:127”.

Alguns controladores midi possuem teclas com uma luz abaixo delas. Elas podem ser usadas para alternar as configurações e mostrar a posição atual acendendo ou apagando a luz. Nesse caso, o darktable verifica periodicamente (algumas vezes por segundo) se, digamos, a posição de um botão de alternância na tela foi alterada e envia mensagens para qualquer botão de dispositivo midi vinculado para ligar ou desligar a luz. Mas se um dispositivo desconhecido foi conectado involuntariamente, isso pode ser indesejável. Portanto, por padrão, o darktable espera até que uma mensagem de “nota” seja recebida de um botão midi antes de enviar qualquer mensagem de ativação/desativação da luz de “nota” de volta para esse botão. Dessa forma, também não são endereçados mais botões do que os existentes no dispositivo. Se você quiser que todas as luzes dos botões sejam usadas imediatamente (em vez de pressionar a nota mais alta uma vez para cada sessão), você pode especificar o número de botões na preferência “carregar ou excluir dispositivos midi”, por exemplo, “BeatStep:63 :16”.

translations