I'm not really an xml guy, but have a few comments. Just tell me if I am out to lunch. :)
Eirik Meland wrote:
This is the xml-structure so far. Please comment.
<structure> <category name="General Settings"> <description> Explanation of this menu </description> <settings> <path name="AUDIO_DEVICE" default="/dev/dsp"> <description> test </description> <example> /dev/dsp0, /dev/audio, /dev/alsa/ </example> </path> <path name="AUDIO_INPUT_DEVICE" default="dev/dsp1"> <example> /dev/dsp0, /dev/audio, /dev/alsa/ </example> </path>
I like the <path ..>
<enum name="MAJOR_AUDIO_CTRL" default="PCM">
<description>
Freevo takes control over one audio ctrl 'VOL', 'PCM'
'OGAIN' etc.
</description>
<value>VOL</value>
<value>PCM</value>
<value>OGAIN</value>
</enum>
Could we have a special tag for most of the config items?
<major_audio_ctrl value="PCM">
Ok, that one's not a great example as the enum type looks to work well there.
<boolean name="CONTROL_ALL_AUDIO" default="True">
<description>
Should Freevo take complete control of audio
</description>
</boolean>
<control_all_audio value="True"> <description> Should Freevo take complete control of audio </description> </control_all_audio>
And would accept (perhaps done in a local_conf):
<control_all_audio value="True" />
That stuff doesn't matter a whole lot to me, just some thoughts from a non-xml guy.
However, there are some complications with the current configuration style that I would like to work around by using xml. For centralizing the channel list and frequency table for slave apps, as well as adding support for multiple V4L devices - and combinations of devices; I have added a class in config.py called VideoGroup and it would currently be used in local_conf.py like this (Actually this is my running config):
VIDEO_GROUPS = [
VideoGroup(vdev='/dev/video0',
adev=None,
input_type='tuner',
tuner_type='external',
tuner_norm='NTSC',
tuner_chanlist='us-cable',
tuner_chan='3',
external_tuner='tv.irtrans_echostar',
et_conf='/etc/lircd-transmit.conf',
et_device='/dev/trans',
et_remote='JVC_4700',
desc='Bell ExpressVu',
recordable=True),
VideoGroup(vdev='/dev/video1',
adev='/dev/dsp1',
input_type='tuner',
desc='ATI TV-Wonder',
recordable=True),
VideoGroup(vdev='/dev/video2',
adev=None,
input_type='webcam',
desc='Logitech Quickcam',
recordable=False),
]Ok, that is WAY WAY WAY too complicated for users to get their hands on. They will have to keep the syntax correct (make sure all commas and round / square brackets are in place) and also know how to pass contructor values to this class. I think its _nasty_. However, by using an xml config file I think it would be great to be able to say:
<videogroups>
<videogroup name="Bell ExpressVu">
<vdev value="/dev/video0">
<adev value="/dev/dsp0">
<input_type value="tuner">
<tuner_norm value="NTSC">
<tuner_chanlist value="us-cable>
<tuner_chan value=3>
<external_tuner value="tv.irtrans_echostar">
<recordable value=1>
</videogroup>
<videogroup name="ATI TV-Wonder">
<vdev value="/dev/video1">
<adev value="/dev/dsp1">
<input_type value="tuner">
<recordable value=1>
</videogroup>
<videogroup name="Logitech Quickcam">
<vdev value="/dev/video2">
<input_type value="webcam">
<recordable value=0>
</videogroup>
</videogroups>I think that is more user friendly, and I would (as a user) rather do it that way myself.
-Rob
------------------------------------------------------- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel
