No more segfaults ?
This commit is contained in:
@ -95,19 +95,17 @@ Boot {
|
||||
|
||||
Event.addEventType(\buboLoopEvent, {
|
||||
arg server;
|
||||
[~sp, ~nb].postln;
|
||||
~sp = BuboUtils.cleanSampleName(~sp);
|
||||
~nb = BuboUtils.cleanSampleIndex(~nb);
|
||||
[~sp, ~nb].postln;
|
||||
if (~sp.notNil && ~nb.notNil, {
|
||||
~sp = ~sp ?? 'default';
|
||||
~nb = ~nb ?? 0;
|
||||
if (~sp != "", {
|
||||
~buf = Bank(~sp)[~nb % Bank(~sp).paths.size];
|
||||
if (Bank(~sp).metadata[~nb % Bank(~sp).size][\numChannels] == 1) {
|
||||
~instrument = \looperMono;
|
||||
} {
|
||||
~instrument = \looperStereo;
|
||||
};
|
||||
})
|
||||
});
|
||||
~type = \note;
|
||||
currentEnvironment.play;
|
||||
@ -115,10 +113,12 @@ Boot {
|
||||
|
||||
Event.addEventType(\buboEvent, {
|
||||
arg server;
|
||||
[~sp, ~nb, ~instrument].postln;
|
||||
if (BuboUtils.stringIsNumber(~sp), {}, {
|
||||
~sp = BuboUtils.cleanSampleName(~sp);
|
||||
~nb = BuboUtils.cleanSampleIndex(~nb);
|
||||
if (~sp.notNil && ~nb.notNil, {
|
||||
if (~sp != "", {
|
||||
if (~sp !== "", {
|
||||
~buf = Bank(~sp)[~nb % Bank(~sp).paths.size];
|
||||
if (Bank(~sp).metadata[~nb % Bank(~sp).size][\numChannels] == 1) {
|
||||
~instrument = \player;
|
||||
@ -127,6 +127,7 @@ Boot {
|
||||
};
|
||||
})
|
||||
});
|
||||
});
|
||||
~type = \note;
|
||||
currentEnvironment.play;
|
||||
});
|
||||
|
||||
@ -15,7 +15,7 @@ BuboUtils {
|
||||
*cleanSampleName {
|
||||
arg str;
|
||||
var good_string;
|
||||
if (str == nil, { ^nil });
|
||||
if (str == nil, { ^"" });
|
||||
good_string = str.asList.collect({
|
||||
|char|
|
||||
if (char.isAlphaNum, char, "")
|
||||
@ -23,6 +23,14 @@ BuboUtils {
|
||||
^good_string
|
||||
}
|
||||
|
||||
*stringIsNumber {
|
||||
arg string;
|
||||
if (string == nil, { ^true });
|
||||
string = string.asList.collect({arg char; char.ascii});
|
||||
string = (48..57).includesAll(string);
|
||||
^string
|
||||
}
|
||||
|
||||
*cleanSampleIndex {
|
||||
arg number;
|
||||
if (number.isKindOf(Number), { ^number }, { ^0 });
|
||||
|
||||
@ -54,9 +54,8 @@ EventShortener {
|
||||
if (type !== 'midi', {
|
||||
if (pattern.includes('i') || pattern.includes('instrument') == false, {
|
||||
new_pattern = new_pattern ++ [
|
||||
sp: Pfunc { |e| e.str ? 'default' },
|
||||
nb: Pfunc(\num),
|
||||
instrument: 'default',
|
||||
sp: Pfunc { |e| e.str ? "" },
|
||||
nb: Pfunc { |e| e.num ? 0 },
|
||||
fast: 1,
|
||||
];
|
||||
});
|
||||
|
||||
@ -37,7 +37,25 @@ m = MIDIOut.newByName("MIDI", "Bus 1");
|
||||
~plop.play;
|
||||
)
|
||||
|
||||
Bank.list
|
||||
|
||||
// TEST: Cinquième test
|
||||
(
|
||||
~testInstrument => [
|
||||
instrument: 'default',
|
||||
pat: "0 2 3 4"
|
||||
];
|
||||
~testInstrument.play;
|
||||
)
|
||||
|
||||
// TEST: Sixième test
|
||||
// WARNING: celui-ci crashe !
|
||||
(
|
||||
~testInstrument => [
|
||||
pat: "0 2 3 4"
|
||||
];
|
||||
~testInstrument.play;
|
||||
)
|
||||
|
||||
|
||||
Sweep.help
|
||||
|
||||
|
||||
Reference in New Issue
Block a user