annotate src/audacious/plugin.h @ 3739:a0add4e37ee0

missing header...
author William Pitcock <nenolod@atheme.org>
date Sat, 13 Oct 2007 23:19:36 -0500
parents 48a596a86459
children a1b31fe5a249
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1 /* Audacious
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
2 * Copyright (C) 2005-2007 Audacious team.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
3 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
4 * BMP - Cross-platform multimedia player
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
5 * Copyright (C) 2003-2004 BMP development team.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
6 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
7 * Based on XMMS:
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
8 * Copyright (C) 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
9 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
10 * Redistribution and use in source and binary forms, with or without
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
11 * modification, are permitted provided that the following conditions are
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
12 * met:
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
13 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
14 * 1. Redistributions of source code must retain the above copyright
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
15 * notice, this list of conditions and the following disclaimer.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
16 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
17 * 2. Redistributions in binary form must reproduce the above copyright
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
18 * notice, this list of conditions and the following disclaimer in
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
19 * the documentation and/or other materials provided with the
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
20 * distribution.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
21 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
23 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
24 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
25 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
26 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
32 * SUCH DAMAGE.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
33 */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
34
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
35 #ifndef BMP_PLUGIN_H
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
36 #define BMP_PLUGIN_H
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
37
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
38 #include <glib.h>
3298
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
39 #include <gtk/gtk.h>
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
40 #include "audacious/vfs.h"
3298
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
41 #include "audacious/tuple.h"
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
42 #include "audacious/tuple_formatter.h"
3149
84c44d369969 Add eventqueue interface.
William Pitcock <nenolod@atheme-project.org>
parents: 3126
diff changeset
43 #include "audacious/eventqueue.h"
3687
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
44 #include "audacious/configdb.h"
3735
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
45 #include "audacious/playlist_container.h"
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
46
2797
f0c1c8b22c88 [svn] - first attempt at an plugin API2 loader. this is entirely implemented inside the plugin2 namespace, so please respect that if you go editing this ;p
nenolod
parents: 2796
diff changeset
47 #define PLUGIN(x) ((Plugin *)(x))
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
48 #define INPUT_PLUGIN(x) ((InputPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
49 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
50 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
51 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
52 #define VIS_PLUGIN(x) ((VisPlugin *)(x))
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
53 #define DISCOVERY_PLUGIN(x) ((DiscoveryPlugin *)(x))
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
54
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
55 #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
56
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
57 #define __AUDACIOUS_NEWVFS__
3496
1590c8f4ffa9 Plugin API v6
Matti Hamalainen <ccr@tnsp.org>
parents: 3390
diff changeset
58 #define __AUDACIOUS_PLUGIN_API__ 6
1590c8f4ffa9 Plugin API v6
Matti Hamalainen <ccr@tnsp.org>
parents: 3390
diff changeset
59 #define __AUDACIOUS_INPUT_PLUGIN_API__ 6
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
60
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
61 typedef enum {
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
62 FMT_U8,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
63 FMT_S8,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
64 FMT_U16_LE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
65 FMT_U16_BE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
66 FMT_U16_NE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
67 FMT_S16_LE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
68 FMT_S16_BE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
69 FMT_S16_NE
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
70 } AFormat;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
71
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
72 typedef enum {
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
73 INPUT_VIS_ANALYZER,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
74 INPUT_VIS_SCOPE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
75 INPUT_VIS_VU,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
76 INPUT_VIS_OFF
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
77 } InputVisType;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
78
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
79
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
80 typedef struct _Plugin Plugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
81 typedef struct _InputPlugin InputPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
82 typedef struct _OutputPlugin OutputPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
83 typedef struct _EffectPlugin EffectPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
84 typedef struct _GeneralPlugin GeneralPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
85 typedef struct _VisPlugin VisPlugin;
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
86 typedef struct _DiscoveryPlugin DiscoveryPlugin;
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
87 typedef struct _LowlevelPlugin LowlevelPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
88
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
89 typedef struct _InputPlayback InputPlayback;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
90
3738
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
91 #include "audacious/playlist.h"
3739
a0add4e37ee0 missing header...
William Pitcock <nenolod@atheme.org>
parents: 3738
diff changeset
92 #include "audacious/input.h"
3707
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
93 #include "audacious/mime.h"
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
94 #include "audacious/custom_uri.h"
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
95
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
96 #define PLUGIN_COMMON_FIELDS \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
97 gpointer handle; \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
98 gchar *filename; \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
99 gchar *description; \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
100 void (*init) (void); \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
101 void (*cleanup) (void); \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
102 void (*about) (void); \
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
103 void (*configure) (void); \
3436
a630ecae6708 Add "gboolean enabled;" to PLUGIN_COMMON_FIELDS.
William Pitcock <nenolod@atheme.org>
parents: 3435
diff changeset
104 gboolean enabled;
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
105
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
106
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
107 /*
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
108 * The v2 Module header.
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
109 *
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
110 * _list fields contain a null-terminated list of "plugins" to register.
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
111 * A single library can provide multiple plugins.
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
112 * --nenolod
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
113 */
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
114 typedef struct {
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
115 gint magic;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
116 gint api_version;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
117 gchar *name;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
118 GCallback init;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
119 GCallback fini;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
120 Plugin *priv_assoc;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
121 InputPlugin **ip_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
122 OutputPlugin **op_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
123 EffectPlugin **ep_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
124 GeneralPlugin **gp_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
125 VisPlugin **vp_list;
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
126 DiscoveryPlugin **dp_list;
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
127 } PluginHeader;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
128
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
129 #define PLUGIN_MAGIC 0x8EAC8DE2
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
130
3682
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
131 /* define the public API here */
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
132 /* add new functions to the bottom of this list!!!! --nenolod */
3683
4284187479d7 Unbreak compile.
William Pitcock <nenolod@atheme.org>
parents: 3682
diff changeset
133 struct _AudaciousFuncTableV1 {
3682
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
134
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
135 /* VFS */
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
136 VFSFile *(*vfs_fopen)(const gchar *uri, const gchar *mode);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
137 gint (*vfs_fclose)(VFSFile *fd);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
138 VFSFile *(*vfs_dup)(VFSFile *in);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
139 size_t (*vfs_fread)(gpointer ptr,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
140 size_t size,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
141 size_t nmemb,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
142 VFSFile * file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
143 size_t (*vfs_fwrite)(gconstpointer ptr,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
144 size_t size,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
145 size_t nmemb,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
146 VFSFile *file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
147
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
148 gint (*vfs_getc)(VFSFile *stream);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
149 gint (*vfs_ungetc)(gint c,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
150 VFSFile *stream);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
151 gchar *(*vfs_fgets)(gchar *s,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
152 gint n,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
153 VFSFile *stream);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
154
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
155 gint (*vfs_fseek)(VFSFile * file,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
156 glong offset,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
157 gint whence);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
158 void (*vfs_rewind)(VFSFile * file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
159 glong (*vfs_ftell)(VFSFile * file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
160 gboolean (*vfs_feof)(VFSFile * file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
161
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
162 gboolean (*vfs_file_test)(const gchar * path,
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
163 GFileTest test);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
164
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
165 gboolean (*vfs_is_writeable)(const gchar * path);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
166 gboolean (*vfs_truncate)(VFSFile * file, glong length);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
167 off_t (*vfs_fsize)(VFSFile * file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
168 gchar *(*vfs_get_metadata)(VFSFile * file, const gchar * field);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
169
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
170 int (*vfs_fprintf)(VFSFile *stream, gchar const *format, ...)
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
171 __attribute__ ((__format__ (__printf__, 2, 3)));
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
172
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
173 gboolean (*vfs_register_transport)(VFSConstructor *vtable);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
174 void (*vfs_file_get_contents)(const gchar *filename, gchar **buf, gsize *size);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
175 gboolean (*vfs_is_remote)(const gchar * path);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
176 gboolean (*vfs_is_streaming)(VFSFile *file);
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
177
3684
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
178 /* VFS Buffer */
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
179 VFSFile *(*vfs_buffer_new)(gpointer data, gsize size);
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
180 VFSFile *(*vfs_buffer_new_from_string)(gchar *str);
3685
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
181
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
182 /* VFS Buffered File */
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
183 VFSFile *(*vfs_buffered_file_new_from_uri)(const gchar *uri);
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
184 VFSFile *(*vfs_buffered_file_release_live_fd)(VFSFile *fd);
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
185
3687
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
186 /* ConfigDb */
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
187 ConfigDb *(*cfg_db_open)(void);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
188 void (*cfg_db_close)(ConfigDb *db);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
189
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
190 gboolean (*cfg_db_get_string)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
191 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
192 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
193 gchar **value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
194 gboolean (*cfg_db_get_int)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
195 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
196 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
197 gint *value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
198 gboolean (*cfg_db_get_bool)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
199 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
200 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
201 gboolean *value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
202 gboolean (*cfg_db_get_float)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
203 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
204 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
205 gfloat *value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
206 gboolean (*cfg_db_get_double)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
207 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
208 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
209 gdouble *value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
210
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
211 void (*cfg_db_set_string)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
212 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
213 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
214 const gchar *value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
215 void (*cfg_db_set_int)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
216 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
217 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
218 gint value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
219 void (*cfg_db_set_bool)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
220 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
221 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
222 gboolean value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
223 void (*cfg_db_set_float)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
224 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
225 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
226 gfloat value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
227 void (*cfg_db_set_double)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
228 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
229 const gchar *key,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
230 gdouble value);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
231
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
232 void (*cfg_db_unset_key)(ConfigDb *db,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
233 const gchar *section,
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
234 const gchar *key);
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
235
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
236 /* Tuple manipulation API */
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
237 Tuple *(*tuple_new)(void);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
238 Tuple *(*tuple_new_from_filename)(const gchar *filename);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
239
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
240 gboolean (*tuple_associate_string)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
241 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
242 const gchar *field,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
243 const gchar *string);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
244 gboolean (*tuple_associate_int)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
245 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
246 const gchar *field,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
247 gint integer);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
248
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
249 void (*tuple_disassociate)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
250 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
251 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
252
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
253 TupleValueType (*tuple_get_value_type)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
254 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
255 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
256
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
257 const gchar *(*tuple_get_string)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
258 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
259 const gchar *field);
3700
81026451b455 fix tuple_get_int declaration
William Pitcock <nenolod@atheme.org>
parents: 3699
diff changeset
260 gint (*tuple_get_int)(Tuple *tuple,
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
261 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
262 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
263
3699
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
264 /* tuple formatter API */
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
265 gchar *(*tuple_formatter_process_string)(Tuple *tuple, const gchar *string);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
266 gchar *(*tuple_formatter_make_title_string)(Tuple *tuple, const gchar *string);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
267 void (*tuple_formatter_register_expression)(const gchar *keyword,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
268 gboolean (*func)(Tuple *tuple, const gchar *argument));
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
269 void (*tuple_formatter_register_function)(const gchar *keyword,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
270 gchar *(*func)(Tuple *tuple, gchar **argument));
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
271 gchar *(*tuple_formatter_process_expr)(Tuple *tuple, const gchar *expression,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
272 const gchar *argument);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
273 gchar *(*tuple_formatter_process_function)(Tuple *tuple, const gchar *expression,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
274 const gchar *argument);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
275 gchar *(*tuple_formatter_process_construct)(Tuple *tuple, const gchar *string);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
276
3706
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
277 /* MIME types */
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
278 InputPlugin *(*mime_get_plugin)(const gchar *mimetype);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
279 void (*mime_set_plugin)(const gchar *mimetype, InputPlugin *ip);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
280
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
281 /* Custom URI registry */
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
282 InputPlugin *(*uri_get_plugin)(const gchar *filename);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
283 void (*uri_set_plugin)(const gchar *uri, InputPlugin *ip);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
284
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
285 /* Util funcs */
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
286 GtkWidget *(*util_info_dialog)(const gchar * title, const gchar * text,
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
287 const gchar * button_text, gboolean modal,
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
288 GCallback button_action,
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
289 gpointer action_data);
3736
269449ad845e vtable get_gentitle_format().
William Pitcock <nenolod@atheme.org>
parents: 3735
diff changeset
290 const gchar *(*get_gentitle_format)(void);
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
291
3734
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
292 /* strings API */
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
293 gchar *(*escape_shell_chars)(const gchar * string);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
294
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
295 gchar *(*str_append)(gchar * str, const gchar * add_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
296 gchar *(*str_replace)(gchar * str, gchar * new_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
297 void (*str_replace_in)(gchar ** str, gchar * new_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
298
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
299 gboolean (*str_has_prefix_nocase)(const gchar * str, const gchar * prefix);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
300 gboolean (*str_has_suffix_nocase)(const gchar * str, const gchar * suffix);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
301 gboolean (*str_has_suffixes_nocase)(const gchar * str, gchar * const *suffixes);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
302
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
303 gchar *(*str_to_utf8_fallback)(const gchar * str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
304 gchar *(*filename_to_utf8)(const gchar * filename);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
305 gchar *(*str_to_utf8)(const gchar * str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
306
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
307 const gchar *(*str_skip_chars)(const gchar * str, const gchar * chars);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
308
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
309 gchar *(*convert_title_text)(gchar * text);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
310
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
311 gchar *(*chardet_to_utf8)(const gchar *str, gssize len,
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
312 gsize *arg_bytes_read, gsize *arg_bytes_write,
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
313 GError **arg_error);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
314
3735
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
315 /* PlaylistContainer API. */
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
316 void (*playlist_container_register)(PlaylistContainer *plc);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
317 void (*playlist_container_unregister)(PlaylistContainer *plc);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
318 void (*playlist_container_read)(gchar *filename, gint pos);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
319 void (*playlist_container_write)(gchar *filename, gint pos);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
320 PlaylistContainer *(*playlist_container_find)(gchar *ext);
3738
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
321
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
322 /* Playlist API */
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
323 PlaylistEntry *(*playlist_entry_new)(const gchar * filename,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
324 const gchar * title, const gint len,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
325 InputPlugin * dec);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
326 void (*playlist_entry_free)(PlaylistEntry * entry);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
327
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
328 void (*playlist_add_playlist)(Playlist *);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
329 void (*playlist_remove_playlist)(Playlist *);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
330 void (*playlist_select_playlist)(Playlist *);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
331 void (*playlist_select_next)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
332 void (*playlist_select_prev)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
333 GList *(*playlist_get_playlists)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
334
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
335 void (*playlist_clear_only)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
336 void (*playlist_clear)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
337 void (*playlist_delete)(Playlist *playlist, gboolean crop);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
338
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
339 gboolean (*playlist_add)(Playlist *playlist, const gchar * filename);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
340 gboolean (*playlist_ins)(Playlist *playlist, const gchar * filename, gint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
341 guint (*playlist_add_dir)(Playlist *playlist, const gchar * dir);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
342 guint (*playlist_ins_dir)(Playlist *playlist, const gchar * dir, gint pos, gboolean background);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
343 guint (*playlist_add_url)(Playlist *playlist, const gchar * url);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
344 guint (*playlist_ins_url)(Playlist *playlist, const gchar * string, gint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
345
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
346 void (*playlist_check_pos_current)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
347 void (*playlist_next)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
348 void (*playlist_prev)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
349 void (*playlist_queue)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
350 void (*playlist_queue_position)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
351 void (*playlist_queue_remove)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
352 gint (*playlist_queue_get_length)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
353 gboolean (*playlist_is_position_queued)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
354 void (*playlist_clear_queue)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
355 gint (*playlist_get_queue_position)(Playlist *playlist, PlaylistEntry * entry);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
356 gint (*playlist_get_queue_position_number)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
357 gint (*playlist_get_queue_qposition_number)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
358 void (*playlist_eof_reached)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
359 void (*playlist_set_position)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
360 gint (*playlist_get_length)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
361 gint (*playlist_get_position)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
362 gint (*playlist_get_position_nolock)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
363 gchar *(*playlist_get_info_text)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
364 gint (*playlist_get_current_length)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
365
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
366 gboolean (*playlist_save)(Playlist *playlist, const gchar * filename);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
367 gboolean (*playlist_load)(Playlist *playlist, const gchar * filename);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
368
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
369 void (*playlist_sort)(Playlist *playlist, PlaylistSortType type);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
370 void (*playlist_sort_selected)(Playlist *playlist, PlaylistSortType type);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
371
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
372 void (*playlist_reverse)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
373 void (*playlist_random)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
374 void (*playlist_remove_duplicates)(Playlist *playlist, PlaylistDupsType);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
375 void (*playlist_remove_dead_files)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
376
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
377 void (*playlist_fileinfo_current)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
378 void (*playlist_fileinfo)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
379
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
380 void (*playlist_delete_index)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
381 void (*playlist_delete_filenames)(Playlist *playlist, GList * filenames);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
382
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
383 PlaylistEntry *(*playlist_get_entry_to_play)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
384
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
385 gchar *(*playlist_get_filename)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
386 gchar *(*playlist_get_songtitle)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
387 Tuple *(*playlist_get_tuple)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
388 gint (*playlist_get_songtime)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
389
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
390 GList *(*playlist_get_selected)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
391 int (*playlist_get_num_selected)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
392
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
393 void (*playlist_get_total_time)(Playlist *playlist, gulong * total_time, gulong * selection_time,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
394 gboolean * total_more,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
395 gboolean * selection_more);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
396
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
397 gint (*playlist_select_search)(Playlist *playlist, Tuple *tuple, gint action);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
398 void (*playlist_select_all)(Playlist *playlist, gboolean set);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
399 void (*playlist_select_range)(Playlist *playlist, gint min, gint max, gboolean sel);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
400 void (*playlist_select_invert_all)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
401 gboolean (*playlist_select_invert)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
402
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
403 gboolean (*playlist_read_info_selection)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
404 void (*playlist_read_info)(Playlist *playlist, guint pos);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
405
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
406 void (*playlist_set_shuffle)(gboolean shuffle);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
407
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
408 void (*playlist_clear_selected)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
409
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
410 GList *(*get_playlist_nth)(Playlist *playlist, guint);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
411
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
412 gboolean (*playlist_set_current_name)(Playlist *playlist, const gchar * title);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
413 const gchar *(*playlist_get_current_name)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
414
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
415 gboolean (*playlist_filename_set)(Playlist *playlist, const gchar * filename);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
416
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
417 gchar *(*playlist_filename_get)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
418
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
419 Playlist *(*playlist_new)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
420 void (*playlist_free)(Playlist *playlist);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
421 Playlist *(*playlist_new_from_selected)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
422
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
423 gboolean (*is_playlist_name)(const gchar * filename);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
424
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
425 void (*playlist_load_ins_file)(Playlist *playlist, const gchar * filename,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
426 const gchar * playlist_name, gint pos,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
427 const gchar * title, gint len);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
428
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
429 void (*playlist_load_ins_file_tuple)(Playlist *playlist, const gchar * filename_p,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
430 const gchar * playlist_name, gint pos,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
431 Tuple *tuple);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
432
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
433 Playlist *(*playlist_get_active)(void);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
434
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
435 gboolean (*playlist_playlists_equal)(Playlist *p1, Playlist *p2);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
436
3682
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
437 };
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
438
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
439 /* Convenience macros for accessing the public API. */
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
440 /* public name vtable mapping */
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
441 #define aud_vfs_fopen _audvt->vfs_fopen
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
442 #define aud_vfs_fclose _audvt->vfs_fclose
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
443 #define aud_vfs_dup _audvt->vfs_dup
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
444 #define aud_vfs_fread _audvt->vfs_fread
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
445 #define aud_vfs_fwrite _audvt->vfs_fwrite
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
446 #define aud_vfs_getc _audvt->vfs_getc
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
447 #define aud_vfs_ungetc _audvt->vfs_ungetc
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
448 #define aud_vfs_fgets _audvt->vfs_fgets
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
449 #define aud_vfs_fseek _audvt->vfs_fseek
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
450 #define aud_vfs_rewind _audvt->vfs_rewind
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
451 #define aud_vfs_ftell _audvt->vfs_ftell
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
452 #define aud_vfs_feof _audvt->vfs_feof
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
453 #define aud_vfs_file_test _audvt->vfs_file_test
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
454 #define aud_vfs_is_writeable _audvt->vfs_is_writeable
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
455 #define aud_vfs_truncate _audvt->vfs_truncate
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
456 #define aud_vfs_fsize _audvt->vfs_fsize
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
457 #define aud_vfs_get_metadata _audvt->vfs_get_metadata
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
458 #define aud_vfs_fprintf _audvt->vfs_fprintf
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
459 #define aud_vfs_register_transport _audvt->vfs_register_transport
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
460 #define aud_vfs_file_get_contents _audvt->vfs_file_get_contents
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
461 #define aud_vfs_is_remote _audvt->vfs_is_remote
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
462 #define aud_vfs_is_streaming _audvt->vfs_is_streaming
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
463
3684
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
464 #define aud_vfs_buffer_new _audvt->vfs_buffer_new
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
465 #define aud_vfs_buffer_new_from_string _audvt->vfs_buffer_new_from_string
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
466
3685
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
467 #define aud_vfs_buffered_file_new_from_uri _audvt->vfs_buffered_file_new_from_uri
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
468 #define aud_vfs_buffered_file_release_live_fd _audvt->vfs_buffered_file_release_live_fd
3684
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
469
3687
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
470 /* XXX: deprecation warnings */
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
471 #define bmp_cfg_db_open _audvt->cfg_db_open
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
472 #define bmp_cfg_db_close _audvt->cfg_db_close
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
473 #define bmp_cfg_db_set_string _audvt->cfg_db_set_string
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
474 #define bmp_cfg_db_set_int _audvt->cfg_db_set_int
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
475 #define bmp_cfg_db_set_bool _audvt->cfg_db_set_bool
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
476 #define bmp_cfg_db_set_float _audvt->cfg_db_set_float
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
477 #define bmp_cfg_db_set_double _audvt->cfg_db_set_double
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
478 #define bmp_cfg_db_get_string _audvt->cfg_db_get_string
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
479 #define bmp_cfg_db_get_int _audvt->cfg_db_get_int
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
480 #define bmp_cfg_db_get_bool _audvt->cfg_db_get_bool
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
481 #define bmp_cfg_db_get_float _audvt->cfg_db_get_float
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
482 #define bmp_cfg_db_get_double _audvt->cfg_db_get_double
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
483 #define bmp_cfg_db_unset_key _audvt->cfg_db_unset_key
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
484
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
485 #define aud_cfg_db_open _audvt->cfg_db_open
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
486 #define aud_cfg_db_close _audvt->cfg_db_close
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
487 #define aud_cfg_db_set_string _audvt->cfg_db_set_string
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
488 #define aud_cfg_db_set_int _audvt->cfg_db_set_int
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
489 #define aud_cfg_db_set_bool _audvt->cfg_db_set_bool
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
490 #define aud_cfg_db_set_float _audvt->cfg_db_set_float
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
491 #define aud_cfg_db_set_double _audvt->cfg_db_set_double
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
492 #define aud_cfg_db_get_string _audvt->cfg_db_get_string
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
493 #define aud_cfg_db_get_int _audvt->cfg_db_get_int
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
494 #define aud_cfg_db_get_bool _audvt->cfg_db_get_bool
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
495 #define aud_cfg_db_get_float _audvt->cfg_db_get_float
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
496 #define aud_cfg_db_get_double _audvt->cfg_db_get_double
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
497 #define aud_cfg_db_unset_key _audvt->cfg_db_unset_key
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
498
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
499 #define aud_tuple_new _audvt->tuple_new
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
500 #define aud_tuple_new_from_filename _audvt->tuple_new_from_filename
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
501 #define aud_tuple_associate_string _audvt->tuple_associate_string
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
502 #define aud_tuple_associate_int _audvt->tuple_associate_int
3703
2e1a1d734112 aud_tuple_disassociate
William Pitcock <nenolod@atheme.org>
parents: 3701
diff changeset
503 #define aud_tuple_disassociate _audvt->tuple_disassociate
2e1a1d734112 aud_tuple_disassociate
William Pitcock <nenolod@atheme.org>
parents: 3701
diff changeset
504 #define aud_tuple_disassociate_now _audvt->tuple_disassociate_now
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
505 #define aud_tuple_get_value_type _audvt->tuple_get_value_type
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
506 #define aud_tuple_get_string _audvt->tuple_get_string
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
507 #define aud_tuple_get_int _audvt->tuple_get_int
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
508 #define aud_tuple_free mowgli_object_unref
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
509
3699
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
510 #define aud_tuple_formatter_process_string _audvt->tuple_formatter_process_string
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
511 #define aud_tuple_formatter_make_title_string _audvt->tuple_formatter_make_title_string
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
512 #define aud_tuple_formatter_register_expression _audvt->tuple_formatter_register_expression
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
513 #define aud_tuple_formatter_register_function _audvt->tuple_formatter_register_function
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
514 #define aud_tuple_formatter_process_expr _audvt->tuple_formatter_process_expr
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
515 #define aud_tuple_formatter_process_function _audvt->tuple_formatter_process_function
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
516 #define aud_tuple_formatter_process_construct _audvt->tuple_formatter_process_construct
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
517
3706
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
518 #define aud_mime_get_plugin _audvt->mime_get_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
519 #define aud_mime_set_plugin _audvt->mime_set_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
520
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
521 #define aud_uri_get_plugin _audvt->uri_get_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
522 #define aud_uri_set_plugin _audvt->uri_set_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
523
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
524 #define aud_info_dialog _audvt->util_info_dialog
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
525 #define audacious_info_dialog _audvt->util_info_dialog
3736
269449ad845e vtable get_gentitle_format().
William Pitcock <nenolod@atheme.org>
parents: 3735
diff changeset
526 #define aud_get_gentitle_format _audvt->get_gentitle_format
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
527
3734
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
528 #define aud_escape_shell_chars _audvt->escape_shell_chars
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
529 #define aud_str_append _audvt->str_append
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
530 #define aud_str_replace _audvt->str_replace
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
531 #define aud_str_replace_in _audvt->str_replace_in
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
532 #define aud_str_has_prefix_nocase _audvt->str_has_prefix_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
533 #define aud_str_has_suffix_nocase _audvt->str_has_suffix_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
534 #define aud_str_has_suffixes_nocase _audvt->str_has_suffixes_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
535 #define aud_str_to_utf8_fallback _audvt->str_to_utf8_fallback
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
536 #define aud_filename_to_utf8 _audvt->filename_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
537 #define aud_str_to_utf8 _audvt->str_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
538 #define aud_str_skip_chars _audvt->str_skip_chars
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
539 #define aud_convert_title_text _audvt->convert_title_text
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
540 #define aud_chardet_to_utf8 _audvt->chardet_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
541
3735
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
542 #define aud_playlist_container_register _audvt->playlist_container_register
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
543 #define aud_playlist_container_unregister _audvt->playlist_container_unregister
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
544 #define aud_playlist_container_read _audvt->playlist_container_read
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
545 #define aud_playlist_container_write _audvt->playlist_container_write
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
546 #define aud_playlist_container_find _audvt->playlist_container_find
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
547
3738
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
548 #define aud_playlist_entry_new _audvt->playlist_entry_new
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
549 #define aud_playlist_entry_free _audvt->playlist_entry_free
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
550
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
551 #define aud_playlist_add_playlist _audvt->playlist_add_playlist
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
552 #define aud_playlist_remove_playlist _audvt->playlist_remove_playlist
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
553 #define aud_playlist_select_playlist _audvt->playlist_select_playlist
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
554 #define aud_playlist_select_next _audvt->playlist_select_next
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
555 #define aud_playlist_select_prev _audvt->playlist_select_prev
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
556 #define aud_playlist_get_playlists _audvt->playlist_get_playlists
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
557
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
558 #define aud_playlist_clear_only _audvt->playlist_clear_only
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
559 #define aud_playlist_clear _audvt->playlist_clear
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
560 #define aud_playlist_delete _audvt->playlist_delete
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
561
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
562 #define aud_playlist_add _audvt->playlist_add
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
563 #define aud_playlist_ins _audvt->playlist_ins
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
564 #define aud_playlist_add_dir _audvt->playlist_add_dir
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
565 #define aud_playlist_ins_dir _audvt->playlist_ins_dir
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
566 #define aud_playlist_add_url _audvt->playlist_add_url
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
567 #define aud_playlist_ins_url _audvt->playlist_ins_url
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
568
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
569 #define aud_playlist_check_pos_current _audvt->playlist_check_pos_current
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
570 #define aud_playlist_next _audvt->playlist_next
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
571 #define aud_playlist_prev _audvt->playlist_prev
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
572
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
573 #define aud_playlist_queue _audvt->playlist_queue
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
574 #define aud_playlist_queue_position _audvt->playlist_queue_position
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
575 #define aud_playlist_queue_remove _audvt->playlist_queue_remove
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
576 #define aud_playlist_queue_get_length _audvt->playlist_queue_get_length
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
577 #define aud_playlist_is_position_queued _audvt->playlist_is_position_queued
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
578 #define aud_playlist_clear_queue _audvt->playlist_clear_queue
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
579 #define aud_playlist_get_queue_position _audvt->playlist_get_queue_position
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
580 #define aud_playlist_get_queue_position_number _audvt->playlist_get_queue_position_number
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
581 #define aud_playlist_get_queue_qposition_number _audvt->playlist_get_queue_qposition_number
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
582 #define aud_playlist_eof_reached _audvt->playlist_eof_reached
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
583 #define aud_playlist_set_position _audvt->playlist_set_position
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
584 #define aud_playlist_get_length _audvt->playlist_get_length
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
585 #define aud_playlist_get_position _audvt->playlist_get_position
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
586 #define aud_playlist_get_position_nolock _audvt->playlist_get_position_nolock
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
587 #define aud_playlist_get_info_text _audvt->playlist_get_info_text
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
588 #define aud_playlist_get_current_length _audvt->playlist_get_current_length
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
589
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
590 #define aud_playlist_save _audvt->playlist_save
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
591 #define aud_playlist_load _audvt->playlist_load
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
592
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
593 #define aud_playlist_sort _audvt->playlist_sort
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
594 #define aud_playlist_sort_selected _audvt->playlist_sort_selected
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
595
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
596 #define aud_playlist_reverse _audvt->playlist_reverse
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
597 #define aud_playlist_random _audvt->playlist_random
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
598 #define aud_playlist_remove_duplicates _audvt->playlist_remove_duplicates
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
599 #define aud_playlist_remove_dead_files _audvt->playlist_remove_dead_files
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
600
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
601 #define aud_playlist_fileinfo_current _audvt->playlist_fileinfo_current
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
602 #define aud_playlist_fileinfo _audvt->playlist_fileinfo
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
603
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
604 #define aud_playlist_delete_index _audvt->playlist_delete_index
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
605 #define aud_playlist_delete_filenames _audvt->playlist_delete_filenames
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
606
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
607 #define aud_playlist_get_entry_to_play _audvt->playlist_get_entry_to_play
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
608
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
609 #define aud_playlist_get_filename _audvt->playlist_get_filename
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
610 #define aud_playlist_get_songtitle _audvt->playlist_get_songtitle
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
611 #define aud_playlist_get_tuple _audvt->playlist_get_tuple
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
612 #define aud_playlist_get_songtime _audvt->playlist_get_songtime
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
613
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
614 #define aud_playlist_get_selected _audvt->playlist_get_selected
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
615 #define aud_playlist_get_num_selected _audvt->playlist_get_num_selected
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
616
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
617 #define aud_playlist_get_total_time _audvt->playlist_get_total_time
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
618
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
619 #define aud_playlist_select_search _audvt->playlist_select_search
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
620 #define aud_playlist_select_all _audvt->playlist_select_all
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
621 #define aud_playlist_select_range _audvt->playlist_select_range
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
622 #define aud_playlist_select_invert_all _audvt->playlist_select_invert_all
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
623 #define aud_playlist_select_invert _audvt->playlist_select_invert
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
624
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
625 #define aud_playlist_read_info_selection _audvt->playlist_read_info_selection
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
626 #define aud_playlist_read_info _audvt->playlist_read_info
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
627
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
628 #define aud_playlist_set_shuffle _audvt->playlist_set_shuffle
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
629
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
630 #define aud_playlist_clear_selected _audvt->playlist_clear_selected
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
631
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
632 #define aud_get_playlist_nth _audvt->get_playlist_nth
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
633
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
634 #define aud_playlist_set_current_name _audvt->playlist_set_current_name
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
635 #define aud_playlist_get_current_name _audvt->playlist_get_current_name
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
636
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
637 #define aud_playlist_filename_set _audvt->playlist_filename_set
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
638 #define aud_playlist_filename_get _audvt->playlist_filename_get
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
639
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
640 #define aud_playlist_new _audvt->playlist_new
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
641 #define aud_playlist_free _audvt->playlist_free
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
642 #define aud_playlist_new_from_selected _audvt->playlist_new_from_selected
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
643
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
644 #define aud_is_playlist_name _audvt->is_playlist_name
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
645
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
646 #define aud_playlist_load_ins_file _audvt->playlist_load_ins_file
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
647 #define aud_playlist_load_ins_file_tuple _audvt->playlist_load_ins_file_tuple
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
648
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
649 #define aud_playlist_get_active _audvt->playlist_get_active
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
650 #define aud_playlist_playlists_equal _audvt->playlist_playlists_equal
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
651
3688
8ab4cd5c6462 multifile plugins :(
William Pitcock <nenolod@atheme.org>
parents: 3687
diff changeset
652 /* for multi-file plugins :( */
3689
ec4b447eb8eb fix typo!
William Pitcock <nenolod@atheme.org>
parents: 3688
diff changeset
653 extern struct _AudaciousFuncTableV1 *_audvt;
3688
8ab4cd5c6462 multifile plugins :(
William Pitcock <nenolod@atheme.org>
parents: 3687
diff changeset
654
3233
88f602569477 Make DECLARE_PLUGIN() macro use a __VA_ARGS__ list instead of a static amount of tokens.
William Pitcock <nenolod@atheme-project.org>
parents: 3232
diff changeset
655 #define DECLARE_PLUGIN(name, init, fini, ...) \
2802
c799098c396f [svn] - guard v2 module header with G_BEGIN_DECLS and G_END_DECLS
nenolod
parents: 2797
diff changeset
656 G_BEGIN_DECLS \
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
657 static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \
3234
fb2f3675cbeb Fix DECLARE_PLUGIN() macro.
William Pitcock <nenolod@atheme-project.org>
parents: 3233
diff changeset
658 (gchar *)#name, init, fini, NULL, __VA_ARGS__ }; \
3690
2e1f85b0f085 more typoes
William Pitcock <nenolod@atheme.org>
parents: 3689
diff changeset
659 struct _AudaciousFuncTableV1 *_audvt = NULL; \
3691
9f7b621249a0 last one i hope
William Pitcock <nenolod@atheme.org>
parents: 3690
diff changeset
660 G_MODULE_EXPORT PluginHeader *get_plugin_info(struct _AudaciousFuncTableV1 *_vt) { \
3682
84bc78954db5 Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
William Pitcock <nenolod@atheme.org>
parents: 3673
diff changeset
661 _audvt = _vt; \
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
662 return &_pluginInfo; \
2802
c799098c396f [svn] - guard v2 module header with G_BEGIN_DECLS and G_END_DECLS
nenolod
parents: 2797
diff changeset
663 } \
c799098c396f [svn] - guard v2 module header with G_BEGIN_DECLS and G_END_DECLS
nenolod
parents: 2797
diff changeset
664 G_END_DECLS
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
665
3237
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
666 #define SIMPLE_INPUT_PLUGIN(name, ip_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
667 DECLARE_PLUGIN(name, NULL, NULL, ip_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
668
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
669 #define SIMPLE_OUTPUT_PLUGIN(name, op_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
670 DECLARE_PLUGIN(name, NULL, NULL, NULL, op_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
671
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
672 #define SIMPLE_EFFECT_PLUGIN(name, ep_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
673 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, ep_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
674
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
675 #define SIMPLE_GENERAL_PLUGIN(name, gp_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
676 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, gp_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
677
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
678 #define SIMPLE_VISUAL_PLUGIN(name, vp_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
679 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, vp_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
680
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
681 #define SIMPLE_DISCOVER_PLUGIN(name, dp_list) \
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
682 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, dp_list)
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
683
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
684 /* Sadly, this is the most we can generalize out of the disparate
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
685 plugin structs usable with typecasts - descender */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
686 struct _Plugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
687 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
688 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
689
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
690 /*
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
691 * LowlevelPlugin is used for lowlevel system services, such as PlaylistContainers,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
692 * VFSContainers and the like.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
693 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
694 * They are not GUI visible at this time.
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
695 *
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
696 * XXX: Is this still in use in 1.4? --nenolod
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
697 */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
698 struct _LowlevelPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
699 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
700 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
701
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
702 struct _OutputPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
703 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
704
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
705 void (*get_volume) (gint * l, gint * r);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
706 void (*set_volume) (gint l, gint r);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
707
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
708 gint (*open_audio) (AFormat fmt, gint rate, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
709 void (*write_audio) (gpointer ptr, gint length);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
710 void (*close_audio) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
711
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
712 void (*flush) (gint time);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
713 void (*pause) (gshort paused);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
714 gint (*buffer_free) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
715 gint (*buffer_playing) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
716 gint (*output_time) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
717 gint (*written_time) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
718
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
719 void (*tell_audio) (AFormat * fmt, gint * rate, gint * nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
720 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
721
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
722 struct _EffectPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
723 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
724
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
725 gint (*mod_samples) (gpointer * data, gint length, AFormat fmt, gint srate, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
726 void (*query_format) (AFormat * fmt, gint * rate, gint * nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
727 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
728
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
729 struct _InputPlayback {
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
730 gchar *filename;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
731 InputPlugin *plugin;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
732 void *data;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
733 OutputPlugin *output;
2438
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
734
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
735 int playing;
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
736 gboolean error;
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
737 gboolean eof;
3181
1596dcb77acd Track playback monitor thread in InputPlayback.thread.
William Pitcock <nenolod@atheme-project.org>
parents: 3160
diff changeset
738
1596dcb77acd Track playback monitor thread in InputPlayback.thread.
William Pitcock <nenolod@atheme-project.org>
parents: 3160
diff changeset
739 GThread *thread;
3319
d4f6507cded3 added a system that allows input plugins to signal to the core (actually, they MUST do it) that they're ready for playback and it's safe to call their stop function; this fixes a nasty race condition that triggered on fast track-switching
Giacomo Lozito <james@develia.org>
parents: 3298
diff changeset
740
d4f6507cded3 added a system that allows input plugins to signal to the core (actually, they MUST do it) that they're ready for playback and it's safe to call their stop function; this fixes a nasty race condition that triggered on fast track-switching
Giacomo Lozito <james@develia.org>
parents: 3298
diff changeset
741 GMutex *pb_ready_mutex;
d4f6507cded3 added a system that allows input plugins to signal to the core (actually, they MUST do it) that they're ready for playback and it's safe to call their stop function; this fixes a nasty race condition that triggered on fast track-switching
Giacomo Lozito <james@develia.org>
parents: 3298
diff changeset
742 GCond *pb_ready_cond;
d4f6507cded3 added a system that allows input plugins to signal to the core (actually, they MUST do it) that they're ready for playback and it's safe to call their stop function; this fixes a nasty race condition that triggered on fast track-switching
Giacomo Lozito <james@develia.org>
parents: 3298
diff changeset
743 gint pb_ready_val;
d4f6507cded3 added a system that allows input plugins to signal to the core (actually, they MUST do it) that they're ready for playback and it's safe to call their stop function; this fixes a nasty race condition that triggered on fast track-switching
Giacomo Lozito <james@develia.org>
parents: 3298
diff changeset
744 gint (*set_pb_ready) (InputPlayback*);
3696
418ac922ce87 Use a mutex/condvar/timed wait to allow tickless operation in the output loop.
William Pitcock <nenolod@atheme.org>
parents: 3691
diff changeset
745
418ac922ce87 Use a mutex/condvar/timed wait to allow tickless operation in the output loop.
William Pitcock <nenolod@atheme.org>
parents: 3691
diff changeset
746 GMutex *pb_change_mutex;
418ac922ce87 Use a mutex/condvar/timed wait to allow tickless operation in the output loop.
William Pitcock <nenolod@atheme.org>
parents: 3691
diff changeset
747 GCond *pb_change_cond;
418ac922ce87 Use a mutex/condvar/timed wait to allow tickless operation in the output loop.
William Pitcock <nenolod@atheme.org>
parents: 3691
diff changeset
748 void (*set_pb_change)(InputPlayback *self);
3705
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
749
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
750 gint nch;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
751 gint rate;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
752 gint freq;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
753 gint length;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
754 gchar *title;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
755
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
756 void (*set_params) (InputPlayback *, gchar * title, gint length, gint rate, gint freq, gint nch);
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
757 void (*set_title) (InputPlayback *, gchar * text);
3709
a89a12aa4f2c Add InputPlayback::pass_audio() which replaces produce_audio().
William Pitcock <nenolod@atheme.org>
parents: 3707
diff changeset
758
a89a12aa4f2c Add InputPlayback::pass_audio() which replaces produce_audio().
William Pitcock <nenolod@atheme.org>
parents: 3707
diff changeset
759 void (*pass_audio) (InputPlayback *, AFormat, gint, gint, gpointer, gint *);
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
760 };
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
761
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
762 struct _InputPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
763 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
764
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
765 gint (*is_our_file) (gchar * filename);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
766 GList *(*scan_dir) (gchar * dirname);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
767
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
768 void (*play_file) (InputPlayback * playback);
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
769 void (*stop) (InputPlayback * playback);
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
770 void (*pause) (InputPlayback * playback, gshort paused);
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
771 void (*seek) (InputPlayback * playback, gint time);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
772
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
773 void (*set_eq) (gint on, gfloat preamp, gfloat * bands);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
774
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
775 gint (*get_time) (InputPlayback * playback);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
776
2437
62d8f9c05832 [svn] More input plugin API work
iabervon
parents: 2436
diff changeset
777 gint (*get_volume) (gint * l, gint * r);
62d8f9c05832 [svn] More input plugin API work
iabervon
parents: 2436
diff changeset
778 gint (*set_volume) (gint l, gint r);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
779
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
780 InputVisType (*get_vis_type) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
781 void (*add_vis_pcm) (gint time, AFormat fmt, gint nch, gint length, gpointer ptr);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
782
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
783 void (*set_info) (gchar * title, gint length, gint rate, gint freq, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
784 void (*set_info_text) (gchar * text);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
785 void (*get_song_info) (gchar * filename, gchar ** title, gint * length);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
786 void (*file_info_box) (gchar * filename);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
787
2437
62d8f9c05832 [svn] More input plugin API work
iabervon
parents: 2436
diff changeset
788 OutputPlugin *output; /* deprecated */
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
789
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
790 /* Added in Audacious 1.1.0 */
3298
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
791 Tuple *(*get_song_tuple) (gchar * filename);
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
792 void (*set_song_tuple) (Tuple * tuple);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
793 void (*set_status_buffering) (gboolean status);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
794
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
795 /* Added in Audacious 1.3.0 */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
796 gint (*is_our_file_from_vfs) (gchar *filename, VFSFile *fd);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
797 gchar **vfs_extensions;
2620
6393862824e5 [svn] - add millisecond seek function to InputPlugin API. with this function, cuesheet and encoder plugins can achieve higher accuracy.
yaz
parents: 2473
diff changeset
798
6393862824e5 [svn] - add millisecond seek function to InputPlugin API. with this function, cuesheet and encoder plugins can achieve higher accuracy.
yaz
parents: 2473
diff changeset
799 /* Added in Audacious 1.4.0 */
6393862824e5 [svn] - add millisecond seek function to InputPlugin API. with this function, cuesheet and encoder plugins can achieve higher accuracy.
yaz
parents: 2473
diff changeset
800 void (*mseek) (InputPlayback * playback, gulong millisecond);
3298
f985357757e0 audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents: 3295
diff changeset
801 Tuple *(*probe_for_tuple)(gchar *uri, VFSFile *fd);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
802 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
803
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
804 struct _GeneralPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
805 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
806 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
807
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
808 struct _VisPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
809 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
810
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
811 gint num_pcm_chs_wanted;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
812 gint num_freq_chs_wanted;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
813
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
814 void (*disable_plugin) (struct _VisPlugin *);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
815 void (*playback_start) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
816 void (*playback_stop) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
817 void (*render_pcm) (gint16 pcm_data[2][512]);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
818 void (*render_freq) (gint16 freq_data[2][256]);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
819 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
820
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
821 struct _DiscoveryPlugin {
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
822 PLUGIN_COMMON_FIELDS
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
823
3384
7ac9c5c6b44e fixed the interface
Cristi Magherusan <majeru@atheme-project.org>
parents: 3237
diff changeset
824 GList *(*get_devices);
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
825 };
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
826
3435
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
827 /* undefine the macro -- struct Plugin should be used instead. */
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
828 #undef PLUGIN_COMMON_FIELDS
639af8eb6824 Clean up some plugin mess -- this breaks API for plugins which don't do the ".member: value" thing yet. Oh well.
William Pitcock <nenolod@atheme.org>
parents: 3390
diff changeset
829
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
830 #endif