use of com.bitwig.extension.controller.api.HardwareActionMatcher 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);
}
use of com.bitwig.extension.controller.api.HardwareActionMatcher in project DrivenByMoss by git-moss.
the class MidiInputImpl method bindTouch.
private void bindTouch(final ContinuousHardwareControl<?> hardwareControl, final BindType type, final int channel, final int control) {
final HardwareActionMatcher pressedMatcher;
final HardwareActionMatcher releasedMatcher;
switch(type) {
case CC:
pressedMatcher = this.port.createCCActionMatcher(channel, control, 127);
releasedMatcher = this.port.createCCActionMatcher(channel, control, 0);
break;
case NOTE:
pressedMatcher = this.port.createNoteOnActionMatcher(channel, control);
releasedMatcher = this.port.createNoteOffActionMatcher(channel, control);
break;
default:
throw new BindException(type);
}
setAction(hardwareControl.beginTouchAction(), pressedMatcher);
setAction(hardwareControl.endTouchAction(), releasedMatcher);
}
Aggregations