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

Reply via email to