[prev in list] [next in list] [prev in thread] [next in thread] 

List:       moblin-commits
Subject:    [Moblin-Commits] moblin-settings: Changes to 'master'
From:       tebrandt () moblin ! org (Todd E Brandt)
Date:       2008-06-27 4:34:28
Message-ID: 20080627043429.2A84C92C1A4 () moblin ! org
[Download RAW message or body]

This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 ChangeLog                                 |    6 +
 configure.in                              |   18 +-
 moblin-system-daemon/Makefile.am          |   11 +
 moblin-system-daemon/moblin-system-dbus.c |    6 +
 moblin-system-daemon/moblin-system-tool.c |  293 +++++++++++++
 moblin-system-daemon/sound/Makefile.am    |   14 +
 moblin-system-daemon/sound/sound.c        |  668 +++++++++++++++++++++++++++++
 moblin-system-daemon/sound/sound.h        |  191 ++++++++
 moblin-system-daemon/sound/sound.xml      |   70 +++
 scripts/install.sh                        |    2 +-
 10 files changed, 1277 insertions(+), 2 deletions(-)

New commits:
commit 307a1081f9fa02675a4be1ece1851f9de7ce46d2
Author: Todd Brandt <todd.e.brandt@intel.com>
Date:   Thu Jun 26 21:31:23 2008 -0700

    sound module and API


Diff in this email is a maximum of 400 lines.
diff --git a/ChangeLog b/ChangeLog
index a6964bc..be52e34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+moblin-settings (2.05)
+
+  * Added the Sound Module and API
+
+ -- Todd Brandt <todd.e.brandt@intel.com>  Thu Jun 26 21:29:16 PDT 2008
+
 moblin-settings (2.04)
 
   * Added the LCD Backlight module and API
diff --git a/configure.in b/configure.in
index e6feb92..f128586 100644
--- a/configure.in
+++ b/configure.in
@@ -147,7 +147,7 @@ fi
 #########################
 
 AC_ARG_ENABLE(lcdbacklight,
-	[  --enable-lcdbacklight           Include the lcdbacklight status module (default yes)], ,
+	[  --enable-lcdbacklight           Include the lcdbacklight module (default yes)], ,
 	enable_lcdbacklight=yes)
 AM_CONDITIONAL(HAVE_LCDBACKLIGHT, test x$enable_lcdbacklight = xyes)
 if test "$enable_lcdbacklight" = "yes"; then
@@ -158,6 +158,22 @@ if test "$enable_lcdbacklight" = "yes"; then
 	AC_CONFIG_FILES([moblin-system-daemon/lcdbacklight/Makefile])
 fi
 
+################
+# Sound Module #
+################
+
+AC_ARG_ENABLE(sound,
+	[  --enable-sound           Include the sound module (default yes)], ,
+	enable_sound=yes)
+AM_CONDITIONAL(HAVE_SOUND, test x$enable_sound = xyes)
+if test "$enable_sound" = "yes"; then
+	AC_DEFINE(HAVE_SOUND, [1], [Include the sound module])
+	PKG_CHECK_MODULES(SOUND, alsa >= 0.9.0)
+	AC_SUBST(SOUND_CFLAGS)
+	AC_SUBST(SOUND_LIBS)
+	AC_CONFIG_FILES([moblin-system-daemon/sound/Makefile])
+fi
+
 ##############################
 # Settings Daemon Generation #
 ##############################
diff --git a/moblin-system-daemon/Makefile.am b/moblin-system-daemon/Makefile.am
index ca76797..e7d5c14 100644
--- a/moblin-system-daemon/Makefile.am
+++ b/moblin-system-daemon/Makefile.am
@@ -62,6 +62,17 @@ dbus_xmlfiles += \
 	lcdbacklight/lcdbacklight.xml
 endif
 
