annotate Plugins/Input/vorbis/vcedit.h @ 1021:1e6c0a3f2d15 trunk

[svn] - 2.1 beta
author nenolod
date Wed, 10 May 2006 14:44:20 -0700
parents fa848bd484d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
1 /* This program is licensed under the GNU Library General Public License, version 2,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
2 * a copy of which is included with this program (with filename LICENSE.LGPL).
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
3 *
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
4 * (c) 2000-2001 Michael Smith <msmith@labyrinth.net.au>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
5 *
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
6 * VCEdit header.
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
7 *
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
8 */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
9
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
10 #ifndef __VCEDIT_H
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
11 #define __VCEDIT_H
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
12
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
13 #ifdef __cplusplus
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
14 extern "C" {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
15 #endif
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
16
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
17 #include <stdio.h>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
18 #include <ogg/ogg.h>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
19 #include <vorbis/codec.h>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
20 #include <libaudacious/vfs.h>
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
21
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
22 typedef size_t (*vcedit_read_func)(void *, size_t, size_t, void *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
23 typedef size_t (*vcedit_write_func)(const void *, size_t, size_t, void *);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
24
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
25 typedef struct {
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
26 ogg_sync_state *oy;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
27 ogg_stream_state *os;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
28
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
29 vorbis_comment *vc;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
30 vorbis_info vi;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
31
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
32 vcedit_read_func read;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
33 vcedit_write_func write;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
34
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
35 void *in;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
36 long serial;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
37 unsigned char *mainbuf;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
38 unsigned char *bookbuf;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
39 int mainlen;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
40 int booklen;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
41 char *lasterror;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
42 char *vendor;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
43 int prevW;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
44 int extrapage;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
45 int eosin;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
46 } vcedit_state;
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
47
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
48 extern vcedit_state *vcedit_new_state(void);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
49 extern void vcedit_clear(vcedit_state *state);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
50 extern vorbis_comment *vcedit_comments(vcedit_state *state);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
51 extern int vcedit_open(vcedit_state *state, VFSFile *in);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
52 extern int vcedit_open_callbacks(vcedit_state *state, void *in,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
53 vcedit_read_func read_func,
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
54 vcedit_write_func write_func);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
55 extern int vcedit_write(vcedit_state *state, void *out);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
56 extern char *vcedit_error(vcedit_state *state);
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
57
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
58 #ifdef __cplusplus
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
59 }
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
60 #endif
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
61
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
62 #endif /* __VCEDIT_H */
fa848bd484d8 [svn] Move plugins to Plugins/
nenolod
parents:
diff changeset
63