mirror of
				https://github.com/alsa-project/alsa-tools.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  EMU10k1 loader lib
 | |
|  *  Copyright (c) 2003,2004 by Peter Zubaj
 | |
|  *
 | |
|  *
 | |
|  *   This library 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 of
 | |
|  *   the License, or (at your option) any later version.
 | |
|  *
 | |
|  *   This program 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 Lesser General Public License for more details.
 | |
|  *
 | |
|  *   You should have received a copy of the GNU Lesser General Public
 | |
|  *   License along with this library; if not, write to the Free Software
 | |
|  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | |
|  *
 | |
|  */
 | |
|  
 | |
| #ifndef __LIBLO10K1_H
 | |
| #define __LIBLO10K1_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define LIBLO10K1_ERR_DEBUG -10000
 | |
| 
 | |
| typedef ld10k1_dsp_p_in_out_t liblo10k1_dsp_pio_t;
 | |
| typedef ld10k1_dsp_p_const_static_t liblo10k1_dsp_cs_t;
 | |
| typedef ld10k1_dsp_p_hw_t liblo10k1_dsp_hw_t;
 | |
| typedef ld10k1_dsp_ctl_t liblo10k1_dsp_ctl_t;
 | |
| typedef ld10k1_dsp_instr_t liblo10k1_dsp_instr_t;
 | |
| typedef ld10k1_dsp_tram_grp_t liblo10k1_dsp_tram_grp_t;
 | |
| typedef ld10k1_dsp_tram_acc_t liblo10k1_dsp_tram_acc_t;
 | |
| typedef ld10k1_fnc_get_io_t liblo10k1_get_io_t;
 | |
| 
 | |
| typedef struct {
 | |
| 	char patch_name[MAX_NAME_LEN];
 | |
| 	unsigned int in_count;
 | |
| 	liblo10k1_dsp_pio_t *ins;
 | |
| 	unsigned int out_count;
 | |
| 	liblo10k1_dsp_pio_t *outs;
 | |
| 	unsigned int const_count;
 | |
| 	liblo10k1_dsp_cs_t *consts;
 | |
| 	unsigned int sta_count;
 | |
| 	liblo10k1_dsp_cs_t *stas;
 | |
| 	unsigned int dyn_count;
 | |
| 	unsigned int hw_count;
 | |
| 	liblo10k1_dsp_hw_t *hws;
 | |
| 	unsigned int tram_count;
 | |
| 	liblo10k1_dsp_tram_grp_t *tram;
 | |
| 	unsigned int tram_acc_count;
 | |
| 	liblo10k1_dsp_tram_acc_t *tram_acc;
 | |
| 	unsigned int ctl_count;
 | |
| 	liblo10k1_dsp_ctl_t *ctl;
 | |
| 	unsigned int instr_count;
 | |
| 	liblo10k1_dsp_instr_t *instr;
 | |
| } liblo10k1_dsp_patch_t;
 | |
| 
 | |
| typedef int liblo10k1_connection_t;
 | |
| typedef ld10k1_fnc_patches_info_t liblo10k1_patches_info_t;
 | |
| 
 | |
| typedef ld10k1_fnc_dsp_info_t liblo10k1_dsp_info_t;
 | |
| 
 | |
| typedef ld10k1_dsp_point_t liblo10k1_point_info_t;
 | |
| 
 | |
| typedef comm_param liblo10k1_param;
 | |
| 
 | |
| void liblo10k1_connection_init(liblo10k1_connection_t *conn);
 | |
| int liblo10k1_connect(liblo10k1_param *param, liblo10k1_connection_t *conn);
 | |
| int liblo10k1_is_open(liblo10k1_connection_t *conn);
 | |
| int liblo10k1_disconnect(liblo10k1_connection_t *conn);
 | |
| 
 | |
| liblo10k1_dsp_patch_t *liblo10k1_patch_alloc(int in_count, int out_count, int const_count, int sta_count, int dyn_count, int hw_count, int tram_count, int tram_acc_count, int ctl_count, int instr_count);
 | |
| void liblo10k1_patch_free(liblo10k1_dsp_patch_t *patch);
 | |
| 
 | |
| int liblo10k1_patch_set_in_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_out_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_const_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_sta_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_dyn_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_hw_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_tram_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_tram_acc_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_ctl_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| int liblo10k1_patch_set_instr_count(liblo10k1_dsp_patch_t *p, int count);
 | |
| 
 | |
| int liblo10k1_patch_load(liblo10k1_connection_t *conn, liblo10k1_dsp_patch_t *patch, int before, int *loaded, int *loaded_id);
 | |