+if HAVE_SOUND
+SUBDIRS += sound
+DIST_SUBDIRS += sound
+INCLUDES += \
+	-Isound
+moblin_system_daemon_LDADD += \
+	sound/libsound.la
+dbus_xmlfiles += \
+	sound/sound.xml
+endif
+
 dbus_xmlfiles += dbus-footer.xml
 
 BUILT_SOURCES=moblin-system-server.h \
diff --git a/moblin-system-daemon/moblin-system-dbus.c b/moblin-system-daemon/moblin-system-dbus.c
index d9028fb..ec0d679 100644
--- a/moblin-system-daemon/moblin-system-dbus.c
+++ b/moblin-system-daemon/moblin-system-dbus.c
@@ -38,6 +38,9 @@
 #ifdef HAVE_LCDBACKLIGHT
 #include "lcdbacklight.h"
 #endif
+#ifdef HAVE_SOUND
+#include "sound.h"
+#endif
 
 static GObjectClass *parent_class = NULL;
 
@@ -144,4 +147,7 @@ moblin_system_server_init (MoblinSystemServer * server)
 #ifdef HAVE_LCDBACKLIGHT
 	initialize_lcdbacklight(server);
 #endif
+#ifdef HAVE_SOUND
+	initialize_sound(server);
+#endif
 }
diff --git a/moblin-system-daemon/moblin-system-tool.c b/moblin-system-daemon/moblin-system-tool.c
index 0ff5a4b..fb6217f 100644
--- a/moblin-system-daemon/moblin-system-tool.c
+++ b/moblin-system-daemon/moblin-system-tool.c
@@ -212,6 +212,299 @@ int main(int argc, char *argv[])
 		printf("\tAC Present = %s\n", (ac_present)?"TRUE":"FALSE");
 		printf("\tPercent Charged = %.2lf\n", percent_charged);
 		printf("\tSeconds Remaining = %d\n", seconds_remaining);
