Jog Wheel

AI와 함께 읽기
전체 문서 한 파일로 (llms-full.txt)
midi_jog_wheel #I/O #Node

DJ 컨트롤러의 조그 휠을 받는 노드입니다. 조그는 일반 노브와 달리 ‘1메시지 = 돌린 양’을 보내는 상대 입력이므로, 통상적인 MIDI 어사인이 아니라 이 노드의 Learn 버튼으로 할당합니다. 개발은 DDJ-400으로 검증하고 있습니다.

할당(Learn)

노드에 그려진 휠 위에, 실기의 위치에 대응하는 5개의 버튼이 있습니다.

버튼학습하는 신호
바깥쪽의 ←링(외측)을 왼쪽으로 돌렸을 때
바깥쪽의 →링(외측)을 오른쪽으로 돌렸을 때
안쪽의 ←플래터(윗면)를 왼쪽으로 돌렸을 때
안쪽의 →플래터(윗면)를 오른쪽으로 돌렸을 때
Touch윗면을 만졌을 때의 Note(터치 센서)

절차는 ‘버튼을 누른다 → 그 방향으로 1초 정도 계속 돌린다’뿐입니다. 첫 신호로 번호를 확정하고, 그 후 약 0.8초분의 값을 모아 확정합니다. 같은 버튼을 다시 누르면 학습을 중지합니다(학습 중에는 빨갛게 표시됩니다. 도중에 그만둬도 기존 할당은 바뀌지 않습니다). Touch는 만진 순간의 1회 발화로 확정됩니다.

  • 신호 방식(Pioneer 계열의 ‘64 센터’인지, Numark / Hercules 계열의 ‘7bit 2의 보수’인지)은 모은 값으로부터 자동으로 판정합니다. 회전 방향이 반대로 나오는 기종이라도, →/← 어느 버튼으로 학습했는지에 따라 자동으로 반전됩니다
  • 학습한 신호를 보낸 디바이스명도 함께 기억합니다. 이후로는 같은 디바이스로부터의 신호만 받아들입니다(다른 컨트롤러가 같은 번호를 보내도 반응하지 않습니다)
  • 할당이 끝난 버튼은 테두리가 파랗게 되고, 휠 아래에 P ch1 cc34 R ch1 cc33 T n54 처럼 할당이 표시됩니다

DDJ-400은 Vinyl 버튼의 ON / OFF로 윗면의 CC 번호가 바뀝니다. →를 Vinyl ON, ←를 Vinyl OFF로 학습하면 양쪽 번호를 모두 잡을 수 있습니다. 보통은 Vinyl ON에서 양쪽을 학습하는 것으로 충분합니다.

출력

회전량은 모두 ‘회전 수’ 단위입니다. 기종별 분해능(1회전당 신호 수)은 Ticks/Rev로 이 노드가 흡수하므로, 하위 노드는 컨트롤러의 차이를 몰라도 됩니다.

출력내용
Delta플래터(윗면)의 부호 있는 회전량(회전 수). 돌고 있는 프레임에서만 흐르고, 멈춘 직후에 0이 한 번만 흐릅니다
Ring Delta링(외측)의 부호 있는 회전량(회전 수). 위와 동일
Rate플래터의 회전 속도. 1.0이 33⅓rpm으로 돌리는 속도입니다. Smoothing(초, 기본값 0.05)으로 평활화되며, 손을 멈추면 0으로 떨어집니다
Position플래터의 누적 회전 수(1.0 = 1회전)
Touch윗면을 만지고 있는지 여부

파라미터

  • Ticks/Rev(기본값 720) — 1회전당 신호 수. DDJ-400은 720입니다
  • Smoothing(기본값 0.05) — Rate의 평활화 시정수(초). 0이면 원값

동작 보충 설명

  • 휠 그림은 입력에 맞춰 돌며, 돌고 있는 방향 쪽이 파랗게 빛납니다. 터치 중에는 플래터에 테두리가 표시됩니다
  • 컨트롤러를 뽑거나 비활성화하면, 눌린 채로 있던 Touch는 해제됩니다
  • 출력을 재생에 연결하려면 Layer Jog Wheel을 사용합니다. Delta / Ring Delta / Touch를 그대로 꽂으세요

입력 포트

없음

출력 포트

Port ID타입
Deltafloat
RingDeltafloat
Ratefloat
Positionfloat
Touchbool

스크립트에서 설정할 수 있는 멤버

경로타입
ticksPerRevint
smoothingfloat

Synapse Apps (스크립팅)

await synapse.modules.create({ type: "midi_jog_wheel" })

이 페이지로 연결된 페이지