Sorry for being too late in reply, but here it goes:
--- Eirik Meland <[EMAIL PROTECTED]> wrote:
> I don't know how to do this:
> <!--
> # see src/event.py for a list of all possible events. You can add
> more keybindings
> # by adding them to the correct hash. E.g. pressing 1 should send
> 'contrast -100'
> # to mplayer, just write the folling line to your local_conf.py
> #
> # EVENTS['video']['1'] = Event(VIDEO_SEND_MPLAYER_CMD,
> arg='contrast -100')
> -->
Maybe we can have a section events with all posibilities there:
<category name="Events">
<settings>
<setting ref="EVENT_VIDEO_0" />
<setting ref="EVENT_VIDEO_1" />
...
I'm not sure here... there is a fixed number of buttons?
Or we could have sub categories:
<category name="Video Events">
<settings>
<setting ref="EVENT_0" />
...
is it possible?
> The whole plugin-config is a bit cloudy. Maybe it should be moved to
> the user-data
>
> <category name="Plugins">
> <description>
> </description>
> <settings>
>
> <!-- plugin.remove(plugin_tv) or -->
> <remove variable="plugin_tv"/>
We don't need this.
These variables were used just to make users live easier so one could
disable the TV without checking what were the plugin that was enabled.
Since we will use a configure tool, we don't want that
> <!-- plugin.remove('tv') will remove the tv module from the main
> menu -->
> <remove plugin="tv"/>
>
> <!-- plugin.remove('tv.generic_record') -->
> <remove plugin="tv.generic_record"/>
>
> <!-- plugin_record = plugin.activate('tv.ivtv_record') -->
> <set variable="plugin_record">
> <activate plugin="tv.ivtv_record"/>
> </set>
As above, we don't need this.
> <activate plugin="idlebar"/>
> <activate plugin="idebar.weather"/>
> </settings>
> </category>
Again, maybe we can have subcategories? So we have a tree:
idlebar:
clock
cpustats
weather
...
tv:
ivtv_record
...
also, we may implement a way to avoid conflicts, so if two plugins want
the same resource/ do the same thing, we may use a radio button (mutual
exclusion)
> printf-ish syntax are hard to describe...
> <!--
> # MPLAYER_ARGS_DEF = (('-ac mad, -autosync 100 -nolirc -autoq
> 100 -screenw %s '
> # + '-screenh %s -fs') % (CONF.width,
> CONF.height))
> -->
As I talked to you in IRC, we should adopt one of these ways:
1) designate some widcards to be replaced, just like many CD rippers
do. Like %w == width; %h == height, and goes...
So it could be:
<some-tag-name name="MPLAYER_ARGS" value="-vf scale=%w:%h" />
2) use python interpolate feature and use a string like this:
<some-tag-name name="MPLAYER_ARGS" value="-vf
scale=%(width)d:%(height)d" />
But we really should display some pre-selected options to user, when
possible. Like:
Nothing -> ""
Software Scale [needs CPU] -> "-vf scale=%w:%h"
Software Scale & Pretty OSD [needs CPU] -> "-vf
scale=%w:%h,bmovl=/some/fifo"
and, when possible, split config into smaller pieces.
>
> This should be split up:
> <!--
> # XXX Please see the mencoder docs for more info about the
> settings
> # XXX below. Some stuff must be changed (adevice), others probably
> # XXX should be ("Change"), or could be in some cases ("change?")
> # VCR_CMD = ('/usr/local/bin/mencoder ' + # Change. Absolute
> path to the runtime
> # '-tv on:driver=v4l:input=0' + # Input 0 = Comp. V.
> in
> # ':norm=NTSC' + # Change
> # ':channel=%(channel)s' + # Filled in by
> Freevo
> # ':chanlist=us-cable' + # Change
> # ':width=320:height=240' + # Change if needed
> # ':outfmt=yv12' + # Prob. ok, yuy2
> might be faster
> # ':device=/dev/video0' + # CHANGE!
> # ':adevice=/dev/dsp4' + # CHANGE!
> # ':audiorate=32000' + # 44100 for better
> sound
> # ':forceaudio:forcechan=1:' + # Forced mono for bug
> in my driver
> # 'buffersize=64' + # 64 Megabyte capture
> buffer, change?
> # ' -ovc lavc -lavcopts ' + # Mencoder lavcodec
> video codec
> # 'vcodec=mpeg4' + # lavcodec mpeg-4
> # ':vbitrate=1200:' + # Change
> lower/higher, bitrate
> # 'keyint=30 ' + # Keyframe every 10
> secs, change?
> # '-oac mp3lame -lameopts ' + # Use Lame for MP3
> encoding
> # 'br=128:cbr:mode=3 ' + # MP3 const. bitrate,
> 128 kbit/s
> # '-ffourcc divx ' + # Force 'divx' ident,
> better compat.
> # '-endpos %(seconds)s ' + # only mencoder uses
> this so do it here.
> # '-o %(filename)s.avi ') # Filled in
> by Freevo
> -->
Sure...
some values could be selected from a list, like 'br=128:cbr:mode=3'
and some settings don't need to be set by user. Ask rob about them.
> This could be an enum of tuples:
> <!--
> # TV capture size for viewing and recording. Max 768x480 for NTSC,
> # 768x576 for PAL. Set lower if you have a slow computer!
> #
> # For the 'tvtime' TV viewing application, only the horizontal
> size is used.
> # Set the horizontal size to 400 or 480 if you have a slow
> (~500MHz) computer,
> # it still looks OK, and the picture will not be as jerky.
> # The vertical size is always either fullscreen or 480/576
> (NTSC/PAL)
> # for tvtime.
> # TV_VIEW_SIZE = (640, 480)
> -->
>
> Same goes for this:
> <!--
> # XXX Not used yet
> # TV_REC_SIZE = (320, 240) # Default for slower computers
> -->
Sure.
> Are you still with me? :-)
:)
> Here comes the definition of the datatypes:
>
> <datatypes>
> <!-- General -->
> <path name="AUDIO_DEVICE" default="/dev/dsp">
> <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>
> <enum name="MAJOR_AUDIO_CTRL" default="VOL">
> <description>
> Freevo takes control over one audio ctrl
> 'VOL', 'PCM' 'OGAIN' etc.
> </description>
> <value>VOL</value>
> <value>PCM</value>
> <value>OGAIN</value>
> </enum>
Maybe we could have something like HTML for <value>, make it like
<option>:
<option>some value</option>
<option value="some value">some better name</option>
This also handles i18n.
<option value="some value" xml:lang="pt_BR">Algum nome
melhor</option>
> To make it "editable" in osd I've added alternatives:
>
> <string name="AUDIO_FORMAT_STRING">
> <description>
> Formatstring for the audio item names, possible strings:
> a = artist, n = tracknumber, t = title, y = year, f =
> filename
> </description>
> <alternative value="%(t)s">
> <description>
> This is the default - track name only
> </description>
> </alternative>
> <alternative value="%(n)s - %(t)s">
> <description>
> This will show the title and the track number
> </description>
> </alternative>
> </string>
Cool!
We can also have a way to edit alternative and add them to the list.
(Maybe in future ;))
> <enum name="SKIN_XML_FILE" default="noia">
> <description>
> XML file for the skin
> </description>
> <value>noia</value>
> <value>info</value>
> </enum>
This shouldn't be hardcoded in the skin, since users can download more
skins and they will need to show automatically.
> <integer name="SKIN_START_LAYOUT" default="0">
> <description>
> Start the new skin with a specific layout. Default is 0,
> DISPLAY toggles between the different layouts. If a menu
> hasn't that layout number, 0 will be taken
> </description>
> <range from="0" to="4"/>
> </integer>
This is also variable, depends on the skin in use, shouldn't have a
maximum limit.
This is hard to validade, maybe we should left it without a upper
limit. It should check if the skin have that layout, if it doesn't, so
it doesn't use this variable.
> <integer name="MPLAYER_NICE" default="-20">
> <description>
> Priority of mplayer process. 0 is unchanged, <0 is higher
> prio, >0 lower prio. prio <0 has no effect unless run as
> root.
> </description>
> <range from="-20" to="20"/>
> </integer>
It goes from -20 to 19 :)
> <enum name="TV_NORM" default="pal">
> <value>ntsc</value>
> <value>pal</value>
> <value>secam</value>
> </string>
You should also use:
Brazil -> PAL-M
Argentina -> PAL-N
> <enum name="TV_INPUT" default="television">
> <value>television</value>
> <value>compsite1</value>
> </enum>
There are other composites too :)
This should, if possible, be filled in by freevo.
> <string name="external_tuner" default="tv.irtrans_echostar"/>
I don't like this...
> <string name="RECORD_SERVER_IP" default="localhost"/>
_IP here is wrong. We should use just RECORD_SERVER.
General comments:
Couldn't we use <name>some name</name> instead of <sometag
name="some name" ... /> ? Using this, together with <description> we
can do the i18n right there in the XML using it's own definition, no
need to use gettext.
It's good enough to me :)
Gustavo
Yahoo! Mail - o melhor webmail do Brasil
http://mail.yahoo.com.br
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel