1 /* 2 * Copyright (c) 2015 Hanspeter Portner (dev@open-music-kontrollers.ch) 3 * 4 * This is free software: you can redistribute it and/or modify 5 * it under the terms of the Artistic License 2.0 as published by 6 * The Perl Foundation. 7 * 8 * This source is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * Artistic License 2.0 for more details. 12 * 13 * You should have received a copy of the Artistic License 2.0 14 * along the source as a COPYING file. If not, obtain it from 15 * http://www.perlfoundation.org/artistic_license_2_0. 16 */ 17 18 #ifndef _MPE_LV2_H 19 #define _MPE_LV2_H 20 21 #define MPE_CHAN_MAX 16 22 #define MPE_ZONE_MAX (MPE_CHAN_MAX / 2) 23 24 typedef struct _zone_t zone_t; 25 typedef struct _mpe_t mpe_t; 26 27 struct _zone_t { 28 uint8_t base; 29 uint8_t span; 30 uint8_t ref; 31 uint8_t master_range; 32 uint8_t voice_range; 33 }; 34 35 struct _mpe_t { 36 uint8_t n_zones; 37 zone_t zones [MPE_ZONE_MAX]; 38 int8_t channels [MPE_CHAN_MAX]; 39 }; 40 41 #endif 42