source: roaraudio/plugins/gstreamer0.10/roarmixer.h @ 2069:299efa23f27f

Last change on this file since 2069:299efa23f27f was 2069:299efa23f27f, checked in by phi, 15 years ago

added mixer header file

File size: 3.0 KB
Line 
1//roarmixer.h:
2/* GStreamer
3 * Copyright (C) <2005> Arwed v. Merkatz <v.merkatz@gmx.net>
4 * Copyright (C) <2008> Philipp 'ph3-der-loewe' Schafft
5 * Copyright (C) <2009> Philipp 'ph3-der-loewe' Schafft
6 *                            <lion@lion.leolix.org>
7 *
8 * roarmixer.h: an RoarAudio audio mixer
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Library General Public
12 * License as published by the Free Software Foundation; either
13 * version 2 of the License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 * Library General Public License for more details.
19 *
20 * You should have received a copy of the GNU Library General Public
21 * License along with this library; if not, write to the
22 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 * Boston, MA 02111-1307, USA.
24 */
25
26
27#ifndef __GST_ROARMIXER_H__
28#define __GST_ROARMIXER_H__
29
30#include <gst/gst.h>
31#include <gst/interfaces/mixer.h>
32#include <roaraudio.h>
33
34#define VERSION "0.0.1"
35#define PACKAGE "gst-plugins"
36#define GST_PACKAGE_ORIGIN "Unknown package origin"
37#define GST_PACKAGE_NAME "GStreamer Plug-ins source release"
38
39G_BEGIN_DECLS
40
41typedef enum {
42  GST_ROAR_MIXER_CAPTURE = 1<<0,
43  GST_ROAR_MIXER_PLAYBACK = 1<<1,
44  GST_ROAR_MIXER_ALL = GST_ROAR_MIXER_CAPTURE | GST_ROAR_MIXER_PLAYBACK
45} GstRoarMixerDirection;
46
47typedef struct _GstRoarMixer GstRoarMixer;
48
49#define GST_ROAR_MIXER(obj)              ((GstRoarMixer*)(obj))
50
51struct _GstRoarMixer {
52  GList *               tracklist;      /* list of available tracks */
53
54  struct roar_connection con;
55  int       fd;
56  gchar    *host;
57
58  gchar *               device;
59  gchar *               cardname;
60  GstRoarMixerDirection dir;
61};
62
63GstRoarMixer*    gst_roarmixer_new                (const gchar *device,
64                                                 GstRoarMixerDirection dir);
65void            gst_roarmixer_free               (GstRoarMixer *mixer);
66
67const GList*    gst_roarmixer_list_tracks        (GstRoarMixer * mixer);
68void            gst_roarmixer_set_volume         (GstRoarMixer * mixer,
69                                                 GstMixerTrack * track,
70                                                 gint * volumes);
71void            gst_roarmixer_get_volume         (GstRoarMixer * mixer,
72                                                 GstMixerTrack * track,
73                                                 gint * volumes);
74void            gst_roarmixer_set_record         (GstRoarMixer * mixer,
75                                                 GstMixerTrack * track,
76                                                 gboolean record);
77void            gst_roarmixer_set_mute           (GstRoarMixer * mixer,
78                                                 GstMixerTrack * track,
79                                                 gboolean mute);
80
81G_END_DECLS
82
83#endif /* __GST_ROARMIXER_H__ */
Note: See TracBrowser for help on using the repository browser.