2 * Copyright 2005 Timo Hirvonen
11 extern int soft_vol_l
;
12 extern int soft_vol_r
;
14 void op_load_plugins(void);
15 void op_exit_plugins(void);
18 * select output plugin and open its mixer
20 * errors: OP_ERROR_{ERRNO, NO_PLUGIN}
22 int op_select(const char *name
);
23 int op_select_any(void);
26 * open selected plugin
30 int op_open(sample_format_t sf
);
35 * errors: OP_ERROR_{ERRNO}
47 * returns bytes written or error
49 * errors: OP_ERROR_{ERRNO}
51 int op_write(const char *buffer
, int count
);
60 * returns space in output buffer in bytes or -1 if busy
62 int op_buffer_space(void);
69 int op_set_volume(int left
, int right
);
70 int op_get_volume(int *left
, int *right
);
72 void op_set_soft_vol(int soft
);
75 * errors: OP_ERROR_{NO_PLUGIN, NOT_INITIALIZED, NOT_OPTION}
77 int op_set_option(unsigned int id
, const char *val
);
78 int op_get_option(unsigned int id
, char **val
);
80 int op_for_each_option(void (*cb
)(unsigned int id
, const char *key
));
81 char *op_get_error_msg(int rc
, const char *arg
);
82 void op_dump_plugins(void);
83 char *op_get_current(void);