annotate src/audacious/plugin.h @ 4756:f084f639e962

Automated merge with ssh://paula@hg.atheme.org//hg/audacious
author Paula Stanciu <paula.stanciu@gmail.com>
date Thu, 07 Aug 2008 12:17:14 +0300
parents b136f202ebfa c6f352d25d27
children ba9eb9cc287f
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
4259
92642f860860 - added template for src_flow
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4258
diff changeset
2 * Copyright (C) 2005-2008 Audacious team.
2313
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
4557
2eee464379dc Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents: 4433
diff changeset
35 #ifndef AUDACIOUS_PLUGIN_H
2eee464379dc Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents: 4433
diff changeset
36 #define AUDACIOUS_PLUGIN_H
2313
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"
3741
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
46 #include "audacious/main.h"
4598
a2cbde1af409 export create_widgets to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4596
diff changeset
47 #include "audacious/preferences.h"
4677
04c53c9d261b Add provision for Interface plugins.
William Pitcock <nenolod@atheme.org>
parents: 4650
diff changeset
48 #include "audacious/interface.h"
4711
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
49 #include "audacious/equalizer_preset.h"
4754
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
50 #include "libSAD/libSAD.h"
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
51
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
52 #define PLUGIN(x) ((Plugin *)(x))
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
53 #define INPUT_PLUGIN(x) ((InputPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
54 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
55 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
56 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
57 #define VIS_PLUGIN(x) ((VisPlugin *)(x))
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
58 #define DISCOVERY_PLUGIN(x) ((DiscoveryPlugin *)(x))
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
59
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
60 #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x))
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
61
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
62 #define __AUDACIOUS_NEWVFS__
4647
8ce9256b0b1d Change PAPI version.
Matti Hamalainen <ccr@tnsp.org>
parents: 4625
diff changeset
63 #define __AUDACIOUS_PLUGIN_API__ 8
8ce9256b0b1d Change PAPI version.
Matti Hamalainen <ccr@tnsp.org>
parents: 4625
diff changeset
64 #define __AUDACIOUS_INPUT_PLUGIN_API__ 8
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
65
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
66 typedef enum {
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
67 FMT_U8,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
68 FMT_S8,
4232
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
69
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
70 FMT_U16_LE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
71 FMT_U16_BE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
72 FMT_U16_NE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
73 FMT_S16_LE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
74 FMT_S16_BE,
4232
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
75 FMT_S16_NE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
76
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
77 /* added in Audacious 1.5 */
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
78 FMT_U24_LE, /* stored in lower 3 bytes of 32-bit value, highest byte must be always set to 0 --asphyx */
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
79 FMT_U24_BE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
80 FMT_U24_NE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
81 FMT_S24_LE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
82 FMT_S24_BE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
83 FMT_S24_NE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
84
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
85 FMT_U32_LE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
86 FMT_U32_BE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
87 FMT_U32_NE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
88 FMT_S32_LE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
89 FMT_S32_BE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
90 FMT_S32_NE,
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
91
704607c1f858 1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4109
diff changeset
92 FMT_FLOAT,
4384
db1c0a24e100 Fix enum list, to make gcc4.3 stfu. Should close bugzilla #219.
Matti Hamalainen <ccr@tnsp.org>
parents: 4375
diff changeset
93 FMT_FIXED32 /* equivalent of libmad's mad_fixed_t explained below */
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
94 } AFormat;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
95
4240
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
96 /* From mad.h:
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
97 *
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
98 * Fixed-point format: 0xABBBBBBB
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
99 * A == whole part (sign + 3 bits)
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
100 * B == fractional part (28 bits)
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
101 *
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
102 * Values are signed two's complement, so the effective range is:
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
103 * 0x80000000 to 0x7fffffff
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
104 * -8.0 to +7.9999999962747097015380859375
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
105 *
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
106 * The smallest representable value is:
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
107 * 0x00000001 == 0.0000000037252902984619140625 (i.e. about 3.725e-9)
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
108 *
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
109 * 28 bits of fractional accuracy represent about
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
110 * 8.6 digits of decimal accuracy.
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
111 *
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
112 * Fixed-point numbers can be added or subtracted as normal
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
113 * integers, but multiplication requires shifting the 64-bit result
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
114 * from 56 fractional bits back to 28 (and rounding.)
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
115 */
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
116
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
117 #define __AUDACIOUS_ASSUMED_MAD_F_FRACBITS__ 28 /* useful for build time check for plugins linked against libmad, i.e. madplug */
29c8603a877a added FMT_FIXED32, an equivalent of mad_fixed_t, already supported by libSAD; some endianness-related changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4237
diff changeset
118
4258
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
119 #define FMT_SIZEOF(a) ( \
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
120 (a == FMT_S8 || a == FMT_U8) ? sizeof(gint8) : ( \
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
121 (a == FMT_S16_NE || a == FMT_S16_LE || a == FMT_S16_BE || a == FMT_U16_NE || a == FMT_U16_LE || a == FMT_U16_BE) ? sizeof(gint16) : ( \
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
122 (a == FMT_S24_NE || a == FMT_S24_LE || a == FMT_S24_BE || a == FMT_U24_NE || a == FMT_U24_LE || a == FMT_U24_BE || \
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
123 a == FMT_S32_NE || a == FMT_S32_LE || a == FMT_S32_BE || a == FMT_U32_NE || a == FMT_U32_LE || a == FMT_U32_BE || \
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
124 a == FMT_FIXED32) ? sizeof(gint32) : sizeof(float))))
8157686b8115 added FMT_SIZEOF macro
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4240
diff changeset
125
4752
22b7212eb3f9 move FMT_FRACBITS() to plugin.h
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4711
diff changeset
126 #define FMT_FRACBITS(a) ( (a) == FMT_FIXED32 ? __AUDACIOUS_ASSUMED_MAD_F_FRACBITS__ : 0 )
22b7212eb3f9 move FMT_FRACBITS() to plugin.h
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4711
diff changeset
127
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
128 typedef enum {
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
129 INPUT_VIS_ANALYZER,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
130 INPUT_VIS_SCOPE,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
131 INPUT_VIS_VU,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
132 INPUT_VIS_OFF
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
133 } InputVisType;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
134
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
135
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
136 typedef struct _Plugin Plugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
137 typedef struct _InputPlugin InputPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
138 typedef struct _OutputPlugin OutputPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
139 typedef struct _EffectPlugin EffectPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
140 typedef struct _GeneralPlugin GeneralPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
141 typedef struct _VisPlugin VisPlugin;
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
142 typedef struct _DiscoveryPlugin DiscoveryPlugin;
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
143 typedef struct _LowlevelPlugin LowlevelPlugin;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
144
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
145 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
146
3760
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
147 typedef struct {
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
148 Tuple *tuple;
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
149 InputPlugin *ip;
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
150 } ProbeResult;
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
151
4235
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
152 typedef struct {
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
153 gfloat track_gain; /* in dB !!! --asphyx */
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
154 gfloat track_peak;
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
155 gfloat album_gain;
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
156 gfloat album_peak;
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
157 } ReplayGainInfo;
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
158
3747
ffc8e51efe0c fix some oopses
William Pitcock <nenolod@atheme.org>
parents: 3746
diff changeset
159 typedef GHashTable INIFile;
ffc8e51efe0c fix some oopses
William Pitcock <nenolod@atheme.org>
parents: 3746
diff changeset
160
3738
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
161 #include "audacious/playlist.h"
3739
a0add4e37ee0 missing header...
William Pitcock <nenolod@atheme.org>
parents: 3738
diff changeset
162 #include "audacious/input.h"
3707
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
163 #include "audacious/mime.h"
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
164 #include "audacious/custom_uri.h"
3744
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
165 #include "audacious/hook.h"
3760
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
166 #include "audacious/flow.h"
3707
1baa8e00c9d7 custom_uri/mime go below type defs
William Pitcock <nenolod@atheme.org>
parents: 3706
diff changeset
167
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
168 #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
169 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
170 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
171 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
172 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
173 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
174 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
175 void (*configure) (void); \
3436
a630ecae6708 Add "gboolean enabled;" to PLUGIN_COMMON_FIELDS.
William Pitcock <nenolod@atheme.org>
parents: 3435
diff changeset
176 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
177
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
178
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
179 /*
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
180 * The v2 Module header.
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
181 *
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
182 * _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
183 * A single library can provide multiple plugins.
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
184 * --nenolod
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
185 */
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
186 typedef struct {
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
187 gint magic;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
188 gint api_version;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
189 gchar *name;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
190 GCallback init;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
191 GCallback fini;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
192 Plugin *priv_assoc;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
193 InputPlugin **ip_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
194 OutputPlugin **op_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
195 EffectPlugin **ep_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
196 GeneralPlugin **gp_list;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
197 VisPlugin **vp_list;
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
198 DiscoveryPlugin **dp_list;
4677
04c53c9d261b Add provision for Interface plugins.
William Pitcock <nenolod@atheme.org>
parents: 4650
diff changeset
199 Interface *interface;
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
200 } PluginHeader;
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
201
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
202 #define PLUGIN_MAGIC 0x8EAC8DE2
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
203
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
204 /* 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
205 /* add new functions to the bottom of this list!!!! --nenolod */
3683
4284187479d7 Unbreak compile.
William Pitcock <nenolod@atheme.org>
parents: 3682
diff changeset
206 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
207
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
208 /* 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
209 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
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220
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
221 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
222 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
223 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
224 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
225 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
226 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
227
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
228 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
229 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
230 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
231 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
232 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
233 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
234
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
235 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
236 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
237
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
238 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
239 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
240 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
241 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
242
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
243 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
244 __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
245
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
246 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
247 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
248 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
249 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
250
3684
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
251 /* VFS Buffer */
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
252 VFSFile *(*vfs_buffer_new)(gpointer data, gsize size);
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
253 VFSFile *(*vfs_buffer_new_from_string)(gchar *str);
3685
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
254
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
255 /* VFS Buffered File */
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
256 VFSFile *(*vfs_buffered_file_new_from_uri)(const gchar *uri);
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
257 VFSFile *(*vfs_buffered_file_release_live_fd)(VFSFile *fd);
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
258
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
259 /* ConfigDb */
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
260 mcs_handle_t *(*cfg_db_open)(void);
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
261 void (*cfg_db_close)(mcs_handle_t *db);
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
262
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
263 gboolean (*cfg_db_get_string)(mcs_handle_t *db,
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
264 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
265 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
266 gchar **value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
267 gboolean (*cfg_db_get_int)(mcs_handle_t *db,
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
268 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
269 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
270 gint *value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
271 gboolean (*cfg_db_get_bool)(mcs_handle_t *db,
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
272 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
273 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
274 gboolean *value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
275 gboolean (*cfg_db_get_float)(mcs_handle_t *db,
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
276 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
277 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
278 gfloat *value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
279 gboolean (*cfg_db_get_double)(mcs_handle_t *db,
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
280 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
281 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
282 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
283
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
284 void (*cfg_db_set_string)(mcs_handle_t *db,
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
285 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
286 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
287 const gchar *value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
288 void (*cfg_db_set_int)(mcs_handle_t *db,
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
289 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
290 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
291 gint value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
292 void (*cfg_db_set_bool)(mcs_handle_t *db,
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
293 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
294 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
295 gboolean value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
296 void (*cfg_db_set_float)(mcs_handle_t *db,
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
297 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
298 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
299 gfloat value);
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
300 void (*cfg_db_set_double)(mcs_handle_t *db,
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
301 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
302 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
303 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
304
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
305 void (*cfg_db_unset_key)(mcs_handle_t *db,
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
306 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
307 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
308
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
309 /* Tuple manipulation API */
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
310 Tuple *(*tuple_new)(void);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
311 Tuple *(*tuple_new_from_filename)(const gchar *filename);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
312
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
313 gboolean (*tuple_associate_string)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
314 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
315 const gchar *field,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
316 const gchar *string);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
317 gboolean (*tuple_associate_int)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
318 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
319 const gchar *field,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
320 gint integer);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
321
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
322 void (*tuple_disassociate)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
323 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
324 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
325
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
326 TupleValueType (*tuple_get_value_type)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
327 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
328 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
329
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
330 const gchar *(*tuple_get_string)(Tuple *tuple,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
331 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
332 const gchar *field);
3700
81026451b455 fix tuple_get_int declaration
William Pitcock <nenolod@atheme.org>
parents: 3699
diff changeset
333 gint (*tuple_get_int)(Tuple *tuple,
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
334 const gint nfield,
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
335 const gchar *field);
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
336
3699
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
337 /* tuple formatter API */
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
338 gchar *(*tuple_formatter_process_string)(Tuple *tuple, const gchar *string);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
339 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
340 void (*tuple_formatter_register_expression)(const gchar *keyword,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
341 gboolean (*func)(Tuple *tuple, const gchar *argument));
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
342 void (*tuple_formatter_register_function)(const gchar *keyword,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
343 gchar *(*func)(Tuple *tuple, gchar **argument));
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
344 gchar *(*tuple_formatter_process_expr)(Tuple *tuple, const gchar *expression,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
345 const gchar *argument);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
346 gchar *(*tuple_formatter_process_function)(Tuple *tuple, const gchar *expression,
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
347 const gchar *argument);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
348 gchar *(*tuple_formatter_process_construct)(Tuple *tuple, const gchar *string);
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
349
3706
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
350 /* MIME types */
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
351 InputPlugin *(*mime_get_plugin)(const gchar *mimetype);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
352 void (*mime_set_plugin)(const gchar *mimetype, InputPlugin *ip);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
353
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
354 /* Custom URI registry */
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
355 InputPlugin *(*uri_get_plugin)(const gchar *filename);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
356 void (*uri_set_plugin)(const gchar *uri, InputPlugin *ip);
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
357
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
358 /* Util funcs */
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
359 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
360 const gchar * button_text, gboolean modal,
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
361 GCallback button_action,
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
362 gpointer action_data);
3736
269449ad845e vtable get_gentitle_format().
William Pitcock <nenolod@atheme.org>
parents: 3735
diff changeset
363 const gchar *(*get_gentitle_format)(void);
3757
d24d28e76588 export util_get_localdir().
William Pitcock <nenolod@atheme.org>
parents: 3755
diff changeset
364 gchar *(*util_get_localdir)(void);
3765
b4a9d4be27ab forgot to export a symbol. now I am done. really.
William Pitcock <nenolod@atheme.org>
parents: 3762
diff changeset
365 void (*util_menu_main_show)(gint x, gint y, guint button, guint time);
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
366
4754
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
367 gpointer (*smart_realloc)(gpointer ptr, gsize *size);
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
368 SAD_sample_format (*sadfmt_from_afmt)(AFormat fmt);
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
369
3745
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
370 /* INI funcs */
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
371 INIFile *(*open_ini_file)(const gchar *filename);
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
372 void (*close_ini_file)(INIFile *key_file);
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
373 gchar *(*read_ini_string)(INIFile *key_file, const gchar *section,
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
374 const gchar *key);
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
375 GArray *(*read_ini_array)(INIFile *key_file, const gchar *section,
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
376 const gchar *key);
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
377
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
378
3734
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
379 /* strings API */
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
380 gchar *(*escape_shell_chars)(const gchar * string);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
381
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
382 gchar *(*str_append)(gchar * str, const gchar * add_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
383 gchar *(*str_replace)(gchar * str, gchar * new_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
384 void (*str_replace_in)(gchar ** str, gchar * new_str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
385
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
386 gboolean (*str_has_prefix_nocase)(const gchar * str, const gchar * prefix);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
387 gboolean (*str_has_suffix_nocase)(const gchar * str, const gchar * suffix);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
388 gboolean (*str_has_suffixes_nocase)(const gchar * str, gchar * const *suffixes);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
389
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
390 gchar *(*str_to_utf8_fallback)(const gchar * str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
391 gchar *(*filename_to_utf8)(const gchar * filename);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
392 gchar *(*str_to_utf8)(const gchar * str);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
393
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
394 const gchar *(*str_skip_chars)(const gchar * str, const gchar * chars);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
395
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
396 gchar *(*convert_title_text)(gchar * text);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
397
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
398 gchar *(*chardet_to_utf8)(const gchar *str, gssize len,
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
399 gsize *arg_bytes_read, gsize *arg_bytes_write,
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
400 GError **arg_error);
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
401
3735
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
402 /* PlaylistContainer API. */
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
403 void (*playlist_container_register)(PlaylistContainer *plc);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
404 void (*playlist_container_unregister)(PlaylistContainer *plc);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
405 void (*playlist_container_read)(gchar *filename, gint pos);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
406 void (*playlist_container_write)(gchar *filename, gint pos);
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
407 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
408
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
409 /* Playlist API */
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
410 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
411 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
412 InputPlugin * dec);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
413 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
414
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
415 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
416 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
417 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
418 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
419 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
420 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
421
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
422 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
423 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
424 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
425
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
426 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
427 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
428 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
429 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
430 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
431 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
432
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
433 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
434 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
435 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
436 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
437 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
438 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
439 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
440 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
441 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
442 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
443 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
444 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
445 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
446 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
447 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
448 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
449 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
450 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
451 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
452
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
453 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
454 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
455
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
456 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
457 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
458
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
459 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
460 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
461 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
462 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
463
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
464 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
465 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
466
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
467 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
468 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
469
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
470 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
471
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
472 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
473 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
474 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
475 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
476
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
477 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
478 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
479
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
480 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
481 gboolean * total_more,
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
482 gboolean * selection_more);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
483
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
484 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
485 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
486 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
487 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
488 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
489
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
490 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
491 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
492
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
493 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
494
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
495 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
496
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
497 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
498
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
499 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
500 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
501
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
502 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
503
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
504 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
505
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
506 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
507 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
508 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
509
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
510 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
511
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
512 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
513 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
514 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
515
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
516 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
517 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
518 Tuple *tuple);
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
519
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
520 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
521
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
522 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
523
3741
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
524 /* state vars */
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
525 InputPluginData *ip_state;
4411
628926f505f8 BmpConfig -> AudConfig, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 4408
diff changeset
526 AudConfig *_cfg;
3744
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
527
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
528 /* hook API */
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
529 void (*hook_register)(const gchar *name);
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
530 gint (*hook_associate)(const gchar *name, HookFunction func, gpointer user_data);
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
531 gint (*hook_dissociate)(const gchar *name, HookFunction func);
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
532 void (*hook_call)(const gchar *name, gpointer hook_data);
3746
d5580c6bca31 export xconvert API
William Pitcock <nenolod@atheme.org>
parents: 3745
diff changeset
533
3751
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
534 /* PluginMenu API */
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
535 gint (*menu_plugin_item_add)(gint, GtkWidget *);
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
536 gint (*menu_plugin_item_remove)(gint, GtkWidget *);
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
537
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
538 /* DRCT API. */
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
539 void (*drct_quit) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
540 void (*drct_eject) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
541 void (*drct_jtf_show) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
542 gboolean (*drct_main_win_is_visible)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
543 void (*drct_main_win_toggle) ( gboolean );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
544 gboolean (*drct_eq_win_is_visible)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
545 void (*drct_eq_win_toggle) ( gboolean );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
546 gboolean (*drct_pl_win_is_visible)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
547 void (*drct_pl_win_toggle) ( gboolean );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
548 void (*drct_set_skin)(gchar *skinfile);
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
549 void (*drct_activate)(void);
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
550
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
551 /* DRCT API: playback */
4578
d27f00f6b568 add audacious_drct_initiate
Tomasz Mon <desowin@gmail.com>
parents: 4573
diff changeset
552 void (*drct_initiate) ( void );
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
553 void (*drct_play) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
554 void (*drct_pause) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
555 void (*drct_stop) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
556 gboolean (*drct_get_playing)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
557 gboolean (*drct_get_paused)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
558 gboolean (*drct_get_stopped)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
559 void (*drct_get_info)( gint *rate, gint *freq, gint *nch);
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
560 gint (*drct_get_time )( void );
4573
11f7874f3a95 add audacious_drct_get_length
Tomasz Mon <desowin@gmail.com>
parents: 4557
diff changeset
561 gint (*drct_get_length )( void );
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
562 void (*drct_seek) ( guint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
563 void (*drct_get_volume)( gint *vl, gint *vr );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
564 void (*drct_set_volume)( gint vl, gint vr );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
565 void (*drct_get_volume_main)( gint *v );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
566 void (*drct_set_volume_main)( gint v );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
567 void (*drct_get_volume_balance)( gint *b );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
568 void (*drct_set_volume_balance)( gint b );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
569
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
570 /* DRCT API: playlist */
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
571 void (*drct_pl_next)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
572 void (*drct_pl_prev)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
573 gboolean (*drct_pl_repeat_is_enabled)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
574 void (*drct_pl_repeat_toggle) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
575 gboolean (*drct_pl_repeat_is_shuffled)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
576 void (*drct_pl_shuffle_toggle) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
577 gchar *(*drct_pl_get_title)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
578 gint (*drct_pl_get_time)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
579 gint (*drct_pl_get_pos)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
580 gchar *(*drct_pl_get_file)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
581 void (*drct_pl_add) ( GList * list );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
582 void (*drct_pl_clear) ( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
583 gint (*drct_pl_get_length)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
584 void (*drct_pl_delete) ( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
585 void (*drct_pl_set_pos)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
586 void (*drct_pl_ins_url_string)( gchar * string, gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
587 void (*drct_pl_add_url_string)( gchar * string );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
588 void (*drct_pl_enqueue_to_temp)( gchar * string );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
589
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
590 /* DRCT API: playqueue */
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
591 gint (*drct_pq_get_length)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
592 void (*drct_pq_add)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
593 void (*drct_pq_remove)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
594 void (*drct_pq_clear)( void );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
595 gboolean (*drct_pq_is_queued)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
596 gint (*drct_pq_get_position)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
597 gint (*drct_pq_get_queue_position)( gint pos );
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
598
3754
74bed6b35161 export formatter and prefswin APIs
William Pitcock <nenolod@atheme.org>
parents: 3753
diff changeset
599 gint (*prefswin_page_new)(GtkWidget *container, gchar *name, gchar *imgurl);
74bed6b35161 export formatter and prefswin APIs
William Pitcock <nenolod@atheme.org>
parents: 3753
diff changeset
600 void (*prefswin_page_destroy)(GtkWidget *container);
3755
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
601
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
602 /* FileInfoPopup API */
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
603 GtkWidget *(*fileinfopopup_create)(void);
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
604 void (*fileinfopopup_destroy)(GtkWidget* fileinfopopup_win);
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
605 void (*fileinfopopup_show_from_tuple)(GtkWidget *fileinfopopup_win, Tuple *tuple);
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
606 void (*fileinfopopup_show_from_title)(GtkWidget *fileinfopopup_win, gchar *title);
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
607 void (*fileinfopopup_hide)(GtkWidget *filepopup_win, gpointer unused);
3758
21b45219249f export input_check_file().
William Pitcock <nenolod@atheme.org>
parents: 3757
diff changeset
608
21b45219249f export input_check_file().
William Pitcock <nenolod@atheme.org>
parents: 3757
diff changeset
609 /* Probe */
21b45219249f export input_check_file().
William Pitcock <nenolod@atheme.org>
parents: 3757
diff changeset
610 ProbeResult *(*input_check_file)(const gchar * filename, gboolean show_warning);
3759
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
611
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
612 /* InputPlayback */
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
613 InputPlayback *(*playback_new)(void);
4109
2d6fd3f630f0 Adds playback_free() function to fix memory leak in playback_stop(). (Bugzilla #42)
Jussi Judin <jjudin+audacious@iki.fi>
parents: 4089
diff changeset
614 void (*playback_free)(InputPlayback *);
3759
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
615 void (*playback_run)(InputPlayback *);
3760
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
616
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
617 /* Flows */
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
618 gsize (*flow_execute)(Flow *flow, gint time, gpointer *data, gsize len, AFormat fmt,
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
619 gint srate, gint channels);
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
620 Flow *(*flow_new)(void);
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
621 void (*flow_link_element)(Flow *flow, FlowFunction func);
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
622 void (*flow_unlink_element)(Flow *flow, FlowFunction func);
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
623 void (*effect_flow)(FlowContext *context);
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
624 void (*volumecontrol_flow)(FlowContext *context);
3768
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
625
3973
26c503cdce58 Add get_output_list() to PAPI for xmms-crossfade.
William Pitcock <nenolod@atheme.org>
parents: 3971
diff changeset
626 GList *(*get_output_list)(void);
4030
0b004b3bfb70 Add plugin function to pull volume.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 4025
diff changeset
627
0b004b3bfb70 Add plugin function to pull volume.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 4025
diff changeset
628 void (*input_get_volume)(gint * l, gint * r);
4070
040243a50bd3 - modified playlist_load_ins_file() and playlist_load_ins_file_tuple(). path builder and ext_hash checker
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4030
diff changeset
629
040243a50bd3 - modified playlist_load_ins_file() and playlist_load_ins_file_tuple(). path builder and ext_hash checker
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4030
diff changeset
630 gchar *(*construct_uri)(gchar *string, const gchar *playlist_name);
4089
9e24c8746d99 - introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4070
diff changeset
631 gchar *(*uri_to_display_basename)(const gchar * uri);
9e24c8746d99 - introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4070
diff changeset
632 gchar *(*uri_to_display_dirname)(const gchar * uri);
9e24c8746d99 - introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4070
diff changeset
633
4266
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
634 void (*set_pvt_data)(Plugin * plugin, gpointer data);
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
635 gpointer (*get_pvt_data)(void);
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
636
4288
fe09acacd473 add event_queue() to the vtable as aud_event_queue()
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4281
diff changeset
637 void (*event_queue)(const gchar *name, gpointer user_data);
fe09acacd473 add event_queue() to the vtable as aud_event_queue()
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4281
diff changeset
638
4596
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
639 void (*calc_mono_freq)(gint16 dest[2][256], gint16 src[2][512], gint nch);
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
640 void (*calc_mono_pcm)(gint16 dest[2][512], gint16 src[2][512], gint nch);
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
641 void (*calc_stereo_pcm)(gint16 dest[2][512], gint16 src[2][512], gint nch);
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
642
4598
a2cbde1af409 export create_widgets to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4596
diff changeset
643 void (*create_widgets)(GtkBox *box, PreferencesWidget *widgets, gint amt);
a2cbde1af409 export create_widgets to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4596
diff changeset
644
4703
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
645 GList *(*equalizer_read_presets)(const gchar * basename);
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
646 void (*equalizer_write_preset_file)(GList * list, const gchar * basename);
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
647 GList *(*import_winamp_eqf)(VFSFile * file);
4711
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
648 void (*save_preset_file)(EqualizerPreset *preset, const gchar * filename);
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
649 EqualizerPreset *(*equalizer_read_aud_preset)(const gchar * filename);
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
650 EqualizerPreset *(*load_preset_file)(const gchar *filename);
4703
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
651
4392
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
652 /* VFS endianess helper functions */
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
653 gboolean (*vfs_fget_le16)(guint16 *value, VFSFile *stream);
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
654 gboolean (*vfs_fget_le32)(guint32 *value, VFSFile *stream);
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
655 gboolean (*vfs_fget_le64)(guint64 *value, VFSFile *stream);
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
656 gboolean (*vfs_fget_be16)(guint16 *value, VFSFile *stream);
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
657 gboolean (*vfs_fget_be32)(guint32 *value, VFSFile *stream);
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
658 gboolean (*vfs_fget_be64)(guint64 *value, VFSFile *stream);
4755
c6f352d25d27 makeing possible to reinitialize the output plugin from outher plugins
Paula Stanciu <paula.stanciu@gmail.com>
parents: 4711
diff changeset
659 void (*output_plugin_cleanup)(void);
c6f352d25d27 makeing possible to reinitialize the output plugin from outher plugins
Paula Stanciu <paula.stanciu@gmail.com>
parents: 4711
diff changeset
660 void (*output_plugin_reinit)(void);
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 };
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
662
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
663 /* 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
664 /* 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
665 #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
666 #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
667 #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
668 #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
669 #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
670 #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
671 #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
672 #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
673 #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
674 #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
675 #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
676 #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
677 #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
678 #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
679 #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
680 #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
681 #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
682 #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
683 #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
684 #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
685 #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
686 #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
687
3684
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
688 #define aud_vfs_buffer_new _audvt->vfs_buffer_new
2f9d8b987e40 Export VfsBuffer functions.
William Pitcock <nenolod@atheme.org>
parents: 3683
diff changeset
689 #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
690
3685
0ba593887cae Export VfsBufferedFile functions.
William Pitcock <nenolod@atheme.org>
parents: 3684
diff changeset
691 #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
692 #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
693
4392
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
694 #define aud_vfs_fget_le16 _audvt->vfs_fget_le16
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
695 #define aud_vfs_fget_le32 _audvt->vfs_fget_le32
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
696 #define aud_vfs_fget_le64 _audvt->vfs_fget_le64
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
697 #define aud_vfs_fget_be16 _audvt->vfs_fget_be16
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
698 #define aud_vfs_fget_be32 _audvt->vfs_fget_be32
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
699 #define aud_vfs_fget_be64 _audvt->vfs_fget_be64
9d5e6bfca672 Added new VFS helper functions for reading big/little endian data (16-, 32- and 64-bit integer formats)
Matti Hamalainen <ccr@tnsp.org>
parents: 4391
diff changeset
700
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
701 /* XXX: deprecation warnings */
4433
a6a2e84e2b2e Use mcs_handle_t directly instead of ConfigDb struct to remove the useless wrapper.
Matti Hamalainen <ccr@tnsp.org>
parents: 4414
diff changeset
702 #define ConfigDb mcs_handle_t /* Alias for compatibility -- ccr */
4413
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
703 #define aud_cfg_db_open _audvt->cfg_db_open
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
704 #define aud_cfg_db_close _audvt->cfg_db_close
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
705 #define aud_cfg_db_set_string _audvt->cfg_db_set_string
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
706 #define aud_cfg_db_set_int _audvt->cfg_db_set_int
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
707 #define aud_cfg_db_set_bool _audvt->cfg_db_set_bool
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
708 #define aud_cfg_db_set_float _audvt->cfg_db_set_float
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
709 #define aud_cfg_db_set_double _audvt->cfg_db_set_double
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
710 #define aud_cfg_db_get_string _audvt->cfg_db_get_string
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
711 #define aud_cfg_db_get_int _audvt->cfg_db_get_int
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
712 #define aud_cfg_db_get_bool _audvt->cfg_db_get_bool
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
713 #define aud_cfg_db_get_float _audvt->cfg_db_get_float
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
714 #define aud_cfg_db_get_double _audvt->cfg_db_get_double
de33c83aa06f Huge renaming patch, changing BMP references to Audacious.
Matti Hamalainen <ccr@tnsp.org>
parents: 4411
diff changeset
715 #define aud_cfg_db_unset_key _audvt->cfg_db_unset_key
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
716
12e11b15b549 Export ConfigDB API via vtable, adding public aliases: bmp_cfg_db_*, aud_cfg_db_*.
William Pitcock <nenolod@atheme.org>
parents: 3685
diff changeset
717 #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
718 #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
719 #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
720 #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
721 #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
722 #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
723 #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
724 #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
725 #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
726 #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
727 #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
728 #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
729 #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
730
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
731 #define aud_tuple_new _audvt->tuple_new
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
732 #define aud_tuple_new_from_filename _audvt->tuple_new_from_filename
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
733 #define aud_tuple_associate_string _audvt->tuple_associate_string
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
734 #define aud_tuple_associate_int _audvt->tuple_associate_int
3703
2e1a1d734112 aud_tuple_disassociate
William Pitcock <nenolod@atheme.org>
parents: 3701
diff changeset
735 #define aud_tuple_disassociate _audvt->tuple_disassociate
2e1a1d734112 aud_tuple_disassociate
William Pitcock <nenolod@atheme.org>
parents: 3701
diff changeset
736 #define aud_tuple_disassociate_now _audvt->tuple_disassociate_now
3698
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
737 #define aud_tuple_get_value_type _audvt->tuple_get_value_type
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
738 #define aud_tuple_get_string _audvt->tuple_get_string
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
739 #define aud_tuple_get_int _audvt->tuple_get_int
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
740 #define aud_tuple_free mowgli_object_unref
0ef1a18a5583 Export Tuple API.
William Pitcock <nenolod@atheme.org>
parents: 3696
diff changeset
741
3699
ddde4794b4e2 Export tuple formatter API.
William Pitcock <nenolod@atheme.org>
parents: 3698
diff changeset
742 #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
743 #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
744 #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
745 #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
746 #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
747 #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
748 #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
749
3706
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
750 #define aud_mime_get_plugin _audvt->mime_get_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
751 #define aud_mime_set_plugin _audvt->mime_set_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
752
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
753 #define aud_uri_get_plugin _audvt->uri_get_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
754 #define aud_uri_set_plugin _audvt->uri_set_plugin
fc17623eb561 Export MIME/Custom URI APIs
William Pitcock <nenolod@atheme.org>
parents: 3705
diff changeset
755
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
756 #define aud_info_dialog _audvt->util_info_dialog
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
757 #define audacious_info_dialog _audvt->util_info_dialog
3736
269449ad845e vtable get_gentitle_format().
William Pitcock <nenolod@atheme.org>
parents: 3735
diff changeset
758 #define aud_get_gentitle_format _audvt->get_gentitle_format
4754
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
759 #define aud_smart_realloc _audvt->smart_realloc
b136f202ebfa export functions to make libSAD usage in plugins more easy
Andrew O. Shadoura <bugzilla@tut.by>
parents: 4752
diff changeset
760 #define aud_sadfmt_from_afmt _audvt->sadfmt_from_afmt
3731
0e5da33a32b7 fun util dialog shit -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3709
diff changeset
761
3734
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
762 #define aud_escape_shell_chars _audvt->escape_shell_chars
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
763 #define aud_str_append _audvt->str_append
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
764 #define aud_str_replace _audvt->str_replace
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
765 #define aud_str_replace_in _audvt->str_replace_in
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
766 #define aud_str_has_prefix_nocase _audvt->str_has_prefix_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
767 #define aud_str_has_suffix_nocase _audvt->str_has_suffix_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
768 #define aud_str_has_suffixes_nocase _audvt->str_has_suffixes_nocase
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
769 #define aud_str_to_utf8_fallback _audvt->str_to_utf8_fallback
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
770 #define aud_filename_to_utf8 _audvt->filename_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
771 #define aud_str_to_utf8 _audvt->str_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
772 #define aud_str_skip_chars _audvt->str_skip_chars
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
773 #define aud_convert_title_text _audvt->convert_title_text
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
774 #define aud_chardet_to_utf8 _audvt->chardet_to_utf8
e82ec5cb017c strings API -> vtable
William Pitcock <nenolod@atheme.org>
parents: 3731
diff changeset
775
3735
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
776 #define aud_playlist_container_register _audvt->playlist_container_register
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
777 #define aud_playlist_container_unregister _audvt->playlist_container_unregister
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
778 #define aud_playlist_container_read _audvt->playlist_container_read
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
779 #define aud_playlist_container_write _audvt->playlist_container_write
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
780 #define aud_playlist_container_find _audvt->playlist_container_find
d41d03630f27 export PlaylistContainer API in vtable.
William Pitcock <nenolod@atheme.org>
parents: 3734
diff changeset
781
3738
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
782 #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
783 #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
784
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
785 #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
786 #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
787 #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
788 #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
789 #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
790 #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
791
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
792 #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
793 #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
794 #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
795
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
796 #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
797 #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
798 #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
799 #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
800 #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
801 #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
802
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
803 #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
804 #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
805 #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
806
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
807 #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
808 #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
809 #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
810 #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
811 #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
812 #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
813 #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
814 #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
815 #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
816 #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
817 #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
818 #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
819 #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
820 #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
821 #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
822 #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
823
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
824 #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
825 #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
826
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
827 #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
828 #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
829
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
830 #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
831 #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
832 #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
833 #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
834
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
835 #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
836 #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
837
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
838 #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
839 #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
840
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
841 #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
842
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
843 #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
844 #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
845 #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
846 #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
847
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
848 #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
849 #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
850
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
851 #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
852
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
853 #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
854 #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
855 #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
856 #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
857 #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
858
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
859 #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
860 #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
861
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
862 #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
863
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
864 #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
865
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
866 #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
867
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
868 #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
869 #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
870
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
871 #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
872 #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
873
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
874 #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
875 #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
876 #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
877
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
878 #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
879
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
880 #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
881 #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
882
48a596a86459 export Playlist API, remove old crap that isn't there anymore
William Pitcock <nenolod@atheme.org>
parents: 3736
diff changeset
883 #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
884 #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
885
3741
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
886 #define aud_ip_state _audvt->ip_state
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
887 #define aud_cfg _audvt->_cfg
a1b31fe5a249 export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents: 3739
diff changeset
888
3744
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
889 #define aud_hook_associate _audvt->hook_associate
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
890 #define aud_hook_dissociate _audvt->hook_dissociate
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
891 #define aud_hook_register _audvt->hook_register
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
892 #define aud_hook_call _audvt->hook_call
e2f8feddbb19 export hook API
William Pitcock <nenolod@atheme.org>
parents: 3741
diff changeset
893
3745
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
894 #define aud_open_ini_file _audvt->open_ini_file
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
895 #define aud_close_ini_file _audvt->close_ini_file
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
896 #define aud_read_ini_string _audvt->read_ini_string
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
897 #define aud_read_ini_array _audvt->read_ini_array
e26ac0692e8f export INIFile APIs
William Pitcock <nenolod@atheme.org>
parents: 3744
diff changeset
898
3751
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
899 #define audacious_menu_plugin_item_add _audvt->menu_plugin_item_add
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
900 #define audacious_menu_plugin_item_remove _audvt->menu_plugin_item_remove
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
901 #define aud_menu_plugin_item_add _audvt->menu_plugin_item_add
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
902 #define aud_menu_plugin_item_remove _audvt->menu_plugin_item_remove
0fb35f6cc4b7 PluginMenu API is exported now. No changes required to plugins.
William Pitcock <nenolod@atheme.org>
parents: 3748
diff changeset
903
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
904 #define audacious_drct_quit _audvt->drct_quit
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
905 #define audacious_drct_eject _audvt->drct_eject
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
906 #define audacious_drct_jtf_show _audvt->drct_jtf_show
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
907 #define audacious_drct_main_win_is_visible _audvt->drct_main_win_is_visible
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
908 #define audacious_drct_main_win_toggle _audvt->drct_main_win_toggle
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
909 #define audacious_drct_eq_win_is_visible _audvt->drct_eq_win_is_visible
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
910 #define audacious_drct_eq_win_toggle _audvt->drct_eq_win_toggle
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
911 #define audacious_drct_pl_win_is_visible _audvt->drct_pl_win_is_visible
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
912 #define audacious_drct_pl_win_toggle _audvt->drct_pl_win_toggle
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
913 #define audacious_drct_set_skin _audvt->drct_set_skin
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
914 #define audacious_drct_activate _audvt->drct_activate
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
915
4578
d27f00f6b568 add audacious_drct_initiate
Tomasz Mon <desowin@gmail.com>
parents: 4573
diff changeset
916 #define audacious_drct_initiate _audvt->drct_initiate
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
917 #define audacious_drct_play _audvt->drct_play
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
918 #define audacious_drct_pause _audvt->drct_pause
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
919 #define audacious_drct_stop _audvt->drct_stop
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
920 #define audacious_drct_get_playing _audvt->drct_get_playing
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
921 #define audacious_drct_get_paused _audvt->drct_get_paused
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
922 #define audacious_drct_get_stopped _audvt->drct_get_stopped
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
923 #define audacious_drct_get_info _audvt->drct_get_info
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
924 #define audacious_drct_get_time _audvt->drct_get_time
4573
11f7874f3a95 add audacious_drct_get_length
Tomasz Mon <desowin@gmail.com>
parents: 4557
diff changeset
925 #define audacious_drct_get_length _audvt->drct_get_length
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
926 #define audacious_drct_seek _audvt->drct_seek
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
927 #define audacious_drct_get_volume _audvt->drct_get_volume
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
928 #define audacious_drct_set_volume _audvt->drct_set_volume
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
929 #define audacious_drct_get_volume_main _audvt->drct_get_volume_main
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
930 #define audacious_drct_set_volume_main _audvt->drct_set_volume_main
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
931 #define audacious_drct_get_volume_balance _audvt->drct_get_volume_balance
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
932 #define audacious_drct_set_volume_balance _audvt->drct_set_volume_balance
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
933
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
934 #define audacious_drct_pl_next _audvt->drct_pl_next
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
935 #define audacious_drct_pl_prev _audvt->drct_pl_prev
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
936 #define audacious_drct_pl_repeat_is_enabled _audvt->drct_pl_repeat_is_enabled
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
937 #define audacious_drct_pl_repeat_toggle _audvt->drct_pl_repeat_toggle
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
938 #define audacious_drct_pl_repeat_is_shuffled _audvt->drct_pl_repeat_is_shuffled
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
939 #define audacious_drct_pl_shuffle_toggle _audvt->drct_pl_shuffle_toggle
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
940 #define audacious_drct_pl_get_title _audvt->drct_pl_get_title
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
941 #define audacious_drct_pl_get_time _audvt->drct_pl_get_time
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
942 #define audacious_drct_pl_get_pos _audvt->drct_pl_get_pos
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
943 #define audacious_drct_pl_get_file _audvt->drct_pl_get_file
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
944 #define audacious_drct_pl_add _audvt->drct_pl_add
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
945 #define audacious_drct_pl_clear _audvt->drct_pl_clear
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
946 #define audacious_drct_pl_get_length _audvt->drct_pl_get_length
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
947 #define audacious_drct_pl_delete _audvt->drct_pl_delete
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
948 #define audacious_drct_pl_set_pos _audvt->drct_pl_set_pos
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
949 #define audacious_drct_pl_ins_url_string _audvt->drct_pl_ins_url_string
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
950 #define audacious_drct_pl_add_url_string _audvt->drct_pl_add_url_string
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
951 #define audacious_drct_pl_enqueue_to_temp _audvt->drct_pl_enqueue_to_temp
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
952
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
953 #define audacious_drct_pq_get_length _audvt->drct_pq_get_length
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
954 #define audacious_drct_pq_add _audvt->drct_pq_add
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
955 #define audacious_drct_pq_remove _audvt->drct_pq_remove
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
956 #define audacious_drct_pq_clear _audvt->drct_pq_clear
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
957 #define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
958 #define audacious_drct_pq_get_position _audvt->drct_pq_get_position
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
959 #define audacious_drct_pq_get_queue_position _audvt->drct_pq_get_queue_position
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
960
3754
74bed6b35161 export formatter and prefswin APIs
William Pitcock <nenolod@atheme.org>
parents: 3753
diff changeset
961 #define aud_prefswin_page_new _audvt->prefswin_page_new
74bed6b35161 export formatter and prefswin APIs
William Pitcock <nenolod@atheme.org>
parents: 3753
diff changeset
962 #define aud_prefswin_page_destroy _audvt->prefswin_page_destroy
74bed6b35161 export formatter and prefswin APIs
William Pitcock <nenolod@atheme.org>
parents: 3753
diff changeset
963
3755
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
964 #define audacious_fileinfopopup_create _audvt->fileinfopopup_create
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
965 #define audacious_fileinfopopup_destroy _audvt->fileinfopopup_destroy
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
966 #define audacious_fileinfopopup_show_from_tuple _audvt->fileinfopopup_show_from_tuple
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
967 #define audacious_fileinfopopup_show_from_title _audvt->fileinfopopup_show_from_title
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
968 #define audacious_fileinfopopup_hide _audvt->fileinfopopup_hide
2ca446f02d97 export the fileinfopopup API.
William Pitcock <nenolod@atheme.org>
parents: 3754
diff changeset
969
3757
d24d28e76588 export util_get_localdir().
William Pitcock <nenolod@atheme.org>
parents: 3755
diff changeset
970 #define audacious_get_localdir _audvt->util_get_localdir
d24d28e76588 export util_get_localdir().
William Pitcock <nenolod@atheme.org>
parents: 3755
diff changeset
971
3758
21b45219249f export input_check_file().
William Pitcock <nenolod@atheme.org>
parents: 3757
diff changeset
972 #define aud_input_check_file _audvt->input_check_file
21b45219249f export input_check_file().
William Pitcock <nenolod@atheme.org>
parents: 3757
diff changeset
973
3759
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
974 #define aud_playback_new _audvt->playback_new
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
975 #define aud_playback_run _audvt->playback_run
4109
2d6fd3f630f0 Adds playback_free() function to fix memory leak in playback_stop(). (Bugzilla #42)
Jussi Judin <jjudin+audacious@iki.fi>
parents: 4089
diff changeset
976 #define aud_playback_free(x) _audvt->playback_free
3759
9e54690956a0 finalised the API, I think.
William Pitcock <nenolod@atheme.org>
parents: 3758
diff changeset
977
3760
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
978 #define aud_flow_execute _audvt->flow_execute
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
979 #define aud_flow_new _audvt->flow_new
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
980 #define aud_flow_link_element _audvt->flow_link_element
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
981 #define aud_flow_unlink_element _audvt->flow_unlink_element
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
982 #define aud_effect_flow _audvt->effect_flow
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
983 #define aud_volumecontrol_flow _audvt->volumecontrol_flow
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
984 #define aud_flow_destroy(flow) mowgli_object_unref(flow)
William Pitcock <nenolod@atheme.org>
parents: 3759
diff changeset
985
3765
b4a9d4be27ab forgot to export a symbol. now I am done. really.
William Pitcock <nenolod@atheme.org>
parents: 3762
diff changeset
986 #define audacious_menu_main_show _audvt->util_menu_main_show
b4a9d4be27ab forgot to export a symbol. now I am done. really.
William Pitcock <nenolod@atheme.org>
parents: 3762
diff changeset
987
3768
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
988 #define aud_get_dock_window_list _audvt->get_dock_window_list
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
989 #define aud_dock_add_window _audvt->dock_add_window
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
990 #define aud_dock_remove_window _audvt->dock_remove_window
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
991 #define aud_dock_move_press _audvt->dock_move_press
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
992 #define aud_dock_move_motion _audvt->dock_move_motion
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
993 #define aud_dock_move_release _audvt->dock_move_release
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
994 #define aud_dock_is_moving _audvt->dock_is_moving
bf6b1c5091d5 Export dock functions
Christian Birchinger <joker@netswarm.net>
parents: 3765
diff changeset
995
3973
26c503cdce58 Add get_output_list() to PAPI for xmms-crossfade.
William Pitcock <nenolod@atheme.org>
parents: 3971
diff changeset
996 #define aud_get_output_list _audvt->get_output_list
26c503cdce58 Add get_output_list() to PAPI for xmms-crossfade.
William Pitcock <nenolod@atheme.org>
parents: 3971
diff changeset
997
4030
0b004b3bfb70 Add plugin function to pull volume.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 4025
diff changeset
998 #define aud_input_get_volume _audvt->input_get_volume
0b004b3bfb70 Add plugin function to pull volume.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 4025
diff changeset
999
4070
040243a50bd3 - modified playlist_load_ins_file() and playlist_load_ins_file_tuple(). path builder and ext_hash checker
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4030
diff changeset
1000 #define aud_construct_uri _audvt->construct_uri
4089
9e24c8746d99 - introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4070
diff changeset
1001 #define aud_uri_to_display_basename _audvt->uri_to_display_basename
9e24c8746d99 - introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4070
diff changeset
1002 #define aud_uri_to_display_dirname _audvt->uri_to_display_dirname
4070
040243a50bd3 - modified playlist_load_ins_file() and playlist_load_ins_file_tuple(). path builder and ext_hash checker
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4030
diff changeset
1003
4266
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
1004 #define aud_set_pvt_data _audvt->set_pvt_data
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
1005 #define aud_get_pvt_data _audvt->get_pvt_data
2b7a74fce100 Implemented support for multiple subplugins inside a plugin (see bug #148) and PluginHeader finalization
stefano@zanga
parents: 4259
diff changeset
1006
4288
fe09acacd473 add event_queue() to the vtable as aud_event_queue()
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4281
diff changeset
1007 #define aud_event_queue _audvt->event_queue
fe09acacd473 add event_queue() to the vtable as aud_event_queue()
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 4281
diff changeset
1008
4596
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
1009 #define aud_calc_mono_freq _audvt->calc_mono_freq
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
1010 #define aud_calc_mono_pcm _audvt->calc_mono_pcm
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
1011 #define aud_calc_stereo_pcm _audvt->calc_stereo_pcm
a77d02342ee1 change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4578
diff changeset
1012
4598
a2cbde1af409 export create_widgets to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4596
diff changeset
1013 #define aud_create_widgets _audvt->create_widgets
a2cbde1af409 export create_widgets to PAPI
Tomasz Mon <desowin@gmail.com>
parents: 4596
diff changeset
1014
4703
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
1015 #define aud_equalizer_read_presets _audvt->equalizer_read_presets
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
1016 #define aud_equalizer_write_preset_file _audvt->equalizer_write_preset_file
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
1017 #define aud_import_winamp_eqf _audvt->import_winamp_eqf
4711
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
1018 #define aud_save_preset_file _audvt->save_preset_file
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
1019 #define aud_equalizer_read_aud_preset _audvt->equalizer_read_aud_preset
a33facf19590 more work on seperating presets from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4703
diff changeset
1020 #define aud_load_preset_file _audvt->load_preset_file
4755
c6f352d25d27 makeing possible to reinitialize the output plugin from outher plugins
Paula Stanciu <paula.stanciu@gmail.com>
parents: 4711
diff changeset
1021 #define aud_output_plugin_cleanup _audvt->output_plugin_cleanup
c6f352d25d27 makeing possible to reinitialize the output plugin from outher plugins
Paula Stanciu <paula.stanciu@gmail.com>
parents: 4711
diff changeset
1022 #define aud_output_plugin_reinit _audvt->output_plugin_reinit
4703
49ea99d333e9 begin seperating equalizer preset from legacy ui
Tomasz Mon <desowin@gmail.com>
parents: 4677
diff changeset
1023
3753
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
1024 #include "audacious/auddrct.h"
22d71f986b86 export AudDRCT API.
William Pitcock <nenolod@atheme.org>
parents: 3751
diff changeset
1025
3688
8ab4cd5c6462 multifile plugins :(
William Pitcock <nenolod@atheme.org>
parents: 3687
diff changeset
1026 /* for multi-file plugins :( */
3881
b2fc92d3b2dd fix forward declaration of vtable in C++ mode. (bugzie #42)
William Pitcock <nenolod@atheme.org>
parents: 3768
diff changeset
1027 G_BEGIN_DECLS
3689
ec4b447eb8eb fix typo!
William Pitcock <nenolod@atheme.org>
parents: 3688
diff changeset
1028 extern struct _AudaciousFuncTableV1 *_audvt;
3881
b2fc92d3b2dd fix forward declaration of vtable in C++ mode. (bugzie #42)
William Pitcock <nenolod@atheme.org>
parents: 3768
diff changeset
1029 G_END_DECLS
3688
8ab4cd5c6462 multifile plugins :(
William Pitcock <nenolod@atheme.org>
parents: 3687
diff changeset
1030
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
1031 #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
1032 G_BEGIN_DECLS \
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
1033 static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \
3234
fb2f3675cbeb Fix DECLARE_PLUGIN() macro.
William Pitcock <nenolod@atheme-project.org>
parents: 3233
diff changeset
1034 (gchar *)#name, init, fini, NULL, __VA_ARGS__ }; \
3690
2e1f85b0f085 more typoes
William Pitcock <nenolod@atheme.org>
parents: 3689
diff changeset
1035 struct _AudaciousFuncTableV1 *_audvt = NULL; \
3691
9f7b621249a0 last one i hope
William Pitcock <nenolod@atheme.org>
parents: 3690
diff changeset
1036 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
1037 _audvt = _vt; \
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
1038 return &_pluginInfo; \
2802
c799098c396f [svn] - guard v2 module header with G_BEGIN_DECLS and G_END_DECLS
nenolod
parents: 2797
diff changeset
1039 } \
c799098c396f [svn] - guard v2 module header with G_BEGIN_DECLS and G_END_DECLS
nenolod
parents: 2797
diff changeset
1040 G_END_DECLS
2796
e9af66a1be74 [svn] - add functions for defining the v2 plugin header
nenolod
parents: 2794
diff changeset
1041
3237
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1042 #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
1043 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
1044
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1045 #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
1046 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
1047
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1048 #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
1049 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
1050
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1051 #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
1052 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
1053
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1054 #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
1055 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
1056
12bc288a7511 add simplified macros to declare plugin. no more excessive NULLs.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3234
diff changeset
1057 #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
1058 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
1059
4677
04c53c9d261b Add provision for Interface plugins.
William Pitcock <nenolod@atheme.org>
parents: 4650
diff changeset
1060 #define SIMPLE_INTERFACE_PLUGIN(name, interface) \
04c53c9d261b Add provision for Interface plugins.
William Pitcock <nenolod@atheme.org>
parents: 4650
diff changeset
1061 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, interface)
04c53c9d261b Add provision for Interface plugins.
William Pitcock <nenolod@atheme.org>
parents: 4650
diff changeset
1062
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1063 /* Sadly, this is the most we can generalize out of the disparate
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1064 plugin structs usable with typecasts - descender */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1065 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
1066 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1067 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1068
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1069 /*
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1070 * LowlevelPlugin is used for lowlevel system services, such as PlaylistContainers,
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1071 * VFSContainers and the like.
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1072 *
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1073 * 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
1074 *
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
1075 * XXX: Is this still in use in 1.4? --nenolod
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1076 */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1077 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
1078 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1079 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1080
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1081 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
1082 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1083
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1084 void (*get_volume) (gint * l, gint * r);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1085 void (*set_volume) (gint l, gint r);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1086
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1087 gint (*open_audio) (AFormat fmt, gint rate, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1088 void (*write_audio) (gpointer ptr, gint length);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1089 void (*close_audio) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1090
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1091 void (*flush) (gint time);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1092 void (*pause) (gshort paused);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1093 gint (*buffer_free) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1094 gint (*buffer_playing) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1095 gint (*output_time) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1096 gint (*written_time) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1097
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1098 void (*tell_audio) (AFormat * fmt, gint * rate, gint * nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1099 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1100
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1101 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
1102 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1103
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1104 gint (*mod_samples) (gpointer * data, gint length, AFormat fmt, gint srate, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1105 void (*query_format) (AFormat * fmt, gint * rate, gint * nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1106 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1107
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1108 struct _InputPlayback {
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1109 gchar *filename;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1110 InputPlugin *plugin;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1111 void *data;
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1112 OutputPlugin *output;
2438
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
1113
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
1114 int playing;
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
1115 gboolean error;
8750a62abed8 [svn] Provide flags in InputPlayback for common plugin flag needs, and provide a
iabervon
parents: 2437
diff changeset
1116 gboolean eof;
3181
1596dcb77acd Track playback monitor thread in InputPlayback.thread.
William Pitcock <nenolod@atheme-project.org>
parents: 3160
diff changeset
1117
1596dcb77acd Track playback monitor thread in InputPlayback.thread.
William Pitcock <nenolod@atheme-project.org>
parents: 3160
diff changeset
1118 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
1119
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
1120 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
1121 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
1122 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
1123 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
1124
418ac922ce87 Use a mutex/condvar/timed wait to allow tickless operation in the output loop.
William Pitcock <nenolod@atheme.org>
parents: 3691
diff changeset
1125 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
1126 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
1127 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
1128
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1129 gint nch;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1130 gint rate;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1131 gint freq;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1132 gint length;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1133 gchar *title;
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1134
38259e9394a2 add InputPlayback::set_params() and InputPlayback::set_title() which will
William Pitcock <nenolod@atheme.org>
parents: 3703
diff changeset
1135 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
1136 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
1137
a89a12aa4f2c Add InputPlayback::pass_audio() which replaces produce_audio().
William Pitcock <nenolod@atheme.org>
parents: 3707
diff changeset
1138 void (*pass_audio) (InputPlayback *, AFormat, gint, gint, gpointer, gint *);
4235
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
1139
2d4b4f13d10d set_replaygain_info added to PAPI
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4232
diff changeset
1140 /* added in Audacious 1.5 */
4237
8f6956130372 initial Replay Gain support
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4235
diff changeset
1141 /* called by input plugin when RG info available --asphyx */
8f6956130372 initial Replay Gain support
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4235
diff changeset
1142 void (*set_replaygain_info) (InputPlayback *, ReplayGainInfo *);
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1143 };
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1144
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1145 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
1146 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1147
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1148 gint (*is_our_file) (gchar * filename);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1149 GList *(*scan_dir) (gchar * dirname);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1150
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1151 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
1152 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
1153 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
1154 void (*seek) (InputPlayback * playback, gint time);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1155
2436
f346d30bf5ab [svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents: 2313
diff changeset
1156 gint (*get_time) (InputPlayback * playback);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1157
2437
62d8f9c05832 [svn] More input plugin API work
iabervon
parents: 2436
diff changeset
1158 gint (*get_volume) (gint * l, gint * r);
62d8f9c05832 [svn] More input plugin API work
iabervon
parents: 2436
diff changeset
1159 gint (*set_volume) (gint l, gint r);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1160
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1161 InputVisType (*get_vis_type) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1162 void (*add_vis_pcm) (gint time, AFormat fmt, gint nch, gint length, gpointer ptr);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1163
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1164 void (*set_info) (gchar * title, gint length, gint rate, gint freq, gint nch);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1165 void (*set_info_text) (gchar * text);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1166 void (*get_song_info) (gchar * filename, gchar ** title, gint * length);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1167 void (*file_info_box) (gchar * filename);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1168
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1169 /* 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
1170 Tuple *(*get_song_tuple) (gchar * filename);
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1171
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1172 /* Added in Audacious 1.3.0 */
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1173 gint (*is_our_file_from_vfs) (gchar *filename, VFSFile *fd);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1174 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
1175
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
1176 /* 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
1177 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
1178 Tuple *(*probe_for_tuple)(gchar *uri, VFSFile *fd);
3971
b0ae5dbd2f53 - add subtune support to on demand probing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3881
diff changeset
1179
b0ae5dbd2f53 - add subtune support to on demand probing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3881
diff changeset
1180 /* Added in Audacious 1.4.1 */
b0ae5dbd2f53 - add subtune support to on demand probing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3881
diff changeset
1181 gboolean have_subtune;
b0ae5dbd2f53 - add subtune support to on demand probing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents: 3881
diff changeset
1182
4018
918ccb2644fb update_song_tuple() added to InputPlugin for future tag writing ability
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 3973
diff changeset
1183 /* Added in Audacious 1.5.0 */
918ccb2644fb update_song_tuple() added to InputPlugin for future tag writing ability
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 3973
diff changeset
1184 gboolean (*update_song_tuple)(Tuple *tuple, VFSFile *fd);
4024
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1185 /*
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1186 * Plugin can provide this function for file metadata (aka tag) writing functionality
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1187 * in case when no reason to provide its own custom file info dialog. Thus in most cases.
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1188 *
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1189 * Some notes:
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1190 *
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1191 * 1. In current Audacious version, if plugin provides file_info_box(), the latter will be used in any case.
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1192 * 2. Each field in tuple means operation on one and only one tag's filed:
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1193 * 2.1. Set this field to appropriate value, if non-empty string or positive number provided.
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1194 * 2.2. Set this field to blank (or just delete, at plugins`s discretion), if empty string or negative number provided.
4025
4f9cf3173e2d added my sign to that comments :)
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4024
diff changeset
1195 *
4f9cf3173e2d added my sign to that comments :)
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4024
diff changeset
1196 * -- eugene.
4024
d342cfceb294 added some comments to plugin.h about update_song_tuple()
Eugene Zagidullin <e.asphyx@gmail.com>
parents: 4018
diff changeset
1197 */
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1198 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1199
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1200 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
1201 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1202 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1203
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1204 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
1205 PLUGIN_COMMON_FIELDS
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1206
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1207 gint num_pcm_chs_wanted;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1208 gint num_freq_chs_wanted;
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1209
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1210 void (*disable_plugin) (struct _VisPlugin *);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1211 void (*playback_start) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1212 void (*playback_stop) (void);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1213 void (*render_pcm) (gint16 pcm_data[2][512]);
4375
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1214
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1215 /* The range of intensities is 0 - 32767 (though theoretically it is
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1216 * possible for the FFT to result in bigger values, making the final
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1217 * intensity negative due to overflowing the 16bit signed integer.)
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1218 *
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1219 * If output is mono, only freq_data[0] is filled.
b095d631bec4 Added a short explanation for the freq_data argument in VisPlugin.
Matti Hamalainen <ccr@tnsp.org>
parents: 4346
diff changeset
1220 */
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1221 void (*render_freq) (gint16 freq_data[2][256]);
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1222 };
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1223
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
1224 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
1225 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
1226
3384
7ac9c5c6b44e fixed the interface
Cristi Magherusan <majeru@atheme-project.org>
parents: 3237
diff changeset
1227 GList *(*get_devices);
3227
2619f4c62abe added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents: 3181
diff changeset
1228 };
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
1229
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
1230 /* 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
1231 #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
1232
4557
2eee464379dc Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents: 4433
diff changeset
1233 #endif /* AUDACIOUS_PLUGIN_H */