Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory checked 
in at 2012-03-22 12:38:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
 and      /work/SRC/openSUSE:Factory/.pyalsa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pyalsa", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/pyalsa/pyalsa.changes    2011-09-23 
12:42:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes       2012-03-22 
12:38:53.000000000 +0100
@@ -1,0 +2,12 @@
+Mon Mar 12 15:05:09 CET 2012 - ti...@suse.de
+
+- Updated to version 1.0.25
+  - Add register_poll for alsaseq
+  - alsa-python mixer: add poll_fds property
+  - ctltest1.py: use new class member names
+  - alsamixer: Fix bad PyArg_ParseTuple format strings
+- Two backport fixes from upstream:
+    Fix get_volume_array() for mono channels
+    Fix pyalsa tests for new function names
+
+-------------------------------------------------------------------

Old:
----
  pyalsa-1.0.22.tar.bz2

New:
----
  0001-Fix-get_volume_array-for-mono-channels.patch
  0002-Fix-pyalsa-tests-for-new-function-names.patch
  pyalsa-1.0.25.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pyalsa.spec ++++++
--- /var/tmp/diff_new_pack.xkPJBT/_old  2012-03-22 12:38:57.000000000 +0100
+++ /var/tmp/diff_new_pack.xkPJBT/_new  2012-03-22 12:38:57.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package pyalsa
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,19 +15,20 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-# norootforbuild
-
 
 Name:           pyalsa
-BuildRequires:  alsa-devel python-devel
-Version:        1.0.22
-Release:        7
+BuildRequires:  alsa-devel
+BuildRequires:  python-devel
+Version:        1.0.25
+Release:        0
+Summary:        Python ALSA binding
 License:        LGPL-2.1+ ; GPL-2.0
 Group:          Development/Libraries/Python
-Summary:        Python ALSA binding
 Source:         pyalsa-%{version}.tar.bz2
 Source1:        COPYING
 Source2:        COPYING.LIB
+Patch1:         0001-Fix-get_volume_array-for-mono-channels.patch
+Patch2:         0002-Fix-pyalsa-tests-for-new-function-names.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %{py_requires}
 
@@ -36,6 +37,8 @@
 
 %prep
 %setup -q
+%patch1 -p1
+%patch2 -p1
 cp %{S:1} %{S:2} .
 
 %build

++++++ 0001-Fix-get_volume_array-for-mono-channels.patch ++++++
>From 6ca6689c8b989626a1dc58ede4aa859de98286d2 Mon Sep 17 00:00:00 2001
From: Arvin Schnell <aschn...@suse.de>
Date: Mon, 12 Mar 2012 14:56:45 +0100
Subject: [PATCH 1/2] Fix get_volume_array() for mono channels

also reported as bug 5546

Signed-off-by: Takashi Iwai <ti...@suse.de>
---
 pyalsa/alsamixer.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pyalsa/alsamixer.c b/pyalsa/alsamixer.c
