Mercurial > audlegacy
annotate src/audacious/input.h @ 4611:895297e46ee3
Cure some 'repetitive code syndromes' from audtool.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 05 Jun 2008 01:25:22 +0300 |
parents | a77d02342ee1 |
children | 31a4cc265f31 |
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 | |
4557
2eee464379dc
Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents:
4345
diff
changeset
|
26 #ifndef AUDACIOUS_INPUT_H |
2eee464379dc
Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents:
4345
diff
changeset
|
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 GMutex *playback_mutex; | |
40 }; | |
41 | |
4596
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
42 struct _VisNode { |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
43 gint time; |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
44 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:
4557
diff
changeset
|
45 gint length; /* number of samples per channel */ |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
46 gint16 data[2][512]; |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
47 }; |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
48 |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
49 typedef struct _VisNode VisNode; |
a77d02342ee1
change visualization timeout; export calc_stereo_pcm, calc_mono_pcm and calc_mono_freq to PAPI
Tomasz Mon <desowin@gmail.com>
parents:
4557
diff
changeset
|
50 |
2313 | 51 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
|
52 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
|
53 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
|
54 void set_current_input_data(void * data); |
2313 | 55 InputVisType input_get_vis_type(); |
56 void free_vis_data(void); | |
2569 | 57 |
3959
a575c29cee05
- revive on-demand metadata retrieving. in the combination with "Detect file formats on demand", now audacious can load large directory in a few seconds.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3760
diff
changeset
|
58 ProbeResult *input_check_file(const gchar * filename, gboolean loading); |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3165
diff
changeset
|
59 Tuple *input_get_song_tuple(const gchar * filename); |
2569 | 60 |
2313 | 61 void input_play(gchar * filename); |
62 void input_stop(void); | |
63 void input_pause(void); | |
64 gint input_get_time(void); | |
65 void input_set_eq(gint on, gfloat preamp, gfloat * bands); | |
66 void input_seek(gint time); | |
2569 | 67 |
2313 | 68 guchar *input_get_vis(gint time); |
69 void input_update_vis_plugin(gint time); | |
2569 | 70 |
2313 | 71 void input_add_vis_pcm(gint time, AFormat fmt, gint nch, gint length, |
72 gpointer ptr); | |
73 InputVisType input_get_vis_type(); | |
74 void input_update_vis(gint time); | |
75 | |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
3127
diff
changeset
|
76 void input_set_info_text(gchar * text); |
2313 | 77 |
78 GList *input_scan_dir(const gchar * dir); | |
79 void input_get_volume(gint * l, gint * r); | |
80 void input_set_volume(gint l, gint r); | |
81 void input_file_info_box(const gchar * filename); | |
82 | |
83 gchar *input_stringify_disabled_list(void); | |
84 | |
85 extern InputPluginData ip_data; | |
86 | |
87 | |
4557
2eee464379dc
Clean up header multiple inclusion guards (e.g. #ifndef FOO_H/#define FOO_H)
Matti Hamalainen <ccr@tnsp.org>
parents:
4345
diff
changeset
|
88 #endif /* AUDACIOUS_INPUT_H */ |