use of com.bitwig.extension.controller.api.HardwareAction in project DrivenByMoss by git-moss.
the class MidiInputImpl method bind.
/**
* {@inheritDoc}
*/
@Override
public void bind(final IHwButton button, final BindType type, final int channel, final int control) {
final HardwareButton hardwareButton = ((HwButtonImpl) button).getHardwareButton();
final AbsoluteHardwareValueMatcher pressedMatcher;
final HardwareActionMatcher releasedMatcher;
switch(type) {
case CC:
pressedMatcher = this.port.createAbsoluteCCValueMatcher(channel, control);
releasedMatcher = this.port.createCCActionMatcher(channel, control, 0);
break;
case NOTE:
pressedMatcher = this.port.createNoteOnVelocityValueMatcher(channel, control);
releasedMatcher = this.port.createNoteOffActionMatcher(channel, control);
break;
default:
throw new BindException(type);
}
final HardwareAction pressedAction = hardwareButton.pressedAction();
pressedAction.setPressureActionMatcher(pressedMatcher);
pressedAction.setShouldFireEvenWhenUsedAsNoteInput(true);
setAction(hardwareButton.releasedAction(), releasedMatcher);
}
Aggregations