You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
784 B
35 lines
784 B
|
|
void playPattern(int *timer, int duration, int *step) {
|
|
*timer = *timer >= duration ? 0 : *timer+1;
|
|
usleep(1000);
|
|
|
|
if(*timer == 0) {
|
|
drawRects(*step-1);
|
|
for(int i=0; i<matrix[0]; i++) {
|
|
if(pattern[i][*step-1] == 1) {
|
|
Mix_PlayChannel(-1, samples[i], 0);
|
|
}
|
|
}
|
|
*step = *step < matrix[1] ? *step+1 : 1;
|
|
}
|
|
}
|
|
|
|
void setSample(int sample, int step) {
|
|
if(setErease) {
|
|
for(int i=0; i<matrix[1]; i++) {
|
|
pattern[sample-1][i] = 0;
|
|
}
|
|
setErease = false;
|
|
} else if(selectPattern) {
|
|
loadPattern(sample);
|
|
selectPattern = false;
|
|
} else {
|
|
pattern[sample-1][step-1] = 1;
|
|
for(int i=0; i<matrix[0]; i++) {
|
|
for(int y=0; y<matrix[1]; y++) {
|
|
printf("%d ", pattern[i][y]);
|
|
}
|
|
printf("\n");
|
|
}
|
|
}
|
|
}
|