| int liblo10k1_patch_unload(liblo10k1_connection_t *conn, int patch_num);
 | |
| int liblo10k1_patch_get(liblo10k1_connection_t *conn, int patch_num, liblo10k1_dsp_patch_t **patch);
 | |
| 
 | |
| int liblo10k1_debug(liblo10k1_connection_t *conn, int deb, void (*prn_fnc)(char *));
 | |
| 
 | |
| int liblo10k1_dsp_init(liblo10k1_connection_t *conn);
 | |
| 
 | |
| int liblo10k1_find_patch(liblo10k1_connection_t *conn, char *patch_name, int *out);
 | |
| int liblo10k1_find_fx(liblo10k1_connection_t *conn, char *fx_name, int *out);
 | |
| int liblo10k1_find_in(liblo10k1_connection_t *conn, char *in_name, int *out);
 | |
| int liblo10k1_find_out(liblo10k1_connection_t *conn, char *out_name, int *out);
 | |
| int liblo10k1_find_patch_in(liblo10k1_connection_t *conn, int patch_num, char *patch_in_name, int *out);
 | |
| int liblo10k1_find_patch_out(liblo10k1_connection_t *conn, int patch_num, char *patch_in_name, int *out);
 | |
| 
 | |
| int liblo10k1_rename_patch(liblo10k1_connection_t *conn, int patch_num, char *patch_name);
 | |
| int liblo10k1_rename_fx(liblo10k1_connection_t *conn, int fx, char *fx_name);
 | |
| int liblo10k1_rename_in(liblo10k1_connection_t *conn, int in, char *in_name);
 | |
| int liblo10k1_rename_out(liblo10k1_connection_t *conn, int out, char *out_name);
 | |
| int liblo10k1_rename_patch_in(liblo10k1_connection_t *conn, int patch_num, int in, char *patch_in_name);
 | |
| int liblo10k1_rename_patch_out(liblo10k1_connection_t *conn, int patch_num, int out, char *patch_out_name);
 | |
| 
 | |
| int liblo10k1_con_add(liblo10k1_connection_t *conn, int multi, int simple, int from_type, int from_patch, int from_io, int to_type, int to_patch, int to_io, int *ci);
 | |
| int liblo10k1_con_del(liblo10k1_connection_t *conn, int type, int patch, int io, int *ci);
 | |
| 
 | |
| int liblo10k1_get_fx(liblo10k1_connection_t *conn, int fx_num, liblo10k1_get_io_t *out);
 | |
| int liblo10k1_get_in(liblo10k1_connection_t *conn, int in_num, liblo10k1_get_io_t *out);
 | |
| int liblo10k1_get_out(liblo10k1_connection_t *conn, int out_num, liblo10k1_get_io_t *out);
 | |
| int liblo10k1_get_pin(liblo10k1_connection_t *conn, int patch_num, int in_num, liblo10k1_get_io_t *out);
 | |
| int liblo10k1_get_pout(liblo10k1_connection_t *conn, int patch_num, int out_num, liblo10k1_get_io_t *out);
 | |
| 
 | |
| int liblo10k1_get_fx_count(liblo10k1_connection_t *conn, int *count);
 | |
| int liblo10k1_get_in_count(liblo10k1_connection_t *conn, int *count);
 | |
| int liblo10k1_get_out_count(liblo10k1_connection_t *conn, int *count);
 | |
| int liblo10k1_get_pin_count(liblo10k1_connection_t *conn, int patch_num, int *count);
 | |
| int liblo10k1_get_pout_count(liblo10k1_connection_t *conn, int patch_num, int *count);
 | |
| 
 | |
| int liblo10k1_get_patches_info(liblo10k1_connection_t *conn, liblo10k1_patches_info_t **out, int *count);
 | |
| int liblo10k1_get_points_info(liblo10k1_connection_t *conn, int **out, int *count);
 | |
| int liblo10k1_get_point_info(liblo10k1_connection_t *conn, int point_id, liblo10k1_point_info_t *out);
 | |
| int liblo10k1_dump(liblo10k1_connection_t *conn, void **out, int *size);
 | |
| int liblo10k1_check_version(liblo10k1_connection_t *conn);
 | |
| 
 | |
| int liblo10k1_get_dsp_info(liblo10k1_connection_t *conn, liblo10k1_dsp_info_t *info);
 | |
| 
 | |
| char *liblo10k1_error_str(int error);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* __LIBLO10K1_H */
 | 
