ttspico_sys/
defs.rs

1// Copyright (c) 2019 Paolo Jovon <paolo.jovon@gmail.com>
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15use crate::ffi::{pico_Int16, pico_Status};
16
17pub const PICO_MAX_NUM_RESOURCES: u32 = 64;
18pub const PICO_MAX_NUM_VOICE_DEFINITIONS: u32 = 64;
19pub const PICO_MAX_NUM_RSRC_PER_VOICE: u32 = 16;
20pub const PICO_MAX_FOREIGN_HEADER_LEN: u32 = 64;
21
22pub const PICO_INT16_MAX: i16 = 32767;
23pub const PICO_UINT16_MAX: u16 = 65535;
24pub const PICO_INT32_MAX: i32 = 2147483647;
25pub const PICO_UINT32_MAX: u32 = 4294967295;
26
27pub const PICO_RETSTRINGSIZE: usize = 200;
28pub const PICO_MAX_FILE_NAME_SIZE: usize = 64;
29pub const PICO_MAX_VOICE_NAME_SIZE: usize = 32;
30pub const PICO_MAX_RESOURCE_NAME_SIZE: usize = 32;
31pub const PICO_MAX_DATAPATH_NAME_SIZE: usize = 128;
32
33pub const PICO_RESET_FULL: u32 = 0;
34pub const PICO_RESET_SOFT: u32 = 16;
35
36pub const PICO_DATA_PCM_16BIT: pico_Int16 = 1;
37
38// -- Status codes --
39
40pub const PICO_OK: pico_Status = 0;
41
42pub const PICO_EXC_NUMBER_FORMAT: pico_Status = -10;
43pub const PICO_EXC_MAX_NUM_EXCEED: pico_Status = -11;
44pub const PICO_EXC_NAME_CONFLICT: pico_Status = -12;
45pub const PICO_EXC_NAME_UNDEFINED: pico_Status = -13;
46pub const PICO_EXC_NAME_ILLEGAL: pico_Status = -14;
47pub const PICO_EXC_BUF_OVERFLOW: pico_Status = -20;
48pub const PICO_EXC_BUF_UNDERFLOW: pico_Status = -21;
49pub const PICO_EXC_BUF_IGNORE: pico_Status = -22;
50pub const PICO_EXC_OUT_OF_MEM: pico_Status = -30;
51pub const PICO_EXC_CANT_OPEN_FILE: pico_Status = -40;
52pub const PICO_EXC_UNEXPECTED_FILE_TYPE: pico_Status = -41;
53pub const PICO_EXC_FILE_CORRUPT: pico_Status = -42;
54pub const PICO_EXC_FILE_NOT_FOUND: pico_Status = -43;
55pub const PICO_EXC_RESOURCE_BUSY: pico_Status = -50;
56pub const PICO_EXC_RESOURCE_MISSING: pico_Status = -51;
57pub const PICO_EXC_KB_MISSING: pico_Status = -60;
58
59pub const PICO_ERR_NULLPTR_ACCESS: pico_Status = -100;
60pub const PICO_ERR_INVALID_HANDLE: pico_Status = -101;
61pub const PICO_ERR_INVALID_ARGUMENT: pico_Status = -102;
62pub const PICO_ERR_INDEX_OUT_OF_RANGE: pico_Status = -103;
63pub const PICO_ERR_OTHER: pico_Status = -999;
64
65pub const PICO_WARN_INCOMPLETE: pico_Status = 10;
66pub const PICO_WARN_FALLBACK: pico_Status = 11;
67pub const PICO_WARN_OTHER: pico_Status = 19;
68pub const PICO_WARN_KB_OVERWRITE: pico_Status = 50;
69pub const PICO_WARN_RESOURCE_DOUBLE_LOAD: pico_Status = 51;
70pub const PICO_WARN_INVECTOR: pico_Status = 60;
71pub const PICO_WARN_CLASSIFICATION: pico_Status = 61;
72pub const PICO_WARN_OUTVECTOR: pico_Status = 62;
73pub const PICO_WARN_PU_IRREG_ITEM: pico_Status = 70;
74pub const PICO_WARN_PU_DISCARD_BUF: pico_Status = 71;
75
76pub const PICO_STEP_IDLE: pico_Status = 200;
77pub const PICO_STEP_BUSY: pico_Status = 201;
78pub const PICO_STEP_ERROR: pico_Status = -200;