Mercurial > audlegacy
annotate src/audacious/input.h @ 3753:22d71f986b86
export AudDRCT API.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Sun, 14 Oct 2007 17:47:13 -0500 |
parents | a1b31fe5a249 |
children | 8fdaccee8312 |
rev | line source |
---|---|
2313 | 1 /* Audacious - Cross platform multimedia player |
2 * Copyright (C) 2005-2007 Audacious development team | |
3 * | |
4 * Based on BMP: | |
5 * Copyright (C) 2003-2004 BMP development team | |
6 * | |
7 * Based on XMMS: | |
8 * Copyright (C) 1998-2003 XMMS development team | |
9 * | |
10 * This program is free software; you can redistribute it and/or modify | |
11 * it under the terms of the GNU General Public License as published by | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2663
diff
changeset
|
12 * the Free Software Foundation; under version 3 of the License. |
2313 | 13 * |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2663
diff
changeset
|
20 * along with this program. If not, see <http://www.gnu.org/licenses>. |
3123
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
21 * |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
22 * The Audacious team does not consider modular code linking to |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
23 * Audacious or using our public API to be a derived work. |
2313 | 24 */ |
25 | |
3740 | 26 #ifndef _AUDACIOUS_INPUT_H |
27 #define _AUDACIOUS_INPUT_H | |
2313 | 28 |
3741
a1b31fe5a249
export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents:
3740
diff
changeset
|
29 typedef struct _InputPluginData InputPluginData; |
2313 | 30 |
3741
a1b31fe5a249
export ip_data and cfg
William Pitcock <nenolod@atheme.org>
parents:
3740
diff
changeset
|
31 #include "plugin.h" |
2313 | 32 |
33 struct _InputPluginData { | |
34 GList *input_list; | |
2436
f346d30bf5ab
[svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents:
2313
diff
changeset
|
35 InputPlayback *current_input_playback; |
2313 | 36 gboolean playing; |
37 gboolean paused; | |
38 gboolean stop; | |
39 gboolean buffering; | |
40 GMutex *playback_mutex; | |
41 }; | |
42 | |
3127
c92070f10148
Use ProbeResult (try 1)
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
43 typedef struct { |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3165
diff
changeset
|
44 Tuple *tuple; |
3127
c92070f10148
Use ProbeResult (try 1)
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
45 InputPlugin *ip; |
c92070f10148
Use ProbeResult (try 1)
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
46 } ProbeResult; |
c92070f10148
Use ProbeResult (try 1)
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
47 |
2313 | 48 GList *get_input_list(void); |
2436
f346d30bf5ab
[svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents:
2313
diff
changeset
|
49 InputPlayback *get_current_input_playback(void); |
f346d30bf5ab
[svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents:
2313
diff
changeset
|
50 void set_current_input_playback(InputPlayback * ip); |
f346d30bf5ab
[svn] Change the input plugin API to use a struct for the currently-playing file.
iabervon
parents:
2313
diff
changeset
|
51 void set_current_input_data(void * data); |
2313 | 52 InputVisType input_get_vis_type(); |
53 void free_vis_data(void); | |
2569 | 54 |
3127
c92070f10148
Use ProbeResult (try 1)
William Pitcock <nenolod@atheme-project.org>
parents:
3123
diff
changeset
|
55 ProbeResult *input_check_file(const gchar * filename, gboolean show_warning); |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3165
diff
changeset
|
56 Tuple *input_get_song_tuple(const gchar * filename); |
2569 | 57 |
2313 | 58 void input_play(gchar * filename); |
59 void input_stop(void); | |
60 void input_pause(void); | |
61 gint input_get_time(void); | |
62 void input_set_eq(gint on, gfloat preamp, gfloat * bands); | |
63 void input_seek(gint time); | |
2569 | 64 |
2313 | 65 guchar *input_get_vis(gint time); |
66 void input_update_vis_plugin(gint time); | |
2569 | 67 |
2313 | 68 void input_add_vis_pcm(gint time, AFormat fmt, gint nch, gint length, |
69 gpointer ptr); | |
70 InputVisType input_get_vis_type(); | |
71 void input_update_vis(gint time); | |
72 | |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
3127
diff
changeset
|
73 void input_set_info_text(gchar * text); |
2313 | 74 void input_set_status_buffering(gboolean status); |
75 | |
76 GList *input_scan_dir(const gchar * dir); | |
77 void input_get_volume(gint * l, gint * r); | |
78 void input_set_volume(gint l, gint r); | |
79 void input_file_info_box(const gchar * filename); | |
80 | |
81 gchar *input_stringify_disabled_list(void); | |
82 | |
83 extern InputPluginData ip_data; | |
84 | |
85 | |
86 #endif |