Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
drct-api.h
Go to the documentation of this file.
1 /*
2  * drct-api.h
3  * Copyright 2010-2011 John Lindgren
4  *
5  * This file is part of Audacious.
6  *
7  * Audacious is free software: you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License as published by the Free Software
9  * Foundation, version 2 or version 3 of the License.
10  *
11  * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * Audacious. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * The Audacious team does not consider modular code linking to Audacious or
19  * using our public API to be a derived work.
20  */
21 
22 /* Do not include this file directly; use drct.h instead. */
23 
24 /* CAUTION: These functions are not thread safe. */
25 
26 /* --- PROGRAM CONTROL --- */
27 
29 
30 /* --- PLAYBACK CONTROL --- */
31 
32 /* The strings returned by drct_get_filename() and drct_get_title() are pooled
33  * and must be freed with str_unref(). */
34 
39 AUD_FUNC0 (bool_t, drct_get_ready)
40 AUD_FUNC0 (bool_t, drct_get_paused)
42 AUD_FUNC0 (char *, drct_get_title)
43 AUD_VFUNC3 (drct_get_info, int *, bitrate, int *, samplerate, int *, channels)
46 AUD_VFUNC1 (drct_seek, int, time)
47 
48 /* --- VOLUME CONTROL --- */
49 
50 AUD_VFUNC2 (drct_get_volume, int *, left, int *, right)
51 AUD_VFUNC2 (drct_set_volume, int, left, int, right)
52 AUD_VFUNC1 (drct_get_volume_main, int *, volume)
53 AUD_VFUNC1 (drct_set_volume_main, int, volume)
54 AUD_VFUNC1 (drct_get_volume_balance, int *, balance)
55 AUD_VFUNC1 (drct_set_volume_balance, int, balance)
56 
57 /* --- PLAYLIST CONTROL --- */
58 
59 /* The indexes passed to drct_pl_add_list(), drct_pl_open_list(), and
60  * drct_pl_open_temp_list() contain pooled strings to which the caller gives up
61  * one reference. The indexes themselves are freed by these functions. */
62 
65 
66 AUD_VFUNC2 (drct_pl_add, const char *, filename, int, at)
67 AUD_VFUNC2 (drct_pl_add_list, Index *, filenames, int, at)
68 AUD_VFUNC1 (drct_pl_open, const char *, filename)
69 AUD_VFUNC1 (drct_pl_open_list, Index *, filenames)
70 AUD_VFUNC1 (drct_pl_open_temp, const char *, filename)
71 AUD_VFUNC1 (drct_pl_open_temp_list, Index *, filenames)
72