index d686f16..662a2a9 100644
--- a/pyalsa/alsamixer.c
+++ b/pyalsa/alsamixer.c
@@ -627,7 +627,7 @@ pyalsamixerelement_getvolumearray(struct pyalsamixerelement 
*pyelem, PyObject *a
                                return NULL;
                        res = snd_mixer_selem_get_playback_volume(pyelem->elem, 
SND_MIXER_SCHN_MONO, &val);
                        if (res >= 0)
-                               PyTuple_SetItem(t, 0, PyInt_FromLong(val));
+                               PyList_SetItem(t, 0, PyInt_FromLong(val));
                } else {
                        t = PyList_New(SND_MIXER_SCHN_LAST+1);
                        if (!t)
@@ -658,7 +658,7 @@ pyalsamixerelement_getvolumearray(struct pyalsamixerelement 
*pyelem, PyObject *a
                                return NULL;
                        res = snd_mixer_selem_get_capture_volume(pyelem->elem, 
SND_MIXER_SCHN_MONO, &val);
                        if (res >= 0)
-                               PyTuple_SET_ITEM(t, 0, PyInt_FromLong(val));
+                               PyList_SET_ITEM(t, 0, PyInt_FromLong(val));
                } else {
                        t = PyList_New(SND_MIXER_SCHN_LAST+1);
                        if (!t)
-- 
1.7.9.2

++++++ 0002-Fix-pyalsa-tests-for-new-function-names.patch ++++++
>From 21174b0a77a2d5faf9aa55617a4af28bf29fae38 Mon Sep 17 00:00:00 2001
From: Arvin Schnell <aschn...@suse.de>
Date: Mon, 12 Mar 2012 14:57:43 +0100
Subject: [PATCH 2/2] Fix pyalsa tests for new function names

Signed-off-by: Takashi Iwai <ti...@suse.de>
---
 test/mixertest2.py |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/test/mixertest2.py b/test/mixertest2.py
index 24e5605..6c2d026 100755
--- a/test/mixertest2.py
+++ b/test/mixertest2.py
@@ -10,25 +10,25 @@ import select
 def parse_event_mask(events):
        if events == 0:
                return 'None'
-       if events == alsamixer.EventMaskRemove:
+       if events == alsamixer.event_mask_remove:
                return 'Removed'
        s = ''
-       for i in alsamixer.EventMask.keys():
-               if events & alsamixer.EventMask[i]:
+       for i in alsamixer.event_mask.keys():
+               if events & alsamixer.event_mask[i]:
                        s += '%s ' % i
        return s[:-1]
 
 def event_callback(element, events):
 
        print 'CALLBACK (DEF)! [%s] %s:%i' % (parse_event_mask(events), 
element.name, element.index)
-       print '  ', element.getVolumeTuple(), element.getSwitchTuple()
+       print '  ', element.get_volume_tuple(), element.get_switch_tuple()
 
 
 class MyElementEvent:
 
        def callback(self, element, events):
                print 'CALLBACK (CLASS)! [%s] %s:%i' % 
(parse_event_mask(events), element.name, element.index)
-               print '  ', element.getVolumeTuple(), element.getSwitchTuple()
+               print '  ', element.get_volume_tuple(), 
element.get_switch_tuple()
 
 
 mixer = alsamixer.Mixer()
@@ -36,13 +36,13 @@ mixer.attach()
 mixer.load()
 
 element1 = alsamixer.Element(mixer, "Front")
-element1.setCallback(event_callback)
+element1.set_callback(event_callback)
 element2 = alsamixer.Element(mixer, "PCM")
-element2.setCallback(MyElementEvent())
+element2.set_callback(MyElementEvent())
 
 poller = select.poll()
-mixer.registerPoll(poller)
+mixer.register_poll(poller)
 while True:
        poller.poll()
        print 'Poll OK!'
-       mixer.handleEvents()
+       mixer.handle_events()
-- 
1.7.9.2

++++++ pyalsa-1.0.22.tar.bz2 -> pyalsa-1.0.25.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/PKG-INFO new/pyalsa-1.0.25/PKG-INFO
--- old/pyalsa-1.0.22/PKG-INFO  2009-12-16 16:30:48.000000000 +0100
+++ new/pyalsa-1.0.25/PKG-INFO  2012-01-25 10:33:12.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: pyalsa
-Version: 1.0.22
+Version: 1.0.25
 Summary: UNKNOWN
 Home-page: UNKNOWN
 Author: The ALSA Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/pyalsa/alsamixer.c 
new/pyalsa-1.0.25/pyalsa/alsamixer.c
--- old/pyalsa-1.0.22/pyalsa/alsamixer.c        2009-12-16 16:18:56.000000000 
+0100
+++ new/pyalsa-1.0.25/pyalsa/alsamixer.c        2012-01-25 08:57:13.000000000 
+0100
@@ -164,9 +164,7 @@
        count = snd_mixer_poll_descriptors_count(self->handle);
        if (count <= 0)
                Py_RETURN_NONE;
-       pfd = malloc(sizeof(struct pollfd) * count);
-       if (pfd == NULL)
-               Py_RETURN_NONE;
+       pfd = alloca(sizeof(struct pollfd) * count);
        count = snd_mixer_poll_descriptors(self->handle, pfd, count);
        if (count <= 0)
                Py_RETURN_NONE;
@@ -188,6 +186,38 @@
        Py_RETURN_NONE;
 }
 
+static PyObject *
+pyalsamixer_getpollfds(struct pyalsamixer *self, void *priv)
+{
+       PyObject *l, *t;
+       struct pollfd *pfds;
+       int i, count;
+
+       count = snd_mixer_poll_descriptors_count(self->handle);
+       if (count < 0) {
+pfds_error:
+               PyErr_Format(PyExc_IOError, "poll descriptors error: %s", 
snd_strerror(count));
+               return NULL;
+       }
+       pfds = alloca(sizeof(struct pollfd) * count);
+       count = snd_mixer_poll_descriptors(self->handle, pfds, count);
+       if (count < 0)
+               goto pfds_error;
+
+       l = PyList_New(count);
+       if (!l)
+               return NULL;
+       for (i = 0; i < count; ++i) {
+               t = PyTuple_New(2);
+               if (t) {
+                       PyTuple_SET_ITEM(t, 0, PyInt_FromLong(pfds[i].fd));
+                       PyTuple_SET_ITEM(t, 1, PyInt_FromLong(pfds[i].events));
+                       PyList_SetItem(l, i, t);
+               }
+       }
+       return l;
+}
+
 PyDoc_STRVAR(list__doc__,
 "list() -- Return a list (tuple) of element IDs in (name,index) tuple.");
 
@@ -257,7 +287,8 @@
 
 static PyGetSetDef pyalsamixer_getseters[] = {
 
-       {"count",       (getter)pyalsamixer_getcount,   NULL,   "mixer element 
count",          NULL},
+       {"count",       (getter)pyalsamixer_getcount,   NULL,   "mixer element 
count",          NULL},
+       {"poll_fds",    (getter)pyalsamixer_getpollfds,     NULL,       "list 
of (fd, eventbits) tuples",       NULL},
 
        {NULL}
 };
@@ -341,7 +372,7 @@
 {
        int res, dir = 0;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0)
@@ -362,7 +393,7 @@
 {
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO;
 
-       if (!PyArg_ParseTuple(args, "|II", &chn, &dir))
+       if (!PyArg_ParseTuple(args, "|ii", &chn, &dir))
                return NULL;
 
        if (dir == 0)
@@ -384,7 +415,7 @@
 {
        int res, dir = 0;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0)
@@ -413,7 +444,7 @@
 {
        int res, dir = 0;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0)
@@ -442,7 +473,7 @@
        int res, dir = 0;
        long volume, val;
 
-       if (!PyArg_ParseTuple(args, "|LI", &volume, &dir))
+       if (!PyArg_ParseTuple(args, "|li", &volume, &dir))
                return NULL;
 
        if (dir == 0)
@@ -465,7 +496,7 @@
        int res, xdir = -1, dir = 0;
        long dBvolume, val;
 
-       if (!PyArg_ParseTuple(args, "|LII", &dBvolume, &xdir, &dir))
+       if (!PyArg_ParseTuple(args, "|lii", &dBvolume, &xdir, &dir))
                return NULL;
 
        if (dir == 0)
@@ -488,7 +519,7 @@
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO;
        long val;
 
-       if (!PyArg_ParseTuple(args, "|II", &chn, &dir))
+       if (!PyArg_ParseTuple(args, "|ii", &chn, &dir))
                return NULL;
 
        if (dir == 0)
@@ -512,7 +543,7 @@
        long val;
        PyObject *t;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0) {
@@ -586,7 +617,7 @@
        long val;
        PyObject *t, *l;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0) {
@@ -663,7 +694,7 @@
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO;
        long val;
 
-       if (!PyArg_ParseTuple(args, "L|II", &val, &chn, &dir))
+       if (!PyArg_ParseTuple(args, "l|ii", &val, &chn, &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_volume(pyelem->elem, chn, 
val);
@@ -687,7 +718,7 @@
        int i, res, dir = 0;
        long val;
 
-       if (!PyArg_ParseTuple(args, "O|I", &t, &dir))
+       if (!PyArg_ParseTuple(args, "O|i", &t, &dir))
                return NULL;
        if (!PyTuple_Check(t) && !PyList_Check(t))
                return PyErr_Format(PyExc_RuntimeError, "Volume values in tuple 
are expected!");
@@ -739,7 +770,7 @@
        int res, dir = 0;
        long val;
 
-       if (!PyArg_ParseTuple(args, "L|I", &val, &dir))
+       if (!PyArg_ParseTuple(args, "l|i", &val, &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_volume_all(pyelem->elem, 
val);
@@ -760,7 +791,7 @@
        long min, max;
        PyObject *t;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_get_playback_volume_range(pyelem->elem, 
&min, &max);
@@ -785,7 +816,7 @@
        int dir = 0, res;
        long min, max;
 
-       if (!PyArg_ParseTuple(args, "LL|I", &min, &max, &dir))
+       if (!PyArg_ParseTuple(args, "ll|i", &min, &max, &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_volume_range(pyelem->elem, 
min, max);
@@ -804,7 +835,7 @@
 {
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO, val;
 
-       if (!PyArg_ParseTuple(args, "|II", &chn, &dir))
+       if (!PyArg_ParseTuple(args, "|ii", &chn, &dir))
                return NULL;
 
        if (dir == 0)
@@ -831,7 +862,7 @@
        int res, dir = 0, i, last, val;
        PyObject *t;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
 
        if (dir == 0) {
@@ -903,7 +934,7 @@
 {
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO, val;
 
-       if (!PyArg_ParseTuple(args, "I|II", &val, &chn, &dir))
+       if (!PyArg_ParseTuple(args, "i|ii", &val, &chn, &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_switch(pyelem->elem, chn, 
val);
@@ -923,7 +954,7 @@
        PyObject *t, *o;
        int i, res, dir = 0, val;
 
-       if (!PyArg_ParseTuple(args, "O|I", &t, &dir))
+       if (!PyArg_ParseTuple(args, "O|i", &t, &dir))
                return NULL;
        if (!PyTuple_Check(t))
                return PyErr_Format(PyExc_RuntimeError, "Switch state values in 
tuple are expected!");
@@ -951,7 +982,7 @@
 {
        int res, dir = 0, val;
 
-       if (!PyArg_ParseTuple(args, "I|I", &val, &dir))
+       if (!PyArg_ParseTuple(args, "i|i", &val, &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_switch_all(pyelem->elem, 
val);
@@ -971,7 +1002,7 @@
        int res, dir = 0, chn = SND_MIXER_SCHN_MONO;
        long val;
 
-       if (!PyArg_ParseTuple(args, "|II", &chn, &dir))
+       if (!PyArg_ParseTuple(args, "|ii", &chn, &dir))
                return NULL;
 
        if (dir == 0)
@@ -994,7 +1025,7 @@
        int res, dir = 0, dir1 = 0, chn = SND_MIXER_SCHN_MONO;
        long val;
 
-       if (!PyArg_ParseTuple(args, "L|III", &val, &chn, &dir, &dir1))
+       if (!PyArg_ParseTuple(args, "l|iii", &val, &chn, &dir, &dir1))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_dB(pyelem->elem, chn, val, 
dir1);
@@ -1014,7 +1045,7 @@
        int res, dir = 0, dir1 = 0;
        long val;
 
-       if (!PyArg_ParseTuple(args, "L|II", &val, &dir, &dir1))
+       if (!PyArg_ParseTuple(args, "l|ii", &val, &dir, &dir1))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_set_playback_dB_all(pyelem->elem, val, 
dir1);
@@ -1035,7 +1066,7 @@
        long min, max;
        PyObject *t;
 
-       if (!PyArg_ParseTuple(args, "|I", &dir))
+       if (!PyArg_ParseTuple(args, "|i", &dir))
                return NULL;
        if (dir == 0)
                res = snd_mixer_selem_get_playback_dB_range(pyelem->elem, &min, 
&max);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/pyalsa/alsaseq.c 
new/pyalsa-1.0.25/pyalsa/alsaseq.c
--- old/pyalsa-1.0.22/pyalsa/alsaseq.c  2009-12-16 16:18:56.000000000 +0100
+++ new/pyalsa-1.0.25/pyalsa/alsaseq.c  2012-01-25 08:57:13.000000000 +0100
@@ -3236,6 +3236,53 @@
   Py_RETURN_NONE;
 }
 
+PyDoc_STRVAR(Sequencer_registerpoll__doc__,
+"register_poll(pollObj, input=False, output=False) -- Register poll file 
descriptors.");
+
+static PyObject *
+Sequencer_registerpoll(SequencerObject *self, PyObject *args, PyObject *kwds)
+{
+    PyObject *pollObj, *reg, *t;
+    struct pollfd *pfd;
+    int i, count;
+    int input = 0;
+    int output = 0;
+    int mode = POLLIN|POLLOUT;
+
+    static char * kwlist[] = { "pollObj", "input", "output", NULL };
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|ii", kwlist, &pollObj, 
&input, &output))
+        return NULL;
+
+    if (input && !output)
+        mode = POLLIN;
+    else if (!input && output)
+        mode = POLLOUT;
+
+    count = snd_seq_poll_descriptors_count(self->handle, mode);
+    if (count <= 0)
+        Py_RETURN_NONE;
+    pfd = alloca(sizeof(struct pollfd) * count);
+    count = snd_seq_poll_descriptors(self->handle, pfd, count, mode);
+    if (count <= 0)
+        Py_RETURN_NONE;
+
+    reg = PyObject_GetAttr(pollObj, PyString_InternFromString("register"));
+
+    for (i = 0; i < count; i++) {
+        t = PyTuple_New(2);
+        if (t) {
+            PyTuple_SET_ITEM(t, 0, PyInt_FromLong(pfd[i].fd));
+            PyTuple_SET_ITEM(t, 1, PyInt_FromLong(pfd[i].events));
+            Py_XDECREF(PyObject_CallObject(reg, t));
+            Py_DECREF(t);
+        }
+    }
+
+    Py_XDECREF(reg);
+
+    Py_RETURN_NONE;
+}
 
 
 
@@ -3309,6 +3356,10 @@
    (PyCFunction) Sequencer_stop_queue,
    METH_VARARGS | METH_KEYWORDS,
    Sequencer_stop_queue__doc__},
+  {"register_poll",
+   (PyCFunction) Sequencer_registerpoll,
+   METH_VARARGS | METH_KEYWORDS,
+   Sequencer_registerpoll__doc__},
   {NULL}
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/pyalsa.egg-info/PKG-INFO 
new/pyalsa-1.0.25/pyalsa.egg-info/PKG-INFO
--- old/pyalsa-1.0.22/pyalsa.egg-info/PKG-INFO  2009-12-16 16:30:48.000000000 
+0100
+++ new/pyalsa-1.0.25/pyalsa.egg-info/PKG-INFO  2012-01-25 10:33:12.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: pyalsa
-Version: 1.0.22
+Version: 1.0.25
 Summary: UNKNOWN
 Home-page: UNKNOWN
 Author: The ALSA Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/setup.py new/pyalsa-1.0.25/setup.py
--- old/pyalsa-1.0.22/setup.py  2009-12-16 16:18:56.000000000 +0100
+++ new/pyalsa-1.0.25/setup.py  2012-01-25 08:57:13.000000000 +0100
@@ -8,7 +8,7 @@
 except ImportError:
        from distutils.core import setup, Extension
 
-VERSION='1.0.22'
+VERSION='1.0.25'
 
 if os.path.exists("version"):
        fp = open("version", "r")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/test/ctltest1.py 
new/pyalsa-1.0.25/test/ctltest1.py
--- old/pyalsa-1.0.22/test/ctltest1.py  2009-12-16 16:18:56.000000000 +0100
+++ new/pyalsa-1.0.25/test/ctltest1.py  2012-01-25 08:57:13.000000000 +0100
@@ -7,16 +7,16 @@
 import alsacontrol
 
 ctl = alsacontrol.Control()
-print 'Card info:', ctl.cardInfo()
+print 'Card info:', ctl.card_info()
 try:
-  print 'Hwdep devices:', ctl.hwdepDevices()
+  print 'Hwdep devices:', ctl.hwdep_devices()
 except IOError, msg:
   print 'No hwdep devices:', msg
 try:
-  print 'PCM devices:', ctl.pcmDevices()
+  print 'PCM devices:', ctl.pcm_devices()
 except IOError, msg:
   print 'No PCM devices:', msg
 try:
-  print 'Rawmidi devices:', ctl.rawmidiDevices()
+  print 'Rawmidi devices:', ctl.rawmidi_devices()
 except IOError, msg:
   print 'No rawmidi devices:', msg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.22/utils/remove-user-ctl.py 
new/pyalsa-1.0.25/utils/remove-user-ctl.py
--- old/pyalsa-1.0.22/utils/remove-user-ctl.py  2009-12-16 16:18:56.000000000 
+0100
+++ new/pyalsa-1.0.25/utils/remove-user-ctl.py  2012-01-25 08:57:13.000000000 
+0100
@@ -3,11 +3,11 @@
 
 from pyalsa.alsahcontrol import HControl, Element, Info
 
-hctl = HControl()
+hctl = HControl(name='hw:1')
 list = hctl.list()
 for id in list:
        elem = Element(hctl, id[1:])
        info = Info(elem)
-       if info.isUser:
+       if info.is_user:
                print 'Removing element %s' % repr(id)
-               hctl.elementRemove(id[1:])
+               hctl.element_remove(id[1:])

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to