[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