mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	
		
			
	
	
		
			76 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | /*
 | ||
|  |  * 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 */
 |