[alsa-devel] HDA Analyzer
Takashi Iwai
tiwai at suse.de
Fri Nov 28 16:42:36 CET 2008
At Fri, 28 Nov 2008 11:29:27 +0100 (CET),
Jaroslav Kysela wrote:
>
> Hi HDA developers,
>
> I am trying to write a small tool for control and analyze HDA
> codecs (something like more powerful GUI brother for Takashi's hda-verb).
> For rapid development, I chose python and pygtk2 gtk bindings. At this
> time, only basic things are implemented and not all widget types are
> supported in detail, but routing and volume control is implemented. If you
> are interested to check this preview and send me ideas to make this tool
> better, the code is available at URL bellow (or in alsa.git repo - see
> www.alsa-project.org).
>
> http://git.alsa-project.org/?p=alsa.git;a=tree;f=hda-analyzer
This looks good. Thanks for your work!
I got some errors when clicking some widgets:
>
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 464, in __build_node
> hbox.pack_start(self.__build_connection_list(node))
> File "./hda_analyzer.py", line 253, in __build_connection_list
> for i in node.connections:
> TypeError: 'NoneType' object is not iterable
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 466, in __build_node
> vbox.pack_start(self.__build_amps(node), False, False)
> File "./hda_analyzer.py", line 343, in __build_amps
> node.out_amp and node.amp_vals_out or None)
> File "./hda_analyzer.py", line 294, in build_caps
> str = 'Offset:\t\t\t%d\n' % caps.ofs
> TypeError: %d format: a number is required, not NoneType
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 466, in __build_node
> vbox.pack_start(self.__build_amps(node), False, False)
> File "./hda_analyzer.py", line 343, in __build_amps
> node.out_amp and node.amp_vals_out or None)
> File "./hda_analyzer.py", line 294, in build_caps
> str = 'Offset:\t\t\t%d\n' % caps.ofs
> TypeError: %d format: a number is required, not NoneType
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 466, in __build_node
> vbox.pack_start(self.__build_amps(node), False, False)
> File "./hda_analyzer.py", line 343, in __build_amps
> node.out_amp and node.amp_vals_out or None)
> File "./hda_analyzer.py", line 294, in build_caps
> str = 'Offset:\t\t\t%d\n' % caps.ofs
> TypeError: %d format: a number is required, not NoneType
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 466, in __build_node
> vbox.pack_start(self.__build_amps(node), False, False)
> File "./hda_analyzer.py", line 343, in __build_amps
> node.out_amp and node.amp_vals_out or None)
> File "./hda_analyzer.py", line 294, in build_caps
> str = 'Offset:\t\t\t%d\n' % caps.ofs
> TypeError: %d format: a number is required, not NoneType
> Traceback (most recent call last):
> File "./hda_analyzer.py", line 96, in selection_changed_cb
> self.load(c, node)
> File "./hda_analyzer.py", line 119, in load
> self.__build_node(n)
> File "./hda_analyzer.py", line 466, in __build_node
> vbox.pack_start(self.__build_amps(node), False, False)
> File "./hda_analyzer.py", line 343, in __build_amps
> node.out_amp and node.amp_vals_out or None)
> File "./hda_analyzer.py", line 294, in build_caps
> str = 'Offset:\t\t\t%d\n' % caps.ofs
> TypeError: %d format: a number is required, not NoneType
Happend on widgets like
Node 0x21 [Volume Knob Widget] wcaps 0x600080: Mono
Volume-Knob: delta=0, steps=32, direct=0, val=64
Unsolicited: tag=0x00, enabled=0
Connection: 0
and
Node 0x22 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x80 0x80] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Amp-Out caps: N/A
Amp-Out vals: [0x00 0x00]
Connection: 9
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x0b
Takashi
More information about the Alsa-devel
mailing list