annotate audacious/input.h @ 430:67cd014f35a2 trunk

[svn] This commit rips out the old equalization engine with a dynamic engine that can be extended all the way up to 128 bands.
author nenolod
date Sat, 14 Jan 2006 16:49:00 -0800
parents 1c701dfe5098
children ed26947bbf57
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
1 /* BMP - Cross-platform multimedia player
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
2 * Copyright (C) 2003-2004 BMP development team.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
3 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
4 * Based on XMMS:
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
5 * Copyright (C) 1998-2003 XMMS development team.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
6 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
10 * (at your option) any later version.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
11 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
15 * GNU General Public License for more details.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
16 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
20 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
21
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
22 #ifndef INPUT_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 #define INPUT_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
25 #include "plugin.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
26
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27 typedef struct _InputPluginData InputPluginData;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29 struct _InputPluginData {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30 GList *input_list;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 InputPlugin *current_input_plugin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 gboolean playing;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 gboolean paused;
143
32c320bba8a6 [svn] Mutex system
nenolod
parents: 0
diff changeset
34 GMutex *playback_mutex;
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
36
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
37 GList *get_input_list(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
38 InputPlugin *get_current_input_plugin(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
39 void set_current_input_plugin(InputPlugin * ip);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
40 InputVisType input_get_vis_type();
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
41 void free_vis_data(void);
355
1c701dfe5098 [svn] Cache the decoder used for each PlaylistEntry. This reduces the amount
nenolod
parents: 143
diff changeset
42 InputPlugin *input_check_file(const gchar * filename, gboolean show_warning);
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
43 void input_play(gchar * filename);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 void input_stop(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 void input_pause(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 gint input_get_time(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 void input_set_eq(gint on, gfloat preamp, gfloat * bands);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 void input_seek(gint time);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 void input_get_song_info(const gchar * filename, gchar ** title,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
50 gint * length);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
51 guchar *input_get_vis(gint time);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
52 void input_update_vis_plugin(gint time);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
53 gchar *input_get_info_text(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
54 void input_about(gint index);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
55 void input_configure(gint index);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
56 void input_add_vis(gint time, guchar * s, InputVisType type);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
57 void input_add_vis_pcm(gint time, AFormat fmt, gint nch, gint length,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
58 gpointer ptr);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
59 InputVisType input_get_vis_type();
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
60 void input_update_vis(gint time);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62 void input_set_info_text(const gchar * text);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
63
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
64 GList *input_scan_dir(const gchar * dir);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
65 void input_get_volume(gint * l, gint * r);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
66 void input_set_volume(gint l, gint r);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67 void input_file_info_box(const gchar * filename);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
69 void input_file_not_playable(const gchar * filename);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
70 gboolean input_is_disabled(const gchar * filename);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
71 gboolean input_is_enabled(const gchar * filename);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
72 gchar *input_stringify_disabled_list(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
73
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
74 extern InputPluginData ip_data;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
75 extern gchar *input_info_text;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
76
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
77
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
78 #endif