示例#1
0
static void file_monome_in(rove_file_t *self, rove_monome_t *monome, const int x, const int y, const int type) {
    unsigned int cols;

    rove_monome_position_t pos = {x, y - self->y};

    switch( type ) {
    case MONOME_BUTTON_DOWN:
        if( y < self->y || y > ( self->y + self->row_span - 1) )
            return;

        cols = (self->columns) ? self->columns : monome->cols;
        if( x > cols - 1 )
            return;

        self->new_offset =
            calculate_play_pos(self->file_length, pos.x, pos.y,
                               (self->play_direction == FILE_PLAY_DIRECTION_REVERSE),
                               self->row_span, cols);

        rove_pattern_append_step(CMD_LOOP_SEEK, self, self->new_offset);
        rove_file_on_quantize(self, rove_file_seek);

        break;

    case MONOME_BUTTON_UP:
        break;
    }
}
示例#2
0
文件: jack.c 项目: rknLA/rove
static void process_file(rove_file_t *f) {
	if( !f )
		return;

	if( f->quantize_cb ) {
		f->quantize_cb(f);
		rove_file_on_quantize(f, NULL);
	}
}