Skip to content

Instantly share code, notes, and snippets.

@jpenca
Created March 3, 2014 13:12
Show Gist options
  • Save jpenca/9324621 to your computer and use it in GitHub Desktop.
Save jpenca/9324621 to your computer and use it in GitHub Desktop.
- (void) doIt
{
[self.sliceApplyButton setEnabled:NO];
int offset = self.firstStepSlider.intValue - 1;
int length = self.lengthSlider.intValue;
int skip = self.skipSlider.intValue;
int sampleLength = self.sampleLengthSlider.intValue;
float reverseAmt = self.reverseRandAmountSlider.intValue / 1000.0;
float shuffleAmt = self.shuffleRandAmountSlider.intValue / 1000.0;
MDSamplerSlicerDirection direction =
self.directionControl.selectedSegment == 0 ? MDSamplerSlicerDirectionForward : MDSamplerSlicerDirectionBackward;
BOOL generateLocks = self.genLocksToggle.state;
[[MDMIDI sysex] request:MDSysexTransactionContextStatus
arguments:@{MDSysexTransactionArgumentKeyStatusID: @(0x22)}
priority:MDSysexTransactionQueuePriorityLow
onCompletion:^(MDSysexTransaction *t) {
NSNumber *num = t.returnedObject;
int currentTrack = num.intValue;
[[MDMIDI sysex] request:MDSysexTransactionContextCurrentPattern
arguments:nil
priority:MDSysexTransactionQueuePriorityLow
onCompletion:^(MDSysexTransaction *t) {
MDPattern *pattern = t.returnedObject;
self.slicer.pattern = pattern;
self.slicer.trackIdx = currentTrack;
self.slicer.offset = offset;
self.slicer.length = length;
self.slicer.stepInterval = skip;
self.slicer.sampleLength = sampleLength;
self.slicer.sliceReverse = reverseAmt;
self.slicer.randomPlacement = shuffleAmt;
self.slicer.direction = direction;
self.slicer.generateLocks = generateLocks;
[self.slicer slice];
[[[MDMIDI sharedInstance] machinedrumMidiDestination]
sendSysexData:pattern.sysexData];
[self.sliceApplyButton setEnabled:self.connectionOkay];
} onError:^(MDSysexTransaction *t) {
NSLog(@"error, lol");
[self.sliceApplyButton setEnabled:self.connectionOkay];
}];
} onError:^(MDSysexTransaction *t) {
NSLog(@"oh crap.");
[self.sliceApplyButton setEnabled:self.connectionOkay];
}];
}
@TronicLabs
Copy link

many thanks for this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment