summaryrefslogtreecommitdiffstats
path: root/lib/picodefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/picodefs.h')
-rw-r--r--lib/picodefs.h173
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_*/