1 /* GStreamer 2 * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public 15 * License along with this library; if not, write to the 16 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 /*************************************************************************/ 20 /* */ 21 /* Centre for Speech Technology Research */ 22 /* University of Edinburgh, UK */ 23 /* Copyright (c) 1999 */ 24 /* All Rights Reserved. */ 25 /* */ 26 /* Permission is hereby granted, free of charge, to use and distribute */ 27 /* this software and its documentation without restriction, including */ 28 /* without limitation the rights to use, copy, modify, merge, publish, */ 29 /* distribute, sublicense, and/or sell copies of this work, and to */ 30 /* permit persons to whom this work is furnished to do so, subject to */ 31 /* the following conditions: */ 32 /* 1. The code must retain the above copyright notice, this list of */ 33 /* conditions and the following disclaimer. */ 34 /* 2. Any modifications must be clearly marked as such. */ 35 /* 3. Original authors' names are not deleted. */ 36 /* 4. The authors' names are not used to endorse or promote products */ 37 /* derived from this software without specific prior written */ 38 /* permission. */ 39 /* */ 40 /* THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK */ 41 /* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */ 42 /* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */ 43 /* SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE */ 44 /* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */ 45 /* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN */ 46 /* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, */ 47 /* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF */ 48 /* THIS SOFTWARE. */ 49 /* */ 50 /*************************************************************************/ 51 /* Author : Alan W Black (awb@cstr.ed.ac.uk) */ 52 /* Date : March 1999 */ 53 /*-----------------------------------------------------------------------*/ 54 /* */ 55 /* Client end of Festival server API (in C) designed specifically for */ 56 /* Galaxy Communicator use, though might be of use for other things */ 57 /* */ 58 /*=======================================================================*/ 59 60 #ifndef __GST_FESTIVAL_H__ 61 #define __GST_FESTIVAL_H__ 62 63 64 #include <gst/gst.h> 65 66 #ifdef __cplusplus 67 extern "C" { 68 #endif /* __cplusplus */ 69 70 71 #define FESTIVAL_DEFAULT_SERVER_HOST "localhost" 72 #define FESTIVAL_DEFAULT_SERVER_PORT 1314 73 #define FESTIVAL_DEFAULT_TEXT_MODE "fundamental" 74 75 typedef struct FT_Info 76 { 77 int encoding; 78 const char *server_host; 79 int server_port; 80 const char *text_mode; 81 82 int server_fd; 83 } FT_Info; 84 85 #define GST_TYPE_FESTIVAL \ 86 (gst_festival_get_type()) 87 #define GST_FESTIVAL(obj) \ 88 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FESTIVAL,GstFestival)) 89 #define GST_FESTIVAL_CLASS(klass) \ 90 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FESTIVAL,GstFestivalClass)) 91 #define GST_IS_FESTIVAL(obj) \ 92 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FESTIVAL)) 93 #define GST_IS_FESTIVAL_CLASS(klass) \ 94 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FESTIVAL)) 95 96 typedef enum { 97 GST_FESTIVAL_OPEN = (GST_ELEMENT_FLAG_LAST << 0), 98 99 GST_FESTIVAL_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 2), 100 } GstFestivalFlags; 101 102 typedef struct _GstFestival GstFestival; 103 typedef struct _GstFestivalClass GstFestivalClass; 104 105 struct _GstFestival { 106 GstElement element; 107 108 /* pads */ 109 GstPad *sinkpad,*srcpad; 110 111 FT_Info *info; 112 }; 113 114 struct _GstFestivalClass { 115 GstElementClass parent_class; 116 }; 117 118 GType gst_festival_get_type(void); 119 GST_ELEMENT_REGISTER_DECLARE (festival); 120 121 #ifdef __cplusplus 122 } 123 #endif /* __cplusplus */ 124 125 #endif /* __GST_FESTIVAL_H__ */ 126