/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2004 Jörg Hohensohn * * This module collects the Talkbox and voice UI functions. * (Talkbox reads directory names from mp3 clips called thumbnails, * the voice UI lets menus and screens "talk" from a voicefont in memory. * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ #ifndef __TALK_H__ #define __TALK_H__ #include #include "time.h" enum { /* See array "unit_voiced" in talk.c function "talk_value" */ UNIT_INT = 1, /* plain number */ UNIT_SIGNED, /* number with mandatory sign (even if positive) */ UNIT_MS, /* milliseconds */ UNIT_SEC, /* seconds */ UNIT_MIN, /* minutes */ UNIT_HOUR, /* hours */ UNIT_KHZ, /* kHz */ UNIT_DB, /* dB, mandatory sign */ UNIT_PERCENT, /* % */ UNIT_MAH, /* milliAmp hours */ UNIT_PIXEL, /* pixels */ UNIT_PER_SEC, /* per second */ UNIT_HERTZ, /* hertz */ UNIT_MB, /* Megabytes */ UNIT_KBIT, /* kilobits per sec */ UNIT_PM_TICK, /* peak meter units per tick */ UNIT_LAST /* END MARKER */ }; #define UNIT_SHIFT (32-5) /* this many bits left from UNIT_xx enum */ /* make a "talkable" ID from number + unit unit is upper 4 bits, number the remaining (in regular 2's complement) */ #define TALK_ID(n,u) (((long)(u))<