~ubuntu-branches/ubuntu/hoary/eflite/hoary

« back to all changes in this revision

Viewing changes to synthesizer.h

  • Committer: Bazaar Package Importer
  • Author(s): Mario Lang
  • Date: 2004-02-25 13:55:10 UTC
  • Revision ID: james.westby@ubuntu.com-20040225135510-hei3t1pv7rywewhn
Tags: upstream-0.3.8
ImportĀ upstreamĀ versionĀ 0.3.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * brass - Braille and speech server
 
3
 *
 
4
 * Copyright (C) 2001 by Roger Butenuth, All rights reserved.
 
5
 *
 
6
 * This is free software, placed under the terms of the
 
7
 * GNU General Public License, as published by the Free Software
 
8
 * Foundation.  Please see the file COPYING for details.
 
9
 *
 
10
 * $Id: synthesizer.h,v 1.1.1.1 2002/03/03 19:49:48 mgorse Exp $
 
11
 */
 
12
#ifndef SYNTHESIZER_H
 
13
#define SYNTHESIZER_H
 
14
 
 
15
#include "lookup.h"
 
16
 
 
17
#define LANGUAGES            3
 
18
 
 
19
/*
 
20
 * Language numbers. Do not change the ordering, some programs rely on
 
21
 * this ordering because they index some statically initialized arrays
 
22
 * with this language numbers.
 
23
 */
 
24
#define LANG_BRITISH_ENGLISH 0
 
25
#define LANG_GERMAN          1
 
26
#define LANG_DUMMY           2
 
27
 
 
28
 
 
29
typedef struct {
 
30
    int  lang;                  /* index (see defines above) */
 
31
    char *name;                 /* descriptive name */
 
32
} lang_descr_t;
 
33
 
 
34
extern lang_descr_t languages[LANGUAGES];
 
35
 
 
36
typedef enum {
 
37
    S_SPEED,                    /* 1000 = normal */
 
38
    S_PITCH,                    /* 1000 = normal */
 
39
    S_VOLUME,                   /* 1000 = normal */
 
40
    S_MAX
 
41
} synth_par_t;
 
42
 
 
43
 
 
44
typedef struct synth_state *synth_state_p;
 
45
 
 
46
typedef struct synth_struct {
 
47
    synth_state_p state;
 
48
    lang_descr_t  *lang;
 
49
    char          *name;
 
50
    void          *lib_handle;
 
51
    int (*close)(struct synth_struct *s);
 
52
    int (*synth)(struct synth_struct *s, unsigned char *buffer);
 
53
    int (*flush)(struct synth_struct *s);
 
54
    int (*clear)(struct synth_struct *s);
 
55
    int (*index_set)(struct synth_struct *s);
 
56
    int (*index_wait)(struct synth_struct *s, int id, int timeout);
 
57
    int (*get_param)(struct synth_struct *s, synth_par_t par, int *value);
 
58
    int (*set_param)(struct synth_struct *s, synth_par_t par, int value);
 
59
} synth_t;
 
60
 
 
61
synth_t *open_synthesizer(void *context, lookup_string_t lookup);
 
62
int     close_synthesizer(synth_t *synth);
 
63
 
 
64
/* open function in one of the libraries */
 
65
synth_t *synth_open(void *context, lookup_string_t lookup);
 
66
 
 
67
#endif /* SYNTHESIZER_H */