changeset 2610:1e4d147bdc2b

Combine init.c into alsa.c and use a preprocessor define for configdb ID for consistency.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 21 May 2008 16:42:00 +0300
parents 63015dd66abb
children e99d3e8653df
files src/alsa/Makefile src/alsa/alsa.c src/alsa/alsa.h src/alsa/configure.c src/alsa/init.c
diffstat 5 files changed, 66 insertions(+), 82 deletions(-) [+]
line wrap: on
line diff
--- a/src/alsa/Makefile	Wed May 21 16:38:10 2008 +0300
+++ b/src/alsa/Makefile	Wed May 21 16:42:00 2008 +0300
@@ -3,8 +3,7 @@
 SRCS = alsa.c		\
        about.c		\
        audio.c		\
-       configure.c	\
-       init.c
+       configure.c
 
 include ../../buildsys.mk
 include ../../extra.mk
--- a/src/alsa/alsa.c	Wed May 21 16:38:10 2008 +0300
+++ b/src/alsa/alsa.c	Wed May 21 16:42:00 2008 +0300
@@ -17,9 +17,64 @@
  */
 
 #include "alsa.h"
+#include <glib.h>
 #include <stdlib.h>
+#include <dlfcn.h>
+#include <ctype.h>
+
+struct alsa_config alsa_cfg;
+
+
+static void alsa_cleanup(void)
+{
+	if (alsa_cfg.pcm_device) {
+		free(alsa_cfg.pcm_device);
+		alsa_cfg.pcm_device = NULL;
+	}
+
+	if (alsa_cfg.mixer_device) {
+		free(alsa_cfg.mixer_device);
+		alsa_cfg.mixer_device = NULL;
+	}
+}
+
+
+static void alsa_init(void)
+{
+	mcs_handle_t *cfgfile;
 
-OutputPlugin alsa_op =
+	memset(&alsa_cfg, 0, sizeof (alsa_cfg));
+	
+	alsa_cfg.buffer_time = 500;
+	alsa_cfg.period_time = 100;
+	alsa_cfg.debug = 0;
+	alsa_cfg.vol.left = 100;
+	alsa_cfg.vol.right = 100;
+
+	cfgfile = aud_cfg_db_open();
+	if (!aud_cfg_db_get_string(cfgfile, ALSA_CFGID, "pcm_device",
+				  &alsa_cfg.pcm_device))
+		alsa_cfg.pcm_device = g_strdup("default");
+	g_message("device: %s", alsa_cfg.pcm_device);
+	if (!aud_cfg_db_get_string(cfgfile, ALSA_CFGID, "mixer_device",
+				  &alsa_cfg.mixer_device))
+		alsa_cfg.mixer_device = g_strdup("PCM");
+	aud_cfg_db_get_int(cfgfile, ALSA_CFGID, "mixer_card", &alsa_cfg.mixer_card);
+	aud_cfg_db_get_int(cfgfile, ALSA_CFGID, "buffer_time", &alsa_cfg.buffer_time);
+	aud_cfg_db_get_int(cfgfile, ALSA_CFGID, "period_time", &alsa_cfg.period_time);
+
+	aud_cfg_db_get_bool(cfgfile, ALSA_CFGID, "debug", &alsa_cfg.debug);
+	aud_cfg_db_close(cfgfile);
+
+	if (dlopen("libasound.so.2", RTLD_NOW | RTLD_GLOBAL) == NULL)
+	{
+		g_message("Cannot load alsa library: %s", dlerror());
+		/* FIXME, this plugin wont work... */
+	}
+}
+
+
+static OutputPlugin alsa_op =
 {
 	.description = "ALSA Output Plugin",
 	.init = alsa_init,
@@ -43,16 +98,3 @@
 OutputPlugin *alsa_oplist[] = { &alsa_op, NULL };
 
 DECLARE_PLUGIN(alsa, NULL, NULL, NULL, alsa_oplist, NULL, NULL, NULL, NULL)
-
-void alsa_cleanup(void)
-{
-	if (alsa_cfg.pcm_device) {
-		free(alsa_cfg.pcm_device);
-		alsa_cfg.pcm_device = NULL;
-	}
-
-	if (alsa_cfg.mixer_device) {
-		free(alsa_cfg.mixer_device);
-		alsa_cfg.mixer_device = NULL;
-	}
-}
--- a/src/alsa/alsa.h	Wed May 21 16:38:10 2008 +0300
+++ b/src/alsa/alsa.h	Wed May 21 16:42:00 2008 +0300
@@ -35,6 +35,8 @@
 
 #include <gtk/gtk.h>
 
+#define ALSA_CFGID  "ALSA"
+
 extern OutputPlugin op;
 
 struct alsa_config
@@ -53,8 +55,6 @@
 
 extern struct alsa_config alsa_cfg;
 
-void alsa_init(void);
-void alsa_cleanup(void);
 void alsa_about(void);
 void alsa_configure(void);
 int alsa_get_mixer(snd_mixer_t **mixer, int card);
--- a/src/alsa/configure.c	Wed May 21 16:38:10 2008 +0300
+++ b/src/alsa/configure.c	Wed May 21 16:42:00 2008 +0300
@@ -48,13 +48,13 @@
 {
 	mcs_handle_t *cfgfile = aud_cfg_db_open();
 
-	aud_cfg_db_set_int(cfgfile, "ALSA", "buffer_time", alsa_cfg.buffer_time);
-	aud_cfg_db_set_int(cfgfile, "ALSA", "period_time", alsa_cfg.period_time);
-	aud_cfg_db_set_string(cfgfile,"ALSA","pcm_device", alsa_cfg.pcm_device);
-	aud_cfg_db_set_int(cfgfile, "ALSA", "mixer_card", alsa_cfg.mixer_card);
-	aud_cfg_db_set_string(cfgfile,"ALSA","mixer_device", alsa_cfg.mixer_device);
-	aud_cfg_db_set_int(cfgfile, "ALSA", "volume_left", alsa_cfg.vol.left);
-	aud_cfg_db_set_int(cfgfile, "ALSA", "volume_right", alsa_cfg.vol.right);
+	aud_cfg_db_set_int(cfgfile, ALSA_CFGID, "buffer_time", alsa_cfg.buffer_time);
+	aud_cfg_db_set_int(cfgfile, ALSA_CFGID, "period_time", alsa_cfg.period_time);
+	aud_cfg_db_set_string(cfgfile,ALSA_CFGID,"pcm_device", alsa_cfg.pcm_device);
+	aud_cfg_db_set_int(cfgfile, ALSA_CFGID, "mixer_card", alsa_cfg.mixer_card);
+	aud_cfg_db_set_string(cfgfile,ALSA_CFGID,"mixer_device", alsa_cfg.mixer_device);
+	aud_cfg_db_set_int(cfgfile, ALSA_CFGID, "volume_left", alsa_cfg.vol.left);
+	aud_cfg_db_set_int(cfgfile, ALSA_CFGID, "volume_right", alsa_cfg.vol.right);
 	aud_cfg_db_close(cfgfile);
 }
 
--- a/src/alsa/init.c	Wed May 21 16:38:10 2008 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*  XMMS - ALSA output plugin
- *  Copyright (C) 2001-2003 Matthieu Sozeau <mattam@altern.org>
- *  Copyright (C) 2003-2005 Haavard Kvaalen
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program 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 General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-#include <glib.h>
-#include "alsa.h"
-#include <dlfcn.h>
-#include <ctype.h>
-
-struct alsa_config alsa_cfg;
-
-void alsa_init(void)
-{
-	mcs_handle_t *cfgfile;
-
-	memset(&alsa_cfg, 0, sizeof (alsa_cfg));
-	alsa_cfg.buffer_time = 500;
-	alsa_cfg.period_time = 100;
-	alsa_cfg.debug = 0;
-	alsa_cfg.vol.left = 100;
-	alsa_cfg.vol.right = 100;
-
-	cfgfile = aud_cfg_db_open();
-	if (!aud_cfg_db_get_string(cfgfile, "ALSA", "pcm_device",
-				  &alsa_cfg.pcm_device))
-		alsa_cfg.pcm_device = g_strdup("default");
-	g_message("device: %s", alsa_cfg.pcm_device);
-	if (!aud_cfg_db_get_string(cfgfile, "ALSA", "mixer_device",
-				  &alsa_cfg.mixer_device))
-		alsa_cfg.mixer_device = g_strdup("PCM");
-	aud_cfg_db_get_int(cfgfile, "ALSA", "mixer_card", &alsa_cfg.mixer_card);
-	aud_cfg_db_get_int(cfgfile, "ALSA", "buffer_time", &alsa_cfg.buffer_time);
-	aud_cfg_db_get_int(cfgfile, "ALSA", "period_time", &alsa_cfg.period_time);
-
-	aud_cfg_db_get_bool(cfgfile, "ALSA", "debug", &alsa_cfg.debug);
-	aud_cfg_db_close(cfgfile);
-
-	if (dlopen("libasound.so.2", RTLD_NOW | RTLD_GLOBAL) == NULL)
-	{
-		g_message("Cannot load alsa library: %s", dlerror());
-		/* FIXME, this plugin wont work... */
-	}
-}