2 * Copyright 2005 Timo Hirvonen
12 extern int volume_max
;
16 void op_load_plugins(void);
17 void op_exit_plugins(void);
20 * select output plugin and open its mixer
22 * errors: OP_ERROR_{ERRNO, NO_PLUGIN}
24 int op_select(const char *name
);
25 int op_select_any(void);
28 * open selected plugin
32 int op_open(sample_format_t sf
);
37 * errors: OP_ERROR_{ERRNO}
49 * returns bytes written or error
51 * errors: OP_ERROR_{ERRNO}
53 int op_write(const char *buffer
, int count
);
62 * returns space in output buffer in bytes or -1 if busy
64 int op_buffer_space(void);
71 void mixer_open(void);
72 void mixer_close(void);
73 int mixer_set_volume(int left
, int right
);
74 int mixer_read_volume(void);
75 int mixer_get_fds(int *fds
);
78 * errors: OP_ERROR_{NO_PLUGIN, NOT_INITIALIZED, NOT_OPTION}
80 int op_set_option(unsigned int id
, const char *val
);
81 int op_get_option(unsigned int id
, char **val
);
83 int op_for_each_option(void (*cb
)(unsigned int id
, const char *key
));
84 char *op_get_error_msg(int rc
, const char *arg
);
85 void op_dump_plugins(void);
86 char *op_get_current(void);