+	} else if(!strcmp(argv[1], "sound_num_elements")) {
+		gint num_elements;
+		if(!org_moblin_SystemDaemon_sound_num_elements(proxy, 
+			&num_elements, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("%d elements found\n", num_elements);
+        } else if(!strcmp(argv[1], "sound_num_channels")) {
+		gint element=0, num_channels=0;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_num_channels <elementid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_num_channels(proxy, 
+			element, &num_channels, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("%d channels found for element %d\n", 
+			num_channels, element);
+        } else if(!strcmp(argv[1], "sound_element_name")) {
+		gint element=0;
+		gchar *name;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_element_name <elementid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_element_name(proxy, 
+			element, &name, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("element %d is named %s\n", element, name);
+        } else if(!strcmp(argv[1], "sound_channel_name")) {
+		gint element=0, channel=0;
+		gchar *name;
+		if((argc < 4)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &channel) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_channel_name <elementid> <channelid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_channel_name(proxy, 
+			element, channel, &name, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("element %d, channel %d is named %s\n",
+			element, channel, name);
+        } else if(!strcmp(argv[1], "sound_volume_range")) {
+		gint element=0, min, max;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_volume_range <elementid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_volume_range(proxy, 
+			element, &min, &max, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("element %d has range [%d, %d]\n",
+			element, min, max);
+        } else if(!strcmp(argv[1], "sound_get_volume")) {
+		gint element=0, channel=0, volume=0;
+		if((argc < 4)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &channel) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_get_volume <elementid> <channelid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_get_volume(proxy, 
+			element, channel, &volume, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("get element %d, channel %d, volume is %d\n",
+			element, channel, volume);
+        } else if(!strcmp(argv[1], "sound_set_volume")) {
+		gint element=0, channel=0, volume=0;
+		if((argc < 5)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &channel) != 1)||
+		   (sscanf(argv[4], "%d", &volume) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_volume <elementid> <channelid> <volume>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_volume(proxy, 
+			element, channel, volume, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("set element %d, channel %d, to volume %d\n",
+			element, channel, volume);
+        } else if(!strcmp(argv[1], "sound_set_element_volume")) {
+		gint element=0, volume=0;
+		if((argc < 4)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &volume) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_element_volume <elementid> <volume>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_element_volume(proxy, 
+			element, volume, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("set element %d, all channels, to volume %d\n",
+			element, volume);
+        } else if(!strcmp(argv[1], "sound_get_mute")) {
+		gint element=0, channel=0;
+		gboolean mute=FALSE;
+		if((argc < 4)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &channel) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_get_mute <elementid> <channelid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_get_mute(proxy, 
+			element, channel, &mute, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("get element %d, channel %d, mute is %s\n",
+			element, channel, (mute)?"ON":"OFF");
+        } else if(!strcmp(argv[1], "sound_set_mute")) {
+		gint element=0, channel=0, mute=0;
+		if((argc < 5)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &channel) != 1)||
+		   (sscanf(argv[4], "%d", &mute) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_volume <elementid> <channelid> <mute 0=off/1=on>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_mute(proxy, 
+			element, channel, (mute), &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("set element %d, channel %d, to mute %s\n",
+			element, channel, (mute)?"ON":"OFF");
+        } else if(!strcmp(argv[1], "sound_set_element_mute")) {
+		gint element=0, mute=0;
+		if((argc < 4)||(sscanf(argv[2], "%d", &element) != 1)||
+		   (sscanf(argv[3], "%d", &mute) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_element_mute <elementid> <mute 0=off/1=on>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_element_mute(proxy, 
+			element, (mute), &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("set element %d, all channels, to mute %s\n",
+			element, (mute)?"ON":"OFF");
+        } else if(!strcmp(argv[1], "sound_set_all_mute")) {
+		gint mute=0;
+		if((argc < 3)||(sscanf(argv[2], "%d", &mute) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_all_mute <mute 0=off/1=on>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_all_mute(proxy, 
+			(mute), &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("set all elements, all channels, to mute %s\n",
+			(mute)?"ON":"OFF");
+        } else if(!strcmp(argv[1], "sound_get_playback_master")) {
+		gint element;
+		if(!org_moblin_SystemDaemon_sound_get_playback_master(proxy, 
+			&element, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("playback master is %d\n", element);
+        } else if(!strcmp(argv[1], "sound_set_playback_master")) {
+		gint element;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_playback_master <element>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_playback_master(proxy, 
+			element, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("playback master is %d\n", element);
+        } else if(!strcmp(argv[1], "sound_get_record_master")) {
+		gint element;
+		if(!org_moblin_SystemDaemon_sound_get_record_master(proxy, 
+			&element, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("record master is %d\n", element);
+        } else if(!strcmp(argv[1], "sound_set_record_master")) {
+		gint element;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_set_record_master <element>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_set_record_master(proxy, 
+			element, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("record master is %d\n", element);
+        } else if(!strcmp(argv[1], "sound_capabilities")) {
+		gint element=0;
+		gboolean volume, mute, playback;
+		if((argc < 3)||(sscanf(argv[2], "%d", &element) != 1))
+		{
+		    fprintf(stderr, 
+			"Usage: %s sound_capabilities <elementid>\n",
+			argv[0]);
+		    return -1;
+		}
+		if(!org_moblin_SystemDaemon_sound_capabilities(proxy, 
+			element, &volume, &mute, &playback, &gerror))
+		{
+		    g_warning ("error: %s", gerror->message);
+		    g_error_free (gerror);
+		    return -1;
+		}
+		printf("element %d: %s volume=%s, mute=%s\n",
+			element, (playback)?"Playback":"Record",
+			(volume)?"YES":"NO", (mute)?"YES":"NO");
 	}
 
 	return 0;
diff --git a/moblin-system-daemon/sound/Makefile.am b/moblin-system-daemon/sound/Makefile.am
new file mode 100644
_______________________________________________
Commits mailing list
Commits@moblin.org
https://www.moblin.org/mailman/listinfo/commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic