00001 //midi for embedded chips, 00002 //Copyright 2010 Alex Norman 00003 // 00004 //This file is part of avr-midi. 00005 // 00006 //avr-midi is free software: you can redistribute it and/or modify 00007 //it under the terms of the GNU General Public License as published by 00008 //the Free Software Foundation, either version 3 of the License, or 00009 //(at your option) any later version. 00010 // 00011 //avr-midi is distributed in the hope that it will be useful, 00012 //but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 //GNU General Public License for more details. 00015 // 00016 //You should have received a copy of the GNU General Public License 00017 //along with avr-midi. If not, see <http://www.gnu.org/licenses/>. 00018 00019 #ifndef SYSEX_TOOLS_H 00020 #define SYSEX_TOOLS_H 00021 00022 #include <inttypes.h> 00023 00052 uint16_t sysex_encoded_length(uint16_t decoded_length); 00053 00061 uint16_t sysex_decoded_length(uint16_t encoded_length); 00062 00072 uint16_t sysex_encode(uint8_t *encoded, const uint8_t *source, uint16_t length); 00073 00083 uint16_t sysex_decode(uint8_t *decoded, const uint8_t *source, uint16_t length); 00084 00087 #endif