[Xfce4-commits] r26566 - in xfce4-mixer/trunk: . icons icons/16x16 icons/24x24 icons/48x48 icons/scalable pixmaps po xfce4-mixer
Jannis Pohlmann
jannis at xfce.org
Sun Jan 13 20:27:18 CET 2008
Author: jannis
Date: 2008-01-13 19:27:18 +0000 (Sun, 13 Jan 2008)
New Revision: 26566
Added:
xfce4-mixer/trunk/po/xfce4-mixer.pot
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.h
Modified:
xfce4-mixer/trunk/
xfce4-mixer/trunk/ChangeLog
xfce4-mixer/trunk/Makefile.am
xfce4-mixer/trunk/autogen.sh
xfce4-mixer/trunk/configure.in.in
xfce4-mixer/trunk/icons/
xfce4-mixer/trunk/icons/16x16/
xfce4-mixer/trunk/icons/24x24/
xfce4-mixer/trunk/icons/48x48/
xfce4-mixer/trunk/icons/scalable/
xfce4-mixer/trunk/pixmaps/
xfce4-mixer/trunk/po/
xfce4-mixer/trunk/po/ChangeLog
xfce4-mixer/trunk/po/POTFILES.in
xfce4-mixer/trunk/po/de.po
xfce4-mixer/trunk/xfce4-mixer/
xfce4-mixer/trunk/xfce4-mixer/Makefile.am
xfce4-mixer/trunk/xfce4-mixer/main.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.h
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.c
xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.h
xfce4-mixer/trunk/xfce4-mixer/xfce4-mixer.desktop.in.in
Log:
* xfce4-mixer.pot: Merge strings.
* de.po: Update German translations.
* xfce4-mixer-card.{c,h}: Add XfceMixerCard class as a wrapper for
GstMixer. Implement a method (xfce_mixer_card_get_name()) to
work-around problems with sound card names containing characters
not allowed as section names (see Desktop Entry specification).
This method is now used to store/load preferences of soundcards.
* xfce4-mixer/xfce-mixer.{c,h},
xfce4-mixer/xfce-mixer-controls-dialog.{c,h},
xfce4-mixer/xfce-mixer-option.{c,h},
xfce4-mixer/xfce-mixer-switch.{c,h},
xfce4-mixer/xfce-mixer-track.{c,h}
xfce4-mixer/xfce-mixer-window.{c,h}: Use XfceMixerCard instead of
GstMixer everywhere. Change the main window subtitle to something
less enthusiastic.
Property changes on: xfce4-mixer/trunk
___________________________________________________________________
Name: svn:ignore
- Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
install-sh
intltool-extract
intltool-extract.in
intltool-merge
intltool-merge.in
intltool-update
intltool-update.in
libtool
ltmain.sh
missing
mkinstalldirs
xfce4-mixer.spec
stamp-*
+ Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
configure.in
depcomp
install-sh
intltool-extract
intltool-extract.in
intltool-merge
intltool-merge.in
intltool-update
intltool-update.in
libtool
ltmain.sh
missing
mkinstalldirs
xfce4-mixer.spec
stamp-*
Modified: xfce4-mixer/trunk/ChangeLog
===================================================================
--- xfce4-mixer/trunk/ChangeLog 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/ChangeLog 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,5 +1,21 @@
2008-01-13 Jannis Pohlmann <jannis at xfce.org>
+ * xfce4-mixer-card.{c,h}: Add XfceMixerCard class as a wrapper for
+ GstMixer. Implement a method (xfce_mixer_card_get_name()) to
+ work-around problems with sound card names containing characters
+ not allowed as section names (see Desktop Entry specification).
+ This method is now used to store/load preferences of soundcards.
+ * xfce4-mixer/xfce-mixer.{c,h},
+ xfce4-mixer/xfce-mixer-controls-dialog.{c,h},
+ xfce4-mixer/xfce-mixer-option.{c,h},
+ xfce4-mixer/xfce-mixer-switch.{c,h},
+ xfce4-mixer/xfce-mixer-track.{c,h}
+ xfce4-mixer/xfce-mixer-window.{c,h}: Use XfceMixerCard instead of
+ GstMixer everywhere. Change the main window subtitle to something
+ less enthusiastic.
+
+2008-01-13 Jannis Pohlmann <jannis at xfce.org>
+
* xfce4-mixer/xfce-mixer-controls-dialog.c: Don't set the default
response of the dialog.
Property changes on: xfce4-mixer/trunk/Makefile.am
___________________________________________________________________
Name: svn:keywords
- Author Date Id Rev
+ Id Author Date Revision
Property changes on: xfce4-mixer/trunk/autogen.sh
___________________________________________________________________
Name: svn:keywords
- Author Date Id Rev
+ Id Author Date Revision
Property changes on: xfce4-mixer/trunk/configure.in.in
___________________________________________________________________
Name: svn:keywords
- Author Date Id Revision
+ Id Author Date Revision
Property changes on: xfce4-mixer/trunk/icons
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/icons/16x16
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/icons/24x24
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/icons/48x48
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/icons/scalable
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/pixmaps
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Property changes on: xfce4-mixer/trunk/po
___________________________________________________________________
Name: svn:ignore
+ POTFILES
Makefile
Makefile.in
Makefile.in.in
*.gmo
stamp-it
Modified: xfce4-mixer/trunk/po/ChangeLog
===================================================================
--- xfce4-mixer/trunk/po/ChangeLog 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/po/ChangeLog 2008-01-13 19:27:18 UTC (rev 26566)
@@ -0,0 +1,6 @@
+2008-01-13 Jannis Pohlmann <jannis at xfce.org>
+
+ * xfce4-mixer.pot: Merge strings.
+ * de.po: Update German translations.
+
+vim:set sw=8 sts=8 ts=8 noexpandtab:
Modified: xfce4-mixer/trunk/po/POTFILES.in
===================================================================
--- xfce4-mixer/trunk/po/POTFILES.in 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/po/POTFILES.in 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,7 +1,12 @@
xfce4-mixer/main.c
xfce4-mixer/xfce-mixer.c
+xfce4-mixer/xfce-mixer-card.c
+xfce4-mixer/xfce-mixer-controls-dialog.c
+xfce4-mixer/xfce-mixer-option.c
+xfce4-mixer/xfce-mixer-preferences.c
+xfce4-mixer/xfce-mixer-stock.c
+xfce4-mixer/xfce-mixer-switch.c
xfce4-mixer/xfce-mixer-track.c
xfce4-mixer/xfce-mixer-track-type.c
xfce4-mixer/xfce-mixer-window.c
xfce4-mixer/xfce4-mixer.desktop.in.in
-xfce4-mixer/xfce-mixer-controls-dialog.c
Modified: xfce4-mixer/trunk/po/de.po
===================================================================
--- xfce4-mixer/trunk/po/de.po 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/po/de.po 2008-01-13 19:27:18 UTC (rev 26566)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: xfce4-mixer SVN\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-01-08 05:46+0100\n"
+"POT-Creation-Date: 2008-01-13 21:17+0100\n"
"PO-Revision-Date: 2008-01-06 04:59+0100\n"
"Last-Translator: Jannis Pohlmann <jannis at xfce.org>\n"
"Language-Team: German <de at li.org>\n"
@@ -16,35 +16,35 @@
"Content-Transfer-Encoding: 8bit\n"
#. Set application name
-#: ../xfce4-mixer/main.c:75 ../xfce4-mixer/xfce-mixer-window.c:181
-#: ../xfce4-mixer/xfce-mixer-window.c:199
-#: ../xfce4-mixer/xfce-mixer-window.c:362
-#: ../xfce4-mixer/xfce-mixer-window.c:367
+#: ../xfce4-mixer/main.c:75 ../xfce4-mixer/xfce-mixer-window.c:182
+#: ../xfce4-mixer/xfce-mixer-window.c:200
+#: ../xfce4-mixer/xfce-mixer-window.c:370
+#: ../xfce4-mixer/xfce-mixer-window.c:375
#: ../xfce4-mixer/xfce4-mixer.desktop.in.in.h:2
msgid "Xfce Mixer"
msgstr "Xfce-Lautstärkeregelung"
-#: ../xfce4-mixer/xfce-mixer.c:168
+#: ../xfce4-mixer/xfce-mixer.c:162
msgid "Playback"
msgstr "Wiedergabe"
-#: ../xfce4-mixer/xfce-mixer.c:168
+#: ../xfce4-mixer/xfce-mixer.c:162
msgid "Capture"
msgstr "Aufnahme"
-#: ../xfce4-mixer/xfce-mixer.c:168
+#: ../xfce4-mixer/xfce-mixer.c:162
msgid "Switches"
msgstr "Schalter"
-#: ../xfce4-mixer/xfce-mixer.c:168
+#: ../xfce4-mixer/xfce-mixer.c:162
msgid "Options"
msgstr "Optionen"
-#: ../xfce4-mixer/xfce-mixer.c:300
+#: ../xfce4-mixer/xfce-mixer.c:289
msgid "No Controls Visible"
msgstr "Keine Bedienelemente sichtbar"
-#: ../xfce4-mixer/xfce-mixer.c:304
+#: ../xfce4-mixer/xfce-mixer.c:293
msgid ""
"No controls are marked as visible. Please open the <span "
"size='large'><b>Select Controls</b></span> dialog to select some."
@@ -53,33 +53,47 @@
"<span size='large'><b>Elemente auswählen</b></span>, damit etwas angezeigt "
"wird."
-#: ../xfce4-mixer/xfce-mixer-window.c:94
+#: ../xfce4-mixer/xfce-mixer-controls-dialog.c:129
+msgid "Select Controls"
+msgstr "Elemente au_swählen"
+
+#: ../xfce4-mixer/xfce-mixer-controls-dialog.c:131
+msgid "Please select which controls you want to be visible"
+msgstr "Auswählen, welche Bedienelemente angezeigt werden sollen"
+
+#: ../xfce4-mixer/xfce-mixer-window.c:95
msgid "_Quit"
msgstr "B_eenden"
-#: ../xfce4-mixer/xfce-mixer-window.c:94
+#: ../xfce4-mixer/xfce-mixer-window.c:95
msgid "Exit Xfce Mixer"
msgstr "Beende die Xfce Lautstärkeregelung"
-#: ../xfce4-mixer/xfce-mixer-window.c:96
+#: ../xfce4-mixer/xfce-mixer-window.c:97
msgid "_Select Controls..."
msgstr "Elemente au_swählen..."
-#: ../xfce4-mixer/xfce-mixer-window.c:96
+#: ../xfce4-mixer/xfce-mixer-window.c:97
msgid "Select which controls are displayed"
msgstr "Auswählen, welche Bedienelemente angezeigt werden"
-#: ../xfce4-mixer/xfce-mixer-window.c:200
-msgid "A reliable and comfortable mixer for your soundcard, finally!"
-msgstr ""
-"Endlich! Eine zuverlässige und komfortable Lautstärkeregelung für deine "
-"Soundkarte!"
+#: ../xfce4-mixer/xfce-mixer-window.c:201
+msgid "A comfortable audio mixer for your sound card."
+msgstr "Eine komfortable Lautstärkeregelung für deine Soundkarte."
-#: ../xfce4-mixer/xfce-mixer-window.c:215
+#: ../xfce4-mixer/xfce-mixer-window.c:216
msgid "Sound card:"
msgstr "Soundkarte:"
-#: ../xfce4-mixer/xfce-mixer-window.c:437
+#: ../xfce4-mixer/xfce-mixer-window.c:315
+msgid ""
+"No sound cards could be found. You may have to install additional gstreamer "
+"packages for ALSA or OSS support."
+msgstr ""
+"Es konnten keine Soundkarten gefunden werden. Gegebenenfalls sind "
+"zusätzliche GStreamer-Pakete für ALSA- und OSS-Unterstützung zu installieren."
+
+#: ../xfce4-mixer/xfce-mixer-window.c:445
#, c-format
msgid "Unknown Volume Control %d"
msgstr "Unbekanntes Element %d"
Added: xfce4-mixer/trunk/po/xfce4-mixer.pot
===================================================================
--- xfce4-mixer/trunk/po/xfce4-mixer.pot (rev 0)
+++ xfce4-mixer/trunk/po/xfce4-mixer.pot 2008-01-13 19:27:18 UTC (rev 26566)
@@ -0,0 +1,99 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-13 21:17+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Set application name
+#: ../xfce4-mixer/main.c:75 ../xfce4-mixer/xfce-mixer-window.c:182
+#: ../xfce4-mixer/xfce-mixer-window.c:200
+#: ../xfce4-mixer/xfce-mixer-window.c:370
+#: ../xfce4-mixer/xfce-mixer-window.c:375
+#: ../xfce4-mixer/xfce4-mixer.desktop.in.in.h:2
+msgid "Xfce Mixer"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:162
+msgid "Playback"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:162
+msgid "Capture"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:162
+msgid "Switches"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:162
+msgid "Options"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:289
+msgid "No Controls Visible"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer.c:293
+msgid ""
+"No controls are marked as visible. Please open the <span "
+"size='large'><b>Select Controls</b></span> dialog to select some."
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-controls-dialog.c:129
+msgid "Select Controls"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-controls-dialog.c:131
+msgid "Please select which controls you want to be visible"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:95
+msgid "_Quit"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:95
+msgid "Exit Xfce Mixer"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:97
+msgid "_Select Controls..."
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:97
+msgid "Select which controls are displayed"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:201
+msgid "A comfortable audio mixer for your sound card."
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:216
+msgid "Sound card:"
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:315
+msgid ""
+"No sound cards could be found. You may have to install additional gstreamer "
+"packages for ALSA or OSS support."
+msgstr ""
+
+#: ../xfce4-mixer/xfce-mixer-window.c:445
+#, c-format
+msgid "Unknown Volume Control %d"
+msgstr ""
+
+#: ../xfce4-mixer/xfce4-mixer.desktop.in.in.h:1
+msgid "Audio mixer for the Xfce Desktop Environment"
+msgstr ""
Property changes on: xfce4-mixer/trunk/xfce4-mixer
___________________________________________________________________
Name: svn:ignore
+ xfce4-mixer.desktop
*.swp
.libs
.deps
Makefile
Makefile.in
*.o
xfce4-mixer
Modified: xfce4-mixer/trunk/xfce4-mixer/Makefile.am
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/Makefile.am 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/Makefile.am 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-# $Id: Makefile.am 1837 2006-08-02 21:11:40Z jannis $
+# $Id$
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
bin_PROGRAMS = \
@@ -6,6 +6,8 @@
xfce4_mixer_SOURCES = \
main.c \
+ xfce-mixer-card.c \
+ xfce-mixer-card.h \
xfce-mixer-stock.c \
xfce-mixer-stock.h \
xfce-mixer-track-type.c \
Property changes on: xfce4-mixer/trunk/xfce4-mixer/Makefile.am
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/main.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/main.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/main.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/main.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Added: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.c (rev 0)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -0,0 +1,307 @@
+/* $Id$ */
+/* vim:set sw=2 sts=2 ts=2 et ai: */
+/*-
+ * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your card) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include <libxfce4util/libxfce4util.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+#include <gst/gst.h>
+#include <gst/interfaces/mixer.h>
+
+#include "xfce-mixer-card.h"
+#include "xfce-mixer-preferences.h"
+
+
+
+static void xfce_mixer_card_class_init (XfceMixerCardClass *klass);
+static void xfce_mixer_card_init (XfceMixerCard *card);
+static void xfce_mixer_card_finalize (GObject *object);
+
+
+
+struct _XfceMixerCardClass
+{
+ GObjectClass __parent__;
+};
+
+struct _XfceMixerCard
+{
+ GObject __parent__;
+
+ GstElement *element;
+
+ gchar *display_name;
+ gchar *name;
+};
+
+
+
+static GObjectClass *xfce_mixer_card_parent_class = NULL;
+
+
+
+GType
+xfce_mixer_card_get_type (void)
+{
+ static GType type = G_TYPE_INVALID;
+
+ if (G_UNLIKELY (type == G_TYPE_INVALID))
+ {
+ static const GTypeInfo info =
+ {
+ sizeof (XfceMixerCardClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) xfce_mixer_card_class_init,
+ NULL,
+ NULL,
+ sizeof (XfceMixerCard),
+ 0,
+ (GInstanceInitFunc) xfce_mixer_card_init,
+ NULL,
+ };
+
+ type = g_type_register_static (G_TYPE_OBJECT, "XfceMixerCard", &info, 0);
+ }
+
+ return type;
+}
+
+
+
+static void
+xfce_mixer_card_class_init (XfceMixerCardClass *klass)
+{
+ GObjectClass *gobject_class;
+
+ /* Determine parent type class */
+ xfce_mixer_card_parent_class = g_type_class_peek_parent (klass);
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = xfce_mixer_card_finalize;
+}
+
+
+
+static void
+xfce_mixer_card_init (XfceMixerCard *card)
+{
+ card->name = NULL;
+}
+
+
+
+static void
+xfce_mixer_card_finalize (GObject *object)
+{
+ XfceMixerCard *card = XFCE_MIXER_CARD (object);
+
+ gst_element_set_state (card->element, GST_STATE_NULL);
+ gst_object_unref (card->element);
+
+ g_free (card->display_name);
+ g_free (card->name);
+
+ (*G_OBJECT_CLASS (xfce_mixer_card_parent_class)->finalize) (object);
+}
+
+
+
+XfceMixerCard*
+xfce_mixer_card_new (GstElement *element)
+{
+ XfceMixerCard *card;
+
+ card = g_object_new (TYPE_XFCE_MIXER_CARD, NULL);
+ card->element = gst_object_ref (element);
+ card->display_name = g_strdup (g_object_get_data (G_OBJECT (card->element), "xfce-mixer-control-name"));
+
+ return card;
+}
+
+
+
+const gchar*
+xfce_mixer_card_get_display_name (XfceMixerCard *card)
+{
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
+ return card->display_name;
+}
+
+
+
+const gchar*
+xfce_mixer_card_get_name (XfceMixerCard *card)
+{
+ gint i;
+ gint pos = 0;
+
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
+
+ if (G_UNLIKELY (card->name == NULL))
+ {
+ card->name = g_new (gchar, strlen (card->display_name));
+
+ for (i = 0; card->display_name[i] != '\0'; ++i)
+ if (g_ascii_isalnum (card->display_name[i]))
+ card->name[pos++] = card->display_name[i];
+
+ card->name[pos] = '\0';
+ }
+
+ return card->name;
+}
+
+
+
+void
+xfce_mixer_card_set_ready (XfceMixerCard *card)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ gst_element_set_state (card->element, GST_STATE_READY);
+}
+
+
+
+GList*
+xfce_mixer_card_get_visible_controls (XfceMixerCard *card)
+{
+ XfceMixerPreferences *preferences;
+ GList *list = NULL;
+
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
+
+ preferences = xfce_mixer_preferences_get ();
+ list = xfce_mixer_preferences_get_visible_controls (preferences, xfce_mixer_card_get_name (card));
+ g_object_unref (G_OBJECT (preferences));
+
+ return list;
+}
+
+
+
+const GList*
+xfce_mixer_card_get_tracks (XfceMixerCard *card)
+{
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
+ return gst_mixer_list_tracks (GST_MIXER (card->element));
+}
+
+
+
+void
+xfce_mixer_card_set_control_visible (XfceMixerCard *card,
+ const gchar *control,
+ gboolean visible)
+{
+ XfceMixerPreferences *preferences;
+
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (control != NULL);
+
+ preferences = xfce_mixer_preferences_get ();
+ xfce_mixer_preferences_set_control_visible (preferences, xfce_mixer_card_get_name (card), control, visible);
+ g_object_unref (G_OBJECT (preferences));
+}
+
+
+
+void
+xfce_mixer_card_get_track_volume (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gint *volumes)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (GST_IS_MIXER_TRACK (track));
+
+ gst_mixer_get_volume (GST_MIXER (card->element), track, volumes);
+}
+
+
+
+void
+xfce_mixer_card_set_track_volume (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gint *volumes)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (GST_IS_MIXER_TRACK (track));
+
+ gst_mixer_set_volume (GST_MIXER (card->element), track, volumes);
+}
+
+
+
+void
+xfce_mixer_card_set_track_muted (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gboolean muted)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (GST_IS_MIXER_TRACK (track));
+
+ gst_mixer_set_mute (GST_MIXER (card->element), track, muted);
+}
+
+
+
+void
+xfce_mixer_card_set_track_record (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gboolean record)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (GST_IS_MIXER_TRACK (track));
+
+ gst_mixer_set_record (GST_MIXER (card->element), track, record);
+}
+
+
+
+const gchar*
+xfce_mixer_card_get_track_option (XfceMixerCard *card,
+ GstMixerTrack *track)
+{
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
+ g_return_val_if_fail (GST_IS_MIXER_OPTIONS (track), NULL);
+
+ return gst_mixer_get_option (GST_MIXER (card->element), GST_MIXER_OPTIONS (track));
+}
+
+
+
+void
+xfce_mixer_card_set_track_option (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gchar *option)
+{
+ g_return_if_fail (IS_XFCE_MIXER_CARD (card));
+ g_return_if_fail (GST_IS_MIXER_OPTIONS (track));
+
+ gst_mixer_set_option (GST_MIXER (card->element), GST_MIXER_OPTIONS (track), option);
+}
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Added: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.h (rev 0)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -0,0 +1,69 @@
+/* $Id$ */
+/* vim:set sw=2 sts=2 ts=2 et ai: */
+/*-
+ * Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFCE_MIXER_CARD_H__
+#define __XFCE_MIXER_CARD_H__
+
+#include <gtk/gtk.h>
+#include <gst/interfaces/mixer.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _XfceMixerCardClass XfceMixerCardClass;
+typedef struct _XfceMixerCard XfceMixerCard;
+
+#define TYPE_XFCE_MIXER_CARD (xfce_mixer_card_get_type ())
+#define XFCE_MIXER_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_XFCE_MIXER_CARD, XfceMixerCard))
+#define XFCE_MIXER_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_XFCE_MIXER_CARD, XfceMixerCardClass))
+#define IS_XFCE_MIXER_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_XFCE_MIXER_CARD))
+#define IS_XFCE_MIXER_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_XFCE_MIXER_CARD))
+#define XFCE_MIXER_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_XFCE_MIXER_CARD, XfceMixerCardClass))
+
+GType xfce_mixer_card_get_type (void) G_GNUC_CONST;
+
+XfceMixerCard *xfce_mixer_card_new (GstElement *element);
+const gchar *xfce_mixer_card_get_display_name (XfceMixerCard *card);
+const gchar *xfce_mixer_card_get_name (XfceMixerCard *card);
+void xfce_mixer_card_set_ready (XfceMixerCard *card);
+GList *xfce_mixer_card_get_visible_controls (XfceMixerCard *card);
+const GList *xfce_mixer_card_get_tracks (XfceMixerCard *card);
+void xfce_mixer_card_set_control_visible (XfceMixerCard *card,
+ const gchar *control,
+ gboolean visible);
+void xfce_mixer_card_get_track_volume (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gint *volumes);
+void xfce_mixer_card_set_track_muted (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gboolean muted);
+void xfce_mixer_card_set_track_record (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gboolean record);
+const gchar *xfce_mixer_card_get_track_option (XfceMixerCard *card,
+ GstMixerTrack *track);
+void xfce_mixer_card_set_track_option (XfceMixerCard *card,
+ GstMixerTrack *track,
+ gchar *option);
+
+
+G_END_DECLS;
+
+#endif /* !__XFCE_MIXER_CARD_H__ */
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-card.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -61,12 +61,10 @@
XfceTitledDialog __parent__;
XfceMixerWindow *parent;
-
XfceMixerPreferences *preferences;
+ XfceMixerCard *card;
GtkListStore *model;
-
- gchar *mixer_name;
};
@@ -154,8 +152,6 @@
g_object_unref (G_OBJECT (dialog->preferences));
- g_free (dialog->mixer_name);
-
(*G_OBJECT_CLASS (xfce_mixer_controls_dialog_parent_class)->finalize) (object);
}
@@ -168,7 +164,7 @@
dialog = g_object_new (TYPE_XFCE_MIXER_CONTROLS_DIALOG, NULL);
dialog->parent = window;
- dialog->mixer_name = xfce_mixer_window_get_active_card (window);
+ dialog->card = xfce_mixer_window_get_active_card (window);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dialog->parent));
@@ -184,16 +180,16 @@
{
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
+ XfceMixerCard *card;
const GList *iter;
GtkTreeIter tree_iter;
GtkWidget *view;
GtkWidget *frame;
GtkWidget *scrollwin;
- GstMixer *mixer;
GList *item;
GList *visible_controls;
- visible_controls = xfce_mixer_preferences_get_visible_controls (dialog->preferences, dialog->mixer_name);
+ visible_controls = xfce_mixer_card_get_visible_controls (dialog->card);
dialog->model = gtk_list_store_new (2, G_TYPE_BOOLEAN, G_TYPE_STRING);
@@ -224,11 +220,11 @@
column = gtk_tree_view_column_new_with_attributes ("Control", renderer, "text", NAME_COLUMN, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (view), column);
- mixer = xfce_mixer_window_get_active_mixer (dialog->parent);
+ card = xfce_mixer_window_get_active_card (dialog->parent);
- if (G_LIKELY (mixer != NULL))
+ if (G_LIKELY (card != NULL))
{
- for (iter = gst_mixer_list_tracks (mixer); iter != NULL; iter = g_list_next (iter))
+ for (iter = xfce_mixer_card_get_tracks (dialog->card); iter != NULL; iter = g_list_next (iter))
{
item = g_list_find_custom (visible_controls, GST_MIXER_TRACK (iter->data)->label, (GCompareFunc) g_utf8_collate);
gtk_list_store_append (dialog->model, &tree_iter);
@@ -260,12 +256,12 @@
if (!gtk_cell_renderer_toggle_get_active (renderer))
{
- xfce_mixer_preferences_set_control_visible (dialog->preferences, dialog->mixer_name, name, TRUE);
+ xfce_mixer_card_set_control_visible (dialog->card, name, TRUE);
gtk_list_store_set (dialog->model, &iter, VISIBLE_COLUMN, TRUE, -1);
}
else
{
- xfce_mixer_preferences_set_control_visible (dialog->preferences, dialog->mixer_name, name, FALSE);
+ xfce_mixer_card_set_control_visible (dialog->card, name, FALSE);
gtk_list_store_set (dialog->model, &iter, VISIBLE_COLUMN, FALSE, -1);
}
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-controls-dialog.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -30,6 +30,7 @@
#include <gst/interfaces/mixer.h>
#include "xfce-mixer-option.h"
+#include "xfce-mixer-card.h"
@@ -52,7 +53,8 @@
{
GtkHBox __parent__;
- GstMixer *element;
+ XfceMixerCard *card;
+
GstMixerTrack *track;
};
@@ -126,7 +128,8 @@
{
XfceMixerOption *option = XFCE_MIXER_OPTION (object);
- gst_object_unref (option->element);
+ g_object_unref (G_OBJECT (option->card));
+
gst_object_unref (option->track);
(*G_OBJECT_CLASS (xfce_mixer_option_parent_class)->finalize) (object);
@@ -135,16 +138,16 @@
GtkWidget*
-xfce_mixer_option_new (GstElement *element,
+xfce_mixer_option_new (XfceMixerCard *card,
GstMixerTrack *track)
{
XfceMixerOption *option;
- g_return_val_if_fail (GST_IS_MIXER (element), NULL);
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
g_return_val_if_fail (GST_IS_MIXER_TRACK (track), NULL);
option = g_object_new (TYPE_XFCE_MIXER_OPTION, NULL);
- option->element = gst_object_ref (element);
+ option->card = XFCE_MIXER_CARD (g_object_ref (card));
option->track = gst_object_ref (track);
xfce_mixer_option_create_contents (option);
@@ -175,7 +178,7 @@
gtk_widget_show (label);
options = GST_MIXER_OPTIONS (option->track);
- active_option = gst_mixer_get_option (GST_MIXER (option->element), GST_MIXER_OPTIONS (option->track));
+ active_option = xfce_mixer_card_get_track_option (option->card, option->track);
combo = gtk_combo_box_new_text ();
@@ -207,7 +210,7 @@
if (G_LIKELY (active_option != NULL))
{
- gst_mixer_set_option (GST_MIXER (option->element), GST_MIXER_OPTIONS (option->track), active_option);
+ xfce_mixer_card_set_track_option (option->card, option->track, active_option);
g_free (active_option);
}
}
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gst/interfaces/mixer.h>
+#include "xfce-mixer-card.h"
+
G_BEGIN_DECLS;
typedef struct _XfceMixerOptionClass XfceMixerOptionClass;
@@ -39,7 +41,7 @@
GType xfce_mixer_option_get_type (void) G_GNUC_CONST;
-GtkWidget *xfce_mixer_option_new (GstElement *element,
+GtkWidget *xfce_mixer_option_new (XfceMixerCard *card,
GstMixerTrack *track);
G_END_DECLS;
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-option.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-preferences.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-stock.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -30,6 +30,7 @@
#include <gst/interfaces/mixer.h>
#include "xfce-mixer-switch.h"
+#include "xfce-mixer-card.h"
@@ -52,7 +53,8 @@
{
GtkHBox __parent__;
- GstMixer *element;
+ XfceMixerCard *card;
+
GstMixerTrack *track;
};
@@ -126,7 +128,7 @@
{
XfceMixerSwitch *mixer_switch = XFCE_MIXER_SWITCH (object);
- gst_object_unref (mixer_switch->element);
+ g_object_unref (G_OBJECT (mixer_switch->card));
gst_object_unref (mixer_switch->track);
(*G_OBJECT_CLASS (xfce_mixer_switch_parent_class)->finalize) (object);
@@ -135,16 +137,16 @@
GtkWidget*
-xfce_mixer_switch_new (GstElement *element,
+xfce_mixer_switch_new (XfceMixerCard *card,
GstMixerTrack *track)
{
XfceMixerSwitch *mixer_switch;
- g_return_val_if_fail (GST_IS_MIXER (element), NULL);
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
g_return_val_if_fail (GST_IS_MIXER_TRACK (track), NULL);
mixer_switch = g_object_new (TYPE_XFCE_MIXER_SWITCH, NULL);
- mixer_switch->element = gst_object_ref (element);
+ mixer_switch->card = XFCE_MIXER_CARD (g_object_ref (card));
mixer_switch->track = gst_object_ref (track);
xfce_mixer_switch_create_contents (mixer_switch);
@@ -183,7 +185,7 @@
XfceMixerSwitch *mixer_switch)
{
if (G_LIKELY (GST_MIXER_TRACK_HAS_FLAG (mixer_switch->track, GST_MIXER_TRACK_INPUT)))
- gst_mixer_set_record (GST_MIXER (mixer_switch->element), mixer_switch->track, gtk_toggle_button_get_active (button));
+ xfce_mixer_card_set_track_record (mixer_switch->card, mixer_switch->track, gtk_toggle_button_get_active (button));
else
- gst_mixer_set_mute (GST_MIXER (mixer_switch->element), mixer_switch->track, !gtk_toggle_button_get_active (button));
+ xfce_mixer_card_set_track_muted (mixer_switch->card, mixer_switch->track, !gtk_toggle_button_get_active (button));
}
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gst/interfaces/mixer.h>
+#include "xfce-mixer-card.h"
+
G_BEGIN_DECLS;
typedef struct _XfceMixerSwitchClass XfceMixerSwitchClass;
@@ -39,7 +41,7 @@
GType xfce_mixer_switch_get_type (void) G_GNUC_CONST;
-GtkWidget *xfce_mixer_switch_new (GstElement *element,
+GtkWidget *xfce_mixer_switch_new (XfceMixerCard *card,
GstMixerTrack *track);
G_END_DECLS;
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-switch.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track-type.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -32,6 +32,7 @@
#include "xfce-mixer-stock.h"
#include "xfce-mixer-track.h"
#include "xfce-mixer-track-type.h"
+#include "xfce-mixer-card.h"
@@ -72,7 +73,8 @@
GList *channel_faders;
- GstMixer *element;
+ XfceMixerCard *card;
+
GstMixerTrack *gst_track;
};
@@ -151,7 +153,8 @@
{
XfceMixerTrack *track = XFCE_MIXER_TRACK (object);
- gst_object_unref (track->element);
+ g_object_unref (G_OBJECT (track->card));
+
gst_object_unref (track->gst_track);
(*G_OBJECT_CLASS (xfce_mixer_track_parent_class)->finalize) (object);
@@ -160,16 +163,16 @@
GtkWidget*
-xfce_mixer_track_new (GstElement *element,
+xfce_mixer_track_new (XfceMixerCard *card,
GstMixerTrack *gst_track)
{
XfceMixerTrack *track;
- g_return_val_if_fail (GST_IS_MIXER (element), NULL);
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
g_return_val_if_fail (GST_IS_MIXER_TRACK (gst_track), NULL);
track = g_object_new (TYPE_XFCE_MIXER_TRACK, NULL);
- track->element = gst_object_ref (element);
+ track->card = XFCE_MIXER_CARD (g_object_ref (card));
track->gst_track = gst_object_ref (gst_track);
xfce_mixer_track_create_contents (track);
@@ -196,7 +199,7 @@
/* Get volumes of all channels of the track */
volumes = g_new (gint, track->gst_track->num_channels);
- gst_mixer_get_volume (GST_MIXER (track->element), track->gst_track, volumes);
+ xfce_mixer_card_get_track_volume (track->card, track->gst_track, volumes);
/* Put some space between channel faders */
gtk_table_set_col_spacings (GTK_TABLE (track), 6);
@@ -299,7 +302,7 @@
}
/* Deliver the volume update to GStreamer */
- gst_mixer_set_volume (GST_MIXER (track->element), track->gst_track, volumes);
+ xfce_mixer_card_set_track_volume (track->card, track->gst_track, volumes);
/* Free volume array */
g_free (volumes);
@@ -320,12 +323,12 @@
if (gtk_toggle_button_get_active (button))
{
stock = XFCE_MIXER_STOCK_MUTED;
- gst_mixer_set_mute (GST_MIXER (track->element), track->gst_track, TRUE);
+ xfce_mixer_card_set_track_muted (track->card, track->gst_track, TRUE);
}
else
{
stock = XFCE_MIXER_STOCK_NO_MUTED;
- gst_mixer_set_mute (GST_MIXER (track->element), track->gst_track, FALSE);
+ xfce_mixer_card_set_track_muted (track->card, track->gst_track, FALSE);
}
image = gtk_image_new_from_stock (stock, XFCE_MIXER_ICON_SIZE);
@@ -386,7 +389,7 @@
}
/* Deliver the volume update to GStreamer */
- gst_mixer_set_volume (GST_MIXER (track->element), track->gst_track, volumes);
+ xfce_mixer_card_set_track_volume (track->card, track->gst_track, volumes);
/* Free the volume array */
g_free (volumes);
@@ -407,12 +410,12 @@
if (gtk_toggle_button_get_active (button))
{
stock = XFCE_MIXER_STOCK_RECORD;
- gst_mixer_set_record (GST_MIXER (track->element), track->gst_track, TRUE);
+ xfce_mixer_card_set_track_record (track->card, track->gst_track, TRUE);
}
else
{
stock = XFCE_MIXER_STOCK_NO_RECORD;
- gst_mixer_set_record (GST_MIXER (track->element), track->gst_track, FALSE);
+ xfce_mixer_card_set_track_record (track->card, track->gst_track, FALSE);
}
image = gtk_image_new_from_stock (stock, XFCE_MIXER_ICON_SIZE);
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gst/interfaces/mixer.h>
+#include "xfce-mixer-card.h"
+
G_BEGIN_DECLS;
typedef struct _XfceMixerTrackClass XfceMixerTrackClass;
@@ -39,7 +41,7 @@
GType xfce_mixer_track_get_type (void) G_GNUC_CONST;
-GtkWidget *xfce_mixer_track_new (GstElement *element,
+GtkWidget *xfce_mixer_track_new (XfceMixerCard *card,
GstMixerTrack *gst_track);
G_END_DECLS;
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-track.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -34,11 +34,12 @@
#include "xfce-mixer.h"
#include "xfce-mixer-preferences.h"
#include "xfce-mixer-controls-dialog.h"
+#include "xfce-mixer-card.h"
-#define NAME_COLUMN 0
-#define ELEMENT_COLUMN 1
+#define NAME_COLUMN 0
+#define CARD_COLUMN 1
@@ -77,8 +78,8 @@
GtkListStore *soundcard_model;
GtkWidget *soundcard_combo;
- /* List of available GstMixers */
- GList *mixers;
+ /* List of available sound cards */
+ GList *cards;
/* Active mixer control set */
GtkWidget *mixer_frame;
@@ -197,7 +198,7 @@
heading = xfce_heading_new ();
xfce_heading_set_title (XFCE_HEADING (heading), _("Xfce Mixer"));
- xfce_heading_set_subtitle (XFCE_HEADING (heading), _("A reliable and comfortable mixer for your soundcard, finally!"));
+ xfce_heading_set_subtitle (XFCE_HEADING (heading), _("A comfortable audio mixer for your sound card."));
xfce_heading_set_icon_name (XFCE_HEADING (heading), "xfce4-mixer");
gtk_box_pack_start (GTK_BOX (vbox), heading, FALSE, TRUE, 0);
gtk_widget_show (heading);
@@ -218,7 +219,7 @@
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
- window->soundcard_model = gtk_list_store_new (2, G_TYPE_STRING, GST_TYPE_ELEMENT);
+ window->soundcard_model = gtk_list_store_new (2, G_TYPE_STRING, TYPE_XFCE_MIXER_CARD);
window->soundcard_combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (window->soundcard_model));
g_signal_connect (G_OBJECT (window->soundcard_combo), "changed", G_CALLBACK (xfce_mixer_window_soundcard_changed), window);
@@ -277,8 +278,8 @@
g_object_unref (G_OBJECT (window->preferences));
- g_list_foreach (window->mixers, (GFunc) gst_object_unref, NULL);
- g_list_free (window->mixers);
+ g_list_foreach (window->cards, (GFunc) g_object_unref, NULL);
+ g_list_free (window->cards);
(*G_OBJECT_CLASS (xfce_mixer_window_parent_class)->finalize) (object);
}
@@ -296,69 +297,77 @@
static void
xfce_mixer_window_load_soundcards (XfceMixerWindow *window)
{
- GtkTreeIter iter;
- GList *miter;
- guint counter = 0;
- const gchar *name;
- gchar *active_card;
- guint active_index = 0;
+ XfceMixerCard *card;
+ GtkTreeIter iter;
+ GList *mixers = NULL;
+ GList *miter;
+ guint counter = 0;
+ gchar *active_card;
+ guint active_index = 0;
+ /* Prepare sound card list */
+ window->cards = NULL;
+
/* Get list of all available sound cards */
- window->mixers = gst_audio_default_registry_mixer_filter (xfce_mixer_window_filter_mixer, FALSE, &counter);
+ mixers = gst_audio_default_registry_mixer_filter (xfce_mixer_window_filter_mixer, FALSE, &counter);
- if (G_UNLIKELY (g_list_length (window->mixers) == 0))
- xfce_err ("No sound cards could be found. You may have to install additional gstreamer packages for ALSA or OSS support.");
+ if (G_UNLIKELY (g_list_length (mixers) == 0))
+ xfce_err (_("No sound cards could be found. You may have to install additional gstreamer packages for ALSA or OSS support."));
/* Get sound card used last time */
g_object_get (G_OBJECT (window->preferences), "sound-card", &active_card, NULL);
- for (miter = g_list_first (window->mixers), counter = 0; miter != NULL; miter = g_list_next (miter), ++counter)
+ for (miter = g_list_first (mixers), counter = 0; miter != NULL; miter = g_list_next (miter), ++counter)
{
- name = g_object_get_data (G_OBJECT (miter->data), "xfce-mixer-control-name");
- g_debug ("Adding sound card: %s", name);
+ /* Create new sound card object */
+ card = xfce_mixer_card_new (miter->data);
+
+ /* Add sound card to the list */
+ window->cards = g_list_append (window->cards, card);
+
+ g_debug ("Adding sound card: %s", xfce_mixer_card_get_display_name (card));
+
+ /* Insert sound card into the main combo box */
gtk_list_store_append (window->soundcard_model, &iter);
- gtk_list_store_set (window->soundcard_model, &iter, NAME_COLUMN, name, ELEMENT_COLUMN, miter->data, -1);
+ gtk_list_store_set (window->soundcard_model, &iter,
+ NAME_COLUMN, xfce_mixer_card_get_display_name (card),
+ CARD_COLUMN, card, -1);
- if (G_UNLIKELY (active_card != NULL && g_utf8_collate (name, active_card) == 0))
+ /* Check if the sound card was the last active one */
+ if (G_UNLIKELY (active_card != NULL && g_utf8_collate (xfce_mixer_card_get_display_name (card), active_card) == 0))
active_index = counter;
}
if (G_LIKELY (active_card != NULL))
g_free (active_card);
+ g_list_free (mixers);
+
+ /* Select the sound card which was selected the last time */
gtk_combo_box_set_active (GTK_COMBO_BOX (window->soundcard_combo), active_index);
}
static void
-remove_child (GtkWidget *widget)
-{
- gtk_widget_destroy (widget);
-}
-
-
-
-static void
xfce_mixer_window_soundcard_changed (GtkComboBox *widget,
XfceMixerWindow *window)
{
- GtkTreeIter iter;
- GstElement *mixer;
- const gchar *name;
- gchar *title;
- gchar *mixer_name;
+ XfceMixerCard *card;
+ GtkTreeIter iter;
+ const gchar *name;
+ gchar *title;
/* Determine selected sound card */
if (G_LIKELY (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)))
{
- /* Fetch index of the active sound card */
- gtk_tree_model_get (GTK_TREE_MODEL (window->soundcard_model), &iter, NAME_COLUMN, &mixer_name, ELEMENT_COLUMN, &mixer, -1);
+ /* Get the active sound card */
+ gtk_tree_model_get (GTK_TREE_MODEL (window->soundcard_model), &iter, CARD_COLUMN, &card, -1);
/* Update window title */
- if (G_LIKELY (mixer != NULL))
+ if (G_LIKELY (card != NULL))
{
- title = g_strdup_printf ("%s - %s", _("Xfce Mixer"), mixer_name);
+ title = g_strdup_printf ("%s - %s", _("Xfce Mixer"), xfce_mixer_card_get_display_name (card));
gtk_window_set_title (GTK_WINDOW (window), title);
g_free (title);
}
@@ -369,10 +378,10 @@
if (G_LIKELY (window->mixer != NULL))
gtk_widget_destroy (gtk_bin_get_child (GTK_BIN (window->mixer_frame)));
- gst_element_set_state (mixer, GST_STATE_READY);
+ xfce_mixer_card_set_ready (card);
- /* Create a new XfceMixer for the active GstMixer */
- window->mixer = xfce_mixer_new (mixer, mixer_name);
+ /* Create a new XfceMixer for the active sound card */
+ window->mixer = xfce_mixer_new (card);
/* Add the XfceMixer to the window */
gtk_container_add (GTK_CONTAINER (window->mixer_frame), window->mixer);
@@ -465,49 +474,33 @@
GdkEvent *event,
XfceMixerWindow *mixer_window)
{
- gchar *active_card;
- gint width;
- gint height;
+ XfceMixerCard *card;
+ gint width;
+ gint height;
gtk_window_get_size (GTK_WINDOW (mixer_window), &width, &height);
- active_card = gtk_combo_box_get_active_text (GTK_COMBO_BOX (mixer_window->soundcard_combo));
+ card = xfce_mixer_window_get_active_card (mixer_window);
g_object_set (G_OBJECT (mixer_window->preferences),
"last-window-width", width,
"last-window-height", height,
- "sound-card", active_card,
+ "sound-card", xfce_mixer_card_get_name (card),
NULL);
- g_free (active_card);
-
return FALSE;
}
-GstMixer*
-xfce_mixer_window_get_active_mixer (XfceMixerWindow *window)
+XfceMixerCard*
+xfce_mixer_window_get_active_card (XfceMixerWindow *window)
{
- GstElement *element;
- GstMixer *mixer = NULL;
- GtkTreeIter iter;
+ XfceMixerCard *card = NULL;
+ GtkTreeIter iter;
if (G_LIKELY (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (window->soundcard_combo), &iter)))
- {
- gtk_tree_model_get (GTK_TREE_MODEL (window->soundcard_model), &iter, ELEMENT_COLUMN, &element, -1);
-
- if (G_LIKELY (element != NULL))
- mixer = GST_MIXER (element);
- }
+ gtk_tree_model_get (GTK_TREE_MODEL (window->soundcard_model), &iter, CARD_COLUMN, &card, -1);
- return mixer;
+ return card;
}
-
-
-
-gchar*
-xfce_mixer_window_get_active_card (XfceMixerWindow *window)
-{
- return gtk_combo_box_get_active_text (GTK_COMBO_BOX (window->soundcard_combo));
-}
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gst/interfaces/mixer.h>
+#include "xfce-mixer-card.h"
+
G_BEGIN_DECLS;
typedef struct _XfceMixerWindowClass XfceMixerWindowClass;
@@ -37,11 +39,10 @@
#define IS_XFCE_MIXER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_XFCE_MIXER_WINDOW))
#define XFCE_MIXER_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_XFCE_MIXER_WINDOW, XfceMixerWindowClass))
-GType xfce_mixer_window_get_type (void) G_GNUC_CONST;
+GType xfce_mixer_window_get_type (void) G_GNUC_CONST;
-GtkWidget *xfce_mixer_window_new (void);
-GstMixer *xfce_mixer_window_get_active_mixer (XfceMixerWindow *window);
-gchar *xfce_mixer_window_get_active_card (XfceMixerWindow *window);
+GtkWidget *xfce_mixer_window_new (void);
+XfceMixerCard *xfce_mixer_window_get_active_card (XfceMixerWindow *window);
G_END_DECLS;
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer-window.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.c
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.c 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.c 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -55,9 +55,7 @@
{
GtkNotebook __parent__;
- GstElement *element;
-
- gchar *mixer_name;
+ XfceMixerCard *card;
};
@@ -130,26 +128,22 @@
{
XfceMixer *mixer = XFCE_MIXER (object);
- gst_object_unref (mixer->element);
+ g_object_unref (G_OBJECT (mixer->card));
- g_free (mixer->mixer_name);
-
(*G_OBJECT_CLASS (xfce_mixer_parent_class)->finalize) (object);
}
GtkWidget*
-xfce_mixer_new (GstElement *element,
- gchar *mixer_name)
+xfce_mixer_new (XfceMixerCard *card)
{
XfceMixer *mixer;
- g_return_val_if_fail (GST_IS_MIXER (element), NULL);
+ g_return_val_if_fail (IS_XFCE_MIXER_CARD (card), NULL);
mixer = g_object_new (TYPE_XFCE_MIXER, NULL);
- mixer->element = gst_object_ref (element);
- mixer->mixer_name = mixer_name;
+ mixer->card = XFCE_MIXER_CARD (g_object_ref (card));
xfce_mixer_create_contents (mixer);
@@ -173,15 +167,12 @@
GtkWidget *last_separator[4] = { NULL, NULL, NULL, NULL };
GtkWidget *label1;
GtkWidget *label2;
- GstMixer *gst_mixer;
GList *visible_controls;
guint num_children[4] = { 0, 0, 0, 0 };
gint i;
- g_return_if_fail (GST_IS_MIXER (mixer->element));
+ xfce_mixer_card_set_ready (mixer->card);
- gst_mixer = GST_MIXER (mixer->element);
-
/* Create widgets for all four tabs */
for (i = 0; i < 4; ++i)
{
@@ -206,11 +197,10 @@
gtk_widget_show (scrollwins[i]);
}
- preferences = xfce_mixer_preferences_get ();
- visible_controls = xfce_mixer_preferences_get_visible_controls (preferences, mixer->mixer_name);
+ visible_controls = xfce_mixer_card_get_visible_controls (mixer->card);
/* Create controls for all mixer tracks */
- for (iter = gst_mixer_list_tracks (gst_mixer); iter != NULL; iter = g_list_next (iter))
+ for (iter = xfce_mixer_card_get_tracks (mixer->card); iter != NULL; iter = g_list_next (iter))
{
track = iter->data;
@@ -224,7 +214,7 @@
{
case XFCE_MIXER_TRACK_TYPE_PLAYBACK:
/* Create a regular volume control for this track */
- track_widget = xfce_mixer_track_new (mixer->element, track);
+ track_widget = xfce_mixer_track_new (mixer->card, track);
gtk_table_attach (GTK_TABLE (views[0]), track_widget,
num_children[0], num_children[0] + 1, 0, 1, GTK_SHRINK, GTK_FILL|GTK_EXPAND, 0, 0);
gtk_widget_show (track_widget);
@@ -240,7 +230,7 @@
case XFCE_MIXER_TRACK_TYPE_CAPTURE:
/* Create a regular volume control for this track */
- track_widget = xfce_mixer_track_new (mixer->element, track);
+ track_widget = xfce_mixer_track_new (mixer->card, track);
gtk_table_attach (GTK_TABLE (views[1]), track_widget,
num_children[1], num_children[1] + 1, 0, 1, GTK_SHRINK, GTK_FILL|GTK_EXPAND, 0, 0);
gtk_widget_show (track_widget);
@@ -255,14 +245,14 @@
break;
case XFCE_MIXER_TRACK_TYPE_SWITCH:
- track_widget = xfce_mixer_switch_new (mixer->element, track);
+ track_widget = xfce_mixer_switch_new (mixer->card, track);
gtk_box_pack_start (GTK_BOX (views[2]), track_widget, FALSE, FALSE, 0);
gtk_widget_show (track_widget);
num_children[2]++;
break;
case XFCE_MIXER_TRACK_TYPE_OPTIONS:
- track_widget = xfce_mixer_option_new (mixer->element, track);
+ track_widget = xfce_mixer_option_new (mixer->card, track);
gtk_box_pack_start (GTK_BOX (views[3]), track_widget, FALSE, FALSE, 0);
gtk_widget_show (track_widget);
num_children[3]++;
@@ -273,8 +263,6 @@
g_list_foreach (visible_controls, (GFunc) g_free, NULL);
g_list_free (visible_controls);
- g_object_unref (G_OBJECT (preferences));
-
/* Append tab or destroy all its widgets - depending on the contents of each tab */
for (i = 0; i < 4; ++i)
{
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.c
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Modified: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.h
===================================================================
--- xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.h 2008-01-13 16:43:37 UTC (rev 26565)
+++ xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.h 2008-01-13 19:27:18 UTC (rev 26566)
@@ -1,4 +1,4 @@
-/* $Id: xfce-menu.h 25273 2008-03-23 19:20:47Z jannis $ */
+/* $Id$ */
/* vim:set sw=2 sts=2 ts=2 et ai: */
/*-
* Copyright (c) 2008 Jannis Pohlmann <jannis at xfce.org>
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gst/interfaces/mixer.h>
+#include "xfce-mixer-card.h"
+
G_BEGIN_DECLS;
typedef struct _XfceMixerClass XfceMixerClass;
@@ -39,8 +41,7 @@
GType xfce_mixer_get_type (void) G_GNUC_CONST;
-GtkWidget *xfce_mixer_new (GstElement *element,
- gchar *mixer_name);
+GtkWidget *xfce_mixer_new (XfceMixerCard *card);
G_END_DECLS;
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce-mixer.h
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
Property changes on: xfce4-mixer/trunk/xfce4-mixer/xfce4-mixer.desktop.in.in
___________________________________________________________________
Name: svn:keywords
+ Id Author Date Revision
More information about the Xfce4-commits
mailing list