changeset 2695:c2861c84f850

Perform same cleanups as in "old" OSS plugin.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 06 Jun 2008 15:02:21 +0300
parents 77439faa1934
children 87c4bc8e8ec6
files src/OSS4/Makefile src/OSS4/OSS4.c src/OSS4/OSS4.h src/OSS4/about.c src/OSS4/init.c
diffstat 5 files changed, 77 insertions(+), 143 deletions(-) [+]
line wrap: on
line diff
--- a/src/OSS4/Makefile	Fri Jun 06 15:01:35 2008 +0300
+++ b/src/OSS4/Makefile	Fri Jun 06 15:02:21 2008 +0300
@@ -1,10 +1,8 @@
 PLUGIN = OSS4${PLUGIN_SUFFIX}
 
 SRCS = OSS4.c		\
-       about.c		\
        configure.c	\
        audio.c		\
-       init.c		\
        convert.c
 
 include ../../buildsys.mk
--- a/src/OSS4/OSS4.c	Fri Jun 06 15:01:35 2008 +0300
+++ b/src/OSS4/OSS4.c	Fri Jun 06 15:02:21 2008 +0300
@@ -26,7 +26,81 @@
 #include <audacious/i18n.h>
 #include <stdlib.h>
 
-OutputPlugin oss_op = {
+OSSConfig oss_cfg;
+
+static void oss_about(void)
+{
+    static GtkWidget *dialog;
+
+    if (dialog != NULL)
+        return;
+
+    dialog = audacious_info_dialog(_("About OSSv4 Driver"),
+                               _("Audacious OSSv4 Driver\n\n"
+                                 "Based on the OSSv3 Output plugin,\n" 
+                                 "Ported to OSSv4's VMIX by Cristi Magherusan <majeru@gentoo.ro>\n\n"
+                                 "This program is free software; you can redistribute it and/or modify\n"
+                                 "it under the terms of the GNU General Public License as published by\n"
+                                 "the Free Software Foundation; either version 2 of the License, or\n"
+                                 "(at your option) any later version.\n"
+                                 "\n"
+                                 "This program is distributed in the hope that it will be useful,\n"
+                                 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+                                 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+                                 "GNU General Public License for more details.\n"
+                                 "\n"
+                                 "You should have received a copy of the GNU General Public License\n"
+                                 "along with this program; if not, write to the Free Software\n"
+                                 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
+                                 "USA."), _("Ok"), FALSE, NULL, NULL);
+    g_signal_connect(G_OBJECT(dialog), "destroy",
+                     G_CALLBACK(gtk_widget_destroyed), &dialog);
+}
+
+static void oss_init(void)
+{
+    mcs_handle_t *db;
+
+    memset(&oss_cfg, 0, sizeof(OSSConfig));
+
+    oss_cfg.audio_device = 0;
+    oss_cfg.buffer_size = 3000;
+    oss_cfg.prebuffer = 25;
+    oss_cfg.use_alt_audio_device = FALSE;
+    oss_cfg.alt_audio_device = NULL;
+
+    if ((db = aud_cfg_db_open())) {
+        aud_cfg_db_get_int(db, "OSS", "audio_device", &oss_cfg.audio_device);
+        aud_cfg_db_get_int(db, "OSS", "buffer_size", &oss_cfg.buffer_size);
+        aud_cfg_db_get_int(db, "OSS", "prebuffer", &oss_cfg.prebuffer);
+        aud_cfg_db_get_bool(db, "OSS", "save_volume", &oss_cfg.save_volume);
+        aud_cfg_db_get_bool(db, "OSS", "use_alt_audio_device",
+                            &oss_cfg.use_alt_audio_device);
+        aud_cfg_db_get_string(db, "OSS", "alt_audio_device",
+                              &oss_cfg.alt_audio_device);
+        aud_cfg_db_get_int(db, "OSS", "saved_volume", &vol);
+        aud_cfg_db_close(db);
+    }
+        //volume gets saved anyway, but is ignored unless "saved_volume" is true
+        if(!oss_cfg.save_volume)
+            vol=0x6464;  //maximum
+}
+
+static void oss_cleanup(void)
+{
+    mcs_handle_t *db;
+    db = aud_cfg_db_open();
+    aud_cfg_db_set_int(db, "OSS", "saved_volume", vol);
+    aud_cfg_db_close(db);
+
+    if (oss_cfg.alt_audio_device) {
+        g_free(oss_cfg.alt_audio_device);
+        oss_cfg.alt_audio_device = NULL;
+    }
+   
+}
+
+static OutputPlugin oss4_op = {
     .description = "OSS4 Output Plugin",                      /* Description */
     .init = oss_init,
     .cleanup = oss_cleanup,
@@ -46,20 +120,6 @@
     .tell_audio = oss_tell
 };
 
-OutputPlugin *oss_oplist[] = { &oss_op, NULL };
-
-DECLARE_PLUGIN(OSS4, NULL, NULL, NULL, oss_oplist, NULL, NULL, NULL, NULL);
+static OutputPlugin *oss4_oplist[] = { &oss4_op, NULL };
 
-void oss_cleanup(void)
-{
-    mcs_handle_t *db;
-    db = aud_cfg_db_open();
-    aud_cfg_db_set_int(db, "OSS", "saved_volume", vol);
-    aud_cfg_db_close(db);
-
-    if (oss_cfg.alt_audio_device) {
-        g_free(oss_cfg.alt_audio_device);
-        oss_cfg.alt_audio_device = NULL;
-    }
-   
-}
+DECLARE_PLUGIN(OSS4, NULL, NULL, NULL, oss4_oplist, NULL, NULL, NULL, NULL);
--- a/src/OSS4/OSS4.h	Fri Jun 06 15:01:35 2008 +0300
+++ b/src/OSS4/OSS4.h	Fri Jun 06 15:02:21 2008 +0300
@@ -48,9 +48,6 @@
 
 extern OSSConfig oss_cfg;
 int vol;
-void oss_init(void);
-void oss_cleanup(void);
-void oss_about(void);
 void oss_configure(void);
 
 void oss_get_volume(int *l, int *r);
--- a/src/OSS4/about.c	Fri Jun 06 15:01:35 2008 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*  Audacious OSS4 output plugin
- *  Copyright (C) 2007 Cristi Magherusan
- *  
- *  Based on BMP - Cross-platform multimedia player
- *  Copyright (C) 2003-2004  BMP development team.
- *
- *  Based on XMMS:
- *  Copyright (C) 1998-2003  XMMS development team.
- *
- *  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 "OSS4.h"
-
-#include <glib.h>
-#include <audacious/i18n.h>
-#include <gtk/gtk.h>
-
-
-
-void
-oss_about(void)
-{
-    static GtkWidget *dialog;
-
-    if (dialog != NULL)
-        return;
-
-    dialog = audacious_info_dialog(_("About OSSv4 Driver"),
-                               _("Audacious OSSv4 Driver\n\n"
-                                 "Based on the OSSv3 Output plugin,\n" 
-                                 "Ported to OSSv4's VMIX by Cristi Magherusan <majeru@gentoo.ro>\n\n"
-                                 "This program is free software; you can redistribute it and/or modify\n"
-                                 "it under the terms of the GNU General Public License as published by\n"
-                                 "the Free Software Foundation; either version 2 of the License, or\n"
-                                 "(at your option) any later version.\n"
-                                 "\n"
-                                 "This program is distributed in the hope that it will be useful,\n"
-                                 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-                                 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-                                 "GNU General Public License for more details.\n"
-                                 "\n"
-                                 "You should have received a copy of the GNU General Public License\n"
-                                 "along with this program; if not, write to the Free Software\n"
-                                 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
-                                 "USA."), _("Ok"), FALSE, NULL, NULL);
-    g_signal_connect(G_OBJECT(dialog), "destroy",
-                     G_CALLBACK(gtk_widget_destroyed), &dialog);
-}
--- a/src/OSS4/init.c	Fri Jun 06 15:01:35 2008 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*  BMP - Cross-platform multimedia player
- *  Copyright (C) 2003-2004  BMP development team.
- *
- *  Based on XMMS:
- *  Copyright (C) 1998-2003  XMMS development team.
- *
- *  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 <string.h>
-#include <audacious/plugin.h>
-#include "OSS4.h"
-
-
-OSSConfig oss_cfg;
-
-void
-oss_init(void)
-{
-    mcs_handle_t *db;
-
-    memset(&oss_cfg, 0, sizeof(OSSConfig));
-
-    oss_cfg.audio_device = 0;
-    oss_cfg.buffer_size = 3000;
-    oss_cfg.prebuffer = 25;
-    oss_cfg.use_alt_audio_device = FALSE;
-    oss_cfg.alt_audio_device = NULL;
-
-    if ((db = aud_cfg_db_open())) {
-        aud_cfg_db_get_int(db, "OSS", "audio_device", &oss_cfg.audio_device);
-        aud_cfg_db_get_int(db, "OSS", "buffer_size", &oss_cfg.buffer_size);
-        aud_cfg_db_get_int(db, "OSS", "prebuffer", &oss_cfg.prebuffer);
-        aud_cfg_db_get_bool(db, "OSS", "save_volume", &oss_cfg.save_volume);
-        aud_cfg_db_get_bool(db, "OSS", "use_alt_audio_device",
-                            &oss_cfg.use_alt_audio_device);
-        aud_cfg_db_get_string(db, "OSS", "alt_audio_device",
-                              &oss_cfg.alt_audio_device);
-        aud_cfg_db_get_int(db, "OSS", "saved_volume", &vol);
-        aud_cfg_db_close(db);
-    }
-        //volume gets saved anyway, but is ignored unless "saved_volume" is true
-        if(!oss_cfg.save_volume)
-            vol=0x6464;  //maximum
-           
-
-}