1 /* 2 * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 /** 17 * @file picodefs.h 18 * 19 * SVOX Pico definitions 20 * (SVOX Pico version 1.0 and later) 21 * 22 * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland 23 * All rights reserved. 24 * 25 * History: 26 * - 2009-04-20 -- initial version 27 */ 28 29 30 #ifndef PICODEFS_H_ 31 #define PICODEFS_H_ 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 38 /* ********************************************************************/ 39 /* SVOX Pico limits */ 40 /* ********************************************************************/ 41 /* maximum size of a voice name, including the terminating null 42 character */ 43 #define PICO_MAX_VOICE_NAME_SIZE 32 44 45 /* maximum size of a resource name, incl. the terminating null 46 character */ 47 #define PICO_MAX_RESOURCE_NAME_SIZE 32 48 49 /* maximum size of a data path name, incl. the terminating null 50 character */ 51 #define PICO_MAX_DATAPATH_NAME_SIZE 128 52 53 /* maximum size of a file name, incl. the terminating null 54 character */ 55 #define PICO_MAX_FILE_NAME_SIZE 64 56 57 /* maximum number of resources */ 58 #define PICO_MAX_NUM_RESOURCES 64 59 60 /* maximum number of voice definitions */ 61 #define PICO_MAX_NUM_VOICE_DEFINITIONS 64 62 63 /* maximum number of resources per voice */ 64 #define PICO_MAX_NUM_RSRC_PER_VOICE 16 65 66 /* maximum length of foreign header prepended to PICO resource files 67 (header length must be a multiple of 4 bytes) */ 68 #define PICO_MAX_FOREIGN_HEADER_LEN 64 69 70 71 72 /* ********************************************************************/ 73 /* SVOX PICO status codes */ 74 /* ********************************************************************/ 75 76 typedef signed int pico_Status; 77 78 79 /* Okay ***************************************************************/ 80 /* functions return PICO_OK if all is okay */ 81 82 #define PICO_OK (pico_Status) 0 83 84 85 /* Exceptions and error codes *****************************************/ 86 87 /* in case of exceptional events and errors (e.g. unexpected user 88 input) that disrupt the normal flow of operation, PICO_EXC_* or 89 PICO_ERR_* are returned. */ 90 91 #define PICO_EXC_NUMBER_FORMAT (pico_Status) -10 92 #define PICO_EXC_MAX_NUM_EXCEED (pico_Status) -11 93 #define PICO_EXC_NAME_CONFLICT (pico_Status) -12 94 #define PICO_EXC_NAME_UNDEFINED (pico_Status) -13 95 #define PICO_EXC_NAME_ILLEGAL (pico_Status) -14 96 97 /* buffer interaction */ 98 #define PICO_EXC_BUF_OVERFLOW (pico_Status) -20 99 #define PICO_EXC_BUF_UNDERFLOW (pico_Status) -21 100 #define PICO_EXC_BUF_IGNORE (pico_Status) -22 101 102 /* internal memory handling */ 103 #define PICO_EXC_OUT_OF_MEM (pico_Status) -30 104 105 /* files */ 106 #define PICO_EXC_CANT_OPEN_FILE (pico_Status) -40 107 #define PICO_EXC_UNEXPECTED_FILE_TYPE (pico_Status) -41 108 #define PICO_EXC_FILE_CORRUPT (pico_Status) -42 109 #define PICO_EXC_FILE_NOT_FOUND (pico_Status) -43 110 111 /* resources */ 112 #define PICO_EXC_RESOURCE_BUSY (pico_Status) -50 113 #define PICO_EXC_RESOURCE_MISSING (pico_Status) -51 114 115 /* knowledge bases */ 116 #define PICO_EXC_KB_MISSING (pico_Status) -60 117 118 /* runtime exceptions */ 119 #define PICO_ERR_NULLPTR_ACCESS (pico_Status) -100 120 #define PICO_ERR_INVALID_HANDLE (pico_Status) -101 121 #define PICO_ERR_INVALID_ARGUMENT (pico_Status) -102 122 #define PICO_ERR_INDEX_OUT_OF_RANGE (pico_Status) -103 123 124 /* other errors ("external" errors, e.g. hardware failure). */ 125 #define PICO_ERR_OTHER (pico_Status) -999 126 127 128 /* Warnings ***********************************************************/ 129 130 /* general */ 131 #define PICO_WARN_INCOMPLETE (pico_Status) 10 132 #define PICO_WARN_FALLBACK (pico_Status) 11 133 #define PICO_WARN_OTHER (pico_Status) 19 134 135 /* resources */ 136 #define PICO_WARN_KB_OVERWRITE (pico_Status) 50 137 #define PICO_WARN_RESOURCE_DOUBLE_LOAD (pico_Status) 51 138 139 /* classifiers */ 140 #define PICO_WARN_INVECTOR (pico_Status) 60 141 #define PICO_WARN_CLASSIFICATION (pico_Status) 61 142 #define PICO_WARN_OUTVECTOR (pico_Status) 62 143 144 /* processing units */ 145 #define PICO_WARN_PU_IRREG_ITEM (pico_Status) 70 146 #define PICO_WARN_PU_DISCARD_BUF (pico_Status) 71 147 148 149 150 /* ********************************************************************/ 151 /* Engine getData return values */ 152 /* ********************************************************************/ 153 154 #define PICO_STEP_IDLE (pico_Status) 200 155 #define PICO_STEP_BUSY (pico_Status) 201 156 157 #define PICO_STEP_ERROR (pico_Status) -200 158 159 /* ********************************************************************/ 160 /* resetEngine reset modes */ 161 /* ********************************************************************/ 162 163 #define PICO_RESET_FULL 0 164 #define PICO_RESET_SOFT 0x10 165 166 167 /* ********************************************************************/ 168 /* Engine getData outDataType values */ 169 /* ********************************************************************/ 170 171 /* 16 bit PCM samples, native endianness of platform */ 172 #define PICO_DATA_PCM_16BIT (pico_Int16) 1 173 174 #ifdef __cplusplus 175 } 176 #endif 177 178 179 #endif /*PICODEFS_H_*/ 180