Skip to content

Handle Push 2 encoder MIDI input #17

@joaodotwork

Description

@joaodotwork

Description

Receive and decode MIDI CC messages from Push 2's 8 track encoders, touch events, and navigation buttons via push2-python's mido callback thread.

Tasks

  • Register @on_encoder_rotated callback for CC 71–78
  • Decode relative 2's complement values (1–63 = CW, 127–64 = CCW)
  • Handle encoder touch events (Note 0–7, velocity 127 = touch, 0 = release)
  • Handle Page Left (CC 62) and Page Right (CC 63) for parameter bank navigation
  • Handle upper display buttons (CC 102–109) and lower buttons (CC 20–27)
  • Map encoder index to current parameter page slot
  • Connect to Push 2 User Port (or send SysEx mode command)

Acceptance Criteria

  • All 8 encoders correctly update their mapped parameter
  • Touch events trigger visual highlight on the display
  • Page buttons navigate through parameter banks of 8
  • Works on Push 2 User Port without Ableton running

Technical Notes

Column Encoder CC Touch Note Upper Button CC Lower Button CC
1 CC 71 Note 0 CC 102 CC 20
2 CC 72 Note 1 CC 103 CC 21
... ... ... ... ...
8 CC 78 Note 7 CC 109 CC 27

Decoding: delta = value if value <= 63 else value - 128
Resolution: ~210 steps per full rotation

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions