diff options
Diffstat (limited to 'lib/picodefs.h')
-rw-r--r-- | lib/picodefs.h | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/lib/picodefs.h b/lib/picodefs.h new file mode 100644 index 0000000..6613e84 --- /dev/null +++ b/lib/picodefs.h @@ -0,0 +1,173 @@ +/* + * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * @file picodefs.h + * + * SVOX Pico definitions + * (SVOX Pico version 1.0 and later) + * + * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland + * All rights reserved. + * + * History: + * - 2009-04-20 -- initial version + */ + + +#ifndef PICODEFS_H_ +#define PICODEFS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + + +/* ********************************************************************/ +/* SVOX Pico limits */ +/* ********************************************************************/ +/* maximum size of a voice name, including the terminating null + character */ +#define PICO_MAX_VOICE_NAME_SIZE 32 + +/* maximum size of a resource name, incl. the terminating null + character */ +#define PICO_MAX_RESOURCE_NAME_SIZE 32 + +/* maximum size of a data path name, incl. the terminating null + character */ +#define PICO_MAX_DATAPATH_NAME_SIZE 128 + +/* maximum size of a file name, incl. the terminating null + character */ +#define PICO_MAX_FILE_NAME_SIZE 64 + +/* maximum number of resources */ +#define PICO_MAX_NUM_RESOURCES 64 + +/* maximum number of voice definitions */ +#define PICO_MAX_NUM_VOICE_DEFINITIONS 64 + +/* maximum number of resources per voice */ +#define PICO_MAX_NUM_RSRC_PER_VOICE 16 + +/* maximum length of foreign header prepended to PICO resource files + (header length must be a multiple of 4 bytes) */ +#define PICO_MAX_FOREIGN_HEADER_LEN 64 + + + +/* ********************************************************************/ +/* SVOX PICO status codes */ +/* ********************************************************************/ + +typedef signed int pico_Status; + + +/* Okay ***************************************************************/ +/* functions return PICO_OK if all is okay */ + +#define PICO_OK (pico_Status) 0 + + +/* Exceptions and error codes *****************************************/ + +/* in case of exceptional events and errors (e.g. unexpected user + input) that disrupt the normal flow of operation, PICO_EXC_* or + PICO_ERR_* are returned. */ + +#define PICO_EXC_NUMBER_FORMAT (pico_Status) -10 +#define PICO_EXC_MAX_NUM_EXCEED (pico_Status) -11 +#define PICO_EXC_NAME_CONFLICT (pico_Status) -12 +#define PICO_EXC_NAME_UNDEFINED (pico_Status) -13 +#define PICO_EXC_NAME_ILLEGAL (pico_Status) -14 + +/* buffer interaction */ +#define PICO_EXC_BUF_OVERFLOW (pico_Status) -20 +#define PICO_EXC_BUF_UNDERFLOW (pico_Status) -21 +#define PICO_EXC_BUF_IGNORE (pico_Status) -22 + +/* internal memory handling */ +#define PICO_EXC_OUT_OF_MEM (pico_Status) -30 + +/* files */ +#define PICO_EXC_CANT_OPEN_FILE (pico_Status) -40 +#define PICO_EXC_UNEXPECTED_FILE_TYPE (pico_Status) -41 +#define PICO_EXC_FILE_CORRUPT (pico_Status) -42 +#define PICO_EXC_FILE_NOT_FOUND (pico_Status) -43 + +/* resources */ +#define PICO_EXC_RESOURCE_BUSY (pico_Status) -50 +#define PICO_EXC_RESOURCE_MISSING (pico_Status) -51 + +/* knowledge bases */ +#define PICO_EXC_KB_MISSING (pico_Status) -60 + +/* runtime exceptions */ +#define PICO_ERR_NULLPTR_ACCESS (pico_Status) -100 +#define PICO_ERR_INVALID_HANDLE (pico_Status) -101 +#define PICO_ERR_INVALID_ARGUMENT (pico_Status) -102 +#define PICO_ERR_INDEX_OUT_OF_RANGE (pico_Status) -103 + +/* other errors ("external" errors, e.g. hardware failure). */ +#define PICO_ERR_OTHER (pico_Status) -999 + + +/* Warnings ***********************************************************/ + +/* general */ +#define PICO_WARN_INCOMPLETE (pico_Status) 10 +#define PICO_WARN_FALLBACK (pico_Status) 11 +#define PICO_WARN_OTHER (pico_Status) 19 + +/* resources */ +#define PICO_WARN_KB_OVERWRITE (pico_Status) 50 +#define PICO_WARN_RESOURCE_DOUBLE_LOAD (pico_Status) 51 + +/* classifiers */ +#define PICO_WARN_INVECTOR (pico_Status) 60 +#define PICO_WARN_CLASSIFICATION (pico_Status) 61 +#define PICO_WARN_OUTVECTOR (pico_Status) 62 + +/* processing units */ +#define PICO_WARN_PU_IRREG_ITEM (pico_Status) 70 +#define PICO_WARN_PU_DISCARD_BUF (pico_Status) 71 + + + +/* ********************************************************************/ +/* Engine getData return values */ +/* ********************************************************************/ + +#define PICO_STEP_IDLE (pico_Status) 200 +#define PICO_STEP_BUSY (pico_Status) 201 + +#define PICO_STEP_ERROR (pico_Status) -200 + + + +/* ********************************************************************/ +/* Engine getData outDataType values */ +/* ********************************************************************/ + +/* 16 bit PCM samples, native endianness of platform */ +#define PICO_DATA_PCM_16BIT (pico_Int16) 1 + +#ifdef __cplusplus +} +#endif + + +#endif /*PICODEFS_H_*/ |