12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*
- * spd_audio_plugin.h -- The SPD Audio Plugin Header
- *
- * Copyright (C) 2004 Brailcom, o.p.s.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1, or (at your option) any later
- * version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this package; see the file COPYING. If not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- */
- #ifndef __SPD_AUDIO_PLUGIN_H
- #define __SPD_AUDIO_PLUGIN_H
- #define SPD_AUDIO_PLUGIN_ENTRY_STR "spd_audio_plugin_get"
- /* *INDENT-OFF* */
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* *INDENT-ON* */
- typedef enum { SPD_AUDIO_LE, SPD_AUDIO_BE } AudioFormat;
- typedef struct {
- int bits;
- int num_channels;
- int sample_rate;
- int num_samples;
- signed short *samples;
- } AudioTrack;
- struct spd_audio_plugin;
- typedef struct {
- int volume;
- AudioFormat format;
- struct spd_audio_plugin const *function;
- void *private_data;
- int working;
- } AudioID;
- typedef struct spd_audio_plugin {
- const char *name;
- AudioID *(*open) (void **pars);
- int (*play) (AudioID * id, AudioTrack track);
- int (*stop) (AudioID * id);
- int (*close) (AudioID * id);
- int (*set_volume) (AudioID * id, int);
- void (*set_loglevel) (int level);
- char const *(*get_playcmd) (void);
- } spd_audio_plugin_t;
- /* *INDENT-OFF* */
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- /* *INDENT-ON* */
- #endif /* ifndef #__SPD_AUDIO_PLUGIN_H */
|