annotate audacious/output.h @ 1938:1d9c1026d9f8 trunk

[svn] - DoubleSize support. This has bugs, the most notable one being that DoubleSize only works right if you restart the player. The second bug is rather obvious too. No osmosis skinengine. No TinyPlayer. Classic-esque skinengine only. This is because the doublesize algorithm hates you and wants you to go die in a fire.
author nenolod
date Sun, 05 Nov 2006 04:43:16 -0800
parents 705d4c089fce
children f18a5b617c34
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
1459
705d4c089fce [svn] Fix postal code.
chainsaw
parents: 1458
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0
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 OUTPUT_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 #define OUTPUT_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
25 #include <glib.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
26
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27 #include "plugin.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29 typedef struct _OutputPluginData OutputPluginData;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 struct _OutputPluginData {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 GList *output_list;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 OutputPlugin *current_output_plugin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35
890
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
36 typedef struct _OutputPluginState OutputPluginState;
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
37
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
38 struct _OutputPluginState {
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
39 AFormat fmt;
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
40 gint rate;
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
41 gint nch;
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
42 };
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
43
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 GList *get_output_list(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 OutputPlugin *get_current_output_plugin(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 void set_current_output_plugin(gint i);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 void output_about(gint i);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 void output_configure(gint i);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 void output_get_volume(gint * l, gint * r);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
50 void output_set_volume(gint l, gint r);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
51 void output_set_eq(gboolean, gfloat, gfloat *);
890
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
52 gint output_open_audio(AFormat, gint, gint);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
53 void output_write_audio(gpointer ptr, gint length);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
54 void output_close_audio(void);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
55
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
56 void output_flush(gint);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
57 void output_pause(gshort);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
58 gint output_buffer_free(void);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
59 gint output_buffer_playing(void);
ed26947bbf57 [svn] Gapless support. This comes with a few caveats, that I will mention here:
nenolod
parents: 807
diff changeset
60
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61 void produce_audio(gint, AFormat, gint, gint, gpointer, int *);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62
806
d51a251b542c [svn] - add get_written_time(), get_output_time().
nenolod
parents: 0
diff changeset
63 gint get_written_time(void);
d51a251b542c [svn] - add get_written_time(), get_output_time().
nenolod
parents: 0
diff changeset
64 gint get_output_time(void);
d51a251b542c [svn] - add get_written_time(), get_output_time().
nenolod
parents: 0
diff changeset
65
807
df3412dc33c4 [svn] - add psuedo_output_plugin, a psuedo output plugin that will be used for reverse compatibility with old plugins.
nenolod
parents: 806
diff changeset
66 extern OutputPlugin psuedo_output_plugin;
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67 extern OutputPluginData op_data;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
69 #endif