Author: duncan
Date: Mon Sep 10 11:36:28 2007
New Revision: 9862
Log:
[ 1791026 ] Modif of OSD_OVERSCAN feature for freevo 1.x
Patch from Pirlouwi applied
Modified:
branches/rel-1/freevo/ChangeLog
branches/rel-1/freevo/src/audio/plugins/mplayervis.py
branches/rel-1/freevo/src/gui/GUIObject.py
branches/rel-1/freevo/src/helpers/convert_config.py
branches/rel-1/freevo/src/image/viewer.py
branches/rel-1/freevo/src/main.py
branches/rel-1/freevo/src/osd.py
branches/rel-1/freevo/src/plugins/tiny_osd.py
branches/rel-1/freevo/src/plugins/weather.py
branches/rel-1/freevo/src/skins/main/area.py
branches/rel-1/freevo/src/skins/main/default_areas.py
branches/rel-1/freevo/src/skins/main/main.py
branches/rel-1/freevo/src/skins/main/xml_skin.py
branches/rel-1/freevo/src/tv/program_display.py
branches/rel-1/freevo/src/util/videothumb.py
branches/rel-1/freevo/src/video/plugins/bmovl.py
branches/rel-1/freevo/src/video/plugins/mplayer.py
Modified: branches/rel-1/freevo/ChangeLog
==============================================================================
--- branches/rel-1/freevo/ChangeLog (original)
+++ branches/rel-1/freevo/ChangeLog Mon Sep 10 11:36:28 2007
@@ -25,6 +25,7 @@
* Updated the LCD plug-in to allow a 16x4 mode (F#1776450)
* Updated alsamixer with event args and synchronous mixer control (F#1767928)
* Updated a submenu selection when there is only one action to execute the
action (F#1774569)
+ * Updated osd overscan to allow different margins for all sides (F#1791026)
* Updated tv favourite handling and programme item to provide a consistant
interface (F#1776909)
* Updated video item to include the full description (F#1777187)
* Fixed cd-rom drives eject causing a crash (B#1775892)
Modified: branches/rel-1/freevo/src/audio/plugins/mplayervis.py
==============================================================================
--- branches/rel-1/freevo/src/audio/plugins/mplayervis.py (original)
+++ branches/rel-1/freevo/src/audio/plugins/mplayervis.py Mon Sep 10
11:36:28 2007
@@ -144,13 +144,13 @@
def set_fullscreen(self):
- t_h = config.CONF.height-2*config.OSD_OVERSCAN_Y
- w = config.CONF.width-2*config.OSD_OVERSCAN_X
+ t_h =
config.CONF.height-(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM)
+ w =
config.CONF.width-(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)
# ~16:9
h = int(9.0*float(w)/16.0)
- y = ((t_h-h)/2) + config.OSD_OVERSCAN_Y
- x = config.OSD_OVERSCAN_X
+ y = ((t_h-h)/2) + config.OSD_OVERSCAN_TOP
+ x = config.OSD_OVERSCAN_LEFT
self.set_resolution(x, y, w, h, 0)
self.max_blend = 80
Modified: branches/rel-1/freevo/src/gui/GUIObject.py
==============================================================================
--- branches/rel-1/freevo/src/gui/GUIObject.py (original)
+++ branches/rel-1/freevo/src/gui/GUIObject.py Mon Sep 10 11:36:28 2007
@@ -364,8 +364,8 @@
c = c.parent
print
print 'Configuration: %sx%s %s %s' % \
- (self.osd.width, self.osd.height, config.OSD_OVERSCAN_X,
- config.OSD_OVERSCAN_Y)
+ (self.osd.width, self.osd.height, config.OSD_OVERSCAN_LEFT,
+ config.OSD_OVERSCAN_TOP)
print
raise Exception, e
Modified: branches/rel-1/freevo/src/helpers/convert_config.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/convert_config.py (original)
+++ branches/rel-1/freevo/src/helpers/convert_config.py Mon Sep 10 11:36:28 2007
@@ -53,8 +53,8 @@
'FORCE_SKIN_LAYOUT': 'DIRECTORY_FORCE_SKIN_LAYOUT',
'AUDIO_FORMAT_STRING': 'DIRECTORY_AUDIO_FORMAT_STRING',
'USE_MEDIAID_TAG_NAMES': 'DIRECTORY_USE_MEDIAID_TAG_NAMES',
- 'OVERSCAN_X': 'OSD_OVERSCAN_X',
- 'OVERSCAN_Y': 'OSD_OVERSCAN_Y',
+ 'OVERSCAN_X': 'OSD_OVERSCAN_LEFT',
+ 'OVERSCAN_Y': 'OSD_OVERSCAN_TOP',
'TV_SHOW_DATA_DIR': 'VIDEO_SHOW_DATA_DIR',
'TV_SHOW_REGEXP': 'VIDEO_SHOW_REGEXP',
'TV_SHOW_REGEXP_MATCH': 'VIDEO_SHOW_REGEXP_MATCH',
Modified: branches/rel-1/freevo/src/image/viewer.py
==============================================================================
--- branches/rel-1/freevo/src/image/viewer.py (original)
+++ branches/rel-1/freevo/src/image/viewer.py Mon Sep 10 11:36:28 2007
@@ -125,10 +125,10 @@
if not image:
self.osd.clearscreen(color=self.osd.COL_BLACK)
self.osd.drawstringframed(_('Can\'t Open Image\n\'%s\'') %
Unicode(filename),
- config.OSD_OVERSCAN_X + 20,
- config.OSD_OVERSCAN_Y + 20,
- self.osd.width - 2 *
config.OSD_OVERSCAN_X - 40,
- self.osd.height - 2 *
config.OSD_OVERSCAN_Y - 40,
+ config.OSD_OVERSCAN_LEFT + 20,
+ config.OSD_OVERSCAN_TOP + 20,
+ self.osd.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT) - 40,
+ self.osd.height -
(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM) - 40,
self.osd.getfont(config.OSD_DEFAULT_FONTNAME,
config.OSD_DEFAULT_FONTSIZE),
fgcolor=self.osd.COL_ORANGE,
@@ -438,7 +438,7 @@
# Now sort the text into lines of length line_length
line = 0
- if config.OSD_OVERSCAN_X:
+ if config.OSD_OVERSCAN_LEFT or config.OSD_OVERSCAN_RIGHT:
line_length = 35
else:
line_length = 60
@@ -463,14 +463,14 @@
prt_line[line] += ' ' + textstr
# Create a black box for text
- self.osd.drawbox(config.OSD_OVERSCAN_X, self.osd.height - \
- (config.OSD_OVERSCAN_X + 25 + (len(prt_line) * 30)),
+ self.osd.drawbox(config.OSD_OVERSCAN_LEFT, self.osd.height - \
+ (config.OSD_OVERSCAN_LEFT + 25 + (len(prt_line) *
30)),
self.osd.width, self.osd.height, width=-1,
color=((60 << 24) | self.osd.COL_BLACK), layer=layer)
# Now print the Text
for line in range(len(prt_line)):
- h=self.osd.height - (40 + config.OSD_OVERSCAN_Y + \
+ h=self.osd.height - (40 + config.OSD_OVERSCAN_TOP + \
((len(prt_line) - line - 1) * 30))
- self.osd.drawstring(prt_line[line], 15 + config.OSD_OVERSCAN_X, h,
+ self.osd.drawstring(prt_line[line], 15 + config.OSD_OVERSCAN_LEFT,
h,
fgcolor=self.osd.COL_ORANGE, layer=layer)
Modified: branches/rel-1/freevo/src/main.py
==============================================================================
--- branches/rel-1/freevo/src/main.py (original)
+++ branches/rel-1/freevo/src/main.py Mon Sep 10 11:36:28 2007
@@ -303,7 +303,7 @@
'could cause more errors until
you restart '\
'Freevo.\n\nLogfile: %s\n\n')
% \
(event, sys.stdout.logfile),
-
width=osd.width-2*config.OSD_OVERSCAN_X-50,
+
width=osd.width-(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)-50,
handler=shutdown,
handler_message = _('shutting
down...'))
pop.b0.set_text(_('Shutdown'))
Modified: branches/rel-1/freevo/src/osd.py
==============================================================================
--- branches/rel-1/freevo/src/osd.py (original)
+++ branches/rel-1/freevo/src/osd.py Mon Sep 10 11:36:28 2007
@@ -277,8 +277,8 @@
image = osd.loadbitmap(icon)
width = image.get_width()
height = image.get_height()
- x = osd.width - config.OSD_OVERSCAN_X - 20 - width
- y = osd.height - config.OSD_OVERSCAN_Y - 20 - height
+ x = osd.width - config.OSD_OVERSCAN_RIGHT - 20 - width
+ y = osd.height - config.OSD_OVERSCAN_BOTTOM - 20 -
height
self.rect = (x,y,width,height)
# backup the screen
Modified: branches/rel-1/freevo/src/plugins/tiny_osd.py
==============================================================================
--- branches/rel-1/freevo/src/plugins/tiny_osd.py (original)
+++ branches/rel-1/freevo/src/plugins/tiny_osd.py Mon Sep 10 11:36:28 2007
@@ -90,12 +90,12 @@
w = font.stringsize(self.message)
if type == 'osd':
- x = config.OSD_OVERSCAN_X
- y = config.OSD_OVERSCAN_Y
+ x = config.OSD_OVERSCAN_LEFT
+ y = config.OSD_OVERSCAN_TOP
- renderer.drawstringframed(self.message, config.OSD_OVERSCAN_X,
- config.OSD_OVERSCAN_Y + 10,
- renderer.width - 10 - 2 *
config.OSD_OVERSCAN_X, -1,
+ renderer.drawstringframed(self.message, config.OSD_OVERSCAN_LEFT,
+ config.OSD_OVERSCAN_TOP + 10,
+ renderer.width - 10 -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT), -1,
font, align_h='right', mode='hard')
else:
Modified: branches/rel-1/freevo/src/plugins/weather.py
==============================================================================
--- branches/rel-1/freevo/src/plugins/weather.py (original)
+++ branches/rel-1/freevo/src/plugins/weather.py Mon Sep 10 11:36:28 2007
@@ -888,8 +888,8 @@
self.big_font = skin.get_font('huge0')
# set the multiplier to be used in all screen drawing
- self.xmult = float(osd.width - 2*config.OSD_OVERSCAN_X) / 800
- self.ymult = float(osd.height - 2*config.OSD_OVERSCAN_Y) / 600
+ self.xmult = float(osd.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)) / 800
+ self.ymult = float(osd.height -
(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM)) / 600
self.update_functions = (self.update_day, self.update_forecast,
self.update_week, self.update_doplar)
Modified: branches/rel-1/freevo/src/skins/main/area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/area.py (original)
+++ branches/rel-1/freevo/src/skins/main/area.py Mon Sep 10 11:36:28 2007
@@ -551,10 +551,10 @@
# if this is the real background image, ignore the
# OVERSCAN to fill the whole screen
if bg.label == 'background':
- bg.x -= config.OSD_OVERSCAN_X
- bg.y -= config.OSD_OVERSCAN_Y
- bg.width += 2 * config.OSD_OVERSCAN_X
- bg.height += 2 * config.OSD_OVERSCAN_Y
+ bg.x -= config.OSD_OVERSCAN_LEFT
+ bg.y -= config.OSD_OVERSCAN_TOP
+ bg.width +=
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)
+ bg.height +=
(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM)
if bg.label == 'watermark' and self.menu.selected.image:
imagefile = self.menu.selected.image
Modified: branches/rel-1/freevo/src/skins/main/default_areas.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/default_areas.py (original)
+++ branches/rel-1/freevo/src/skins/main/default_areas.py Mon Sep 10
11:36:28 2007
@@ -151,10 +151,10 @@
def __init__(self):
Skin_Area.__init__(self, 'plugin')
self.plugins = None
- self.x = config.OSD_OVERSCAN_X
- self.y = config.OSD_OVERSCAN_Y
- self.width = osd.width - 2 * config.OSD_OVERSCAN_X
- self.height = osd.height - 2 * config.OSD_OVERSCAN_Y
+ self.x = config.OSD_OVERSCAN_LEFT
+ self.y = config.OSD_OVERSCAN_TOP
+ self.width = osd.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)
+ self.height = osd.height -
(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM)
def __str__(self):
Modified: branches/rel-1/freevo/src/skins/main/main.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/main.py (original)
+++ branches/rel-1/freevo/src/skins/main/main.py Mon Sep 10 11:36:28 2007
@@ -109,8 +109,8 @@
"""
create cache name
"""
- geo = '%sx%s-%s-%s' % (osd.width, osd.height, config.OSD_OVERSCAN_X,
- config.OSD_OVERSCAN_Y)
+ geo = '%sx%s-%s-%s' % (osd.width, osd.height,
config.OSD_OVERSCAN_LEFT,
+ config.OSD_OVERSCAN_TOP)
return vfs.getoverlay('%s.skin-%s-%s' % (filename,
config.SKIN_XML_FILE, geo))
Modified: branches/rel-1/freevo/src/skins/main/xml_skin.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/xml_skin.py (original)
+++ branches/rel-1/freevo/src/skins/main/xml_skin.py Mon Sep 10 11:36:28 2007
@@ -432,12 +432,12 @@
XML_data.parse(self, node, scale, current_dir)
if x != self.x:
try:
- self.x += config.OSD_OVERSCAN_X
+ self.x += config.OSD_OVERSCAN_LEFT
except TypeError:
pass
if y != self.y:
try:
- self.y += config.OSD_OVERSCAN_Y
+ self.y += config.OSD_OVERSCAN_TOP
except TypeError:
pass
for subnode in node.children:
@@ -450,12 +450,12 @@
self.images[label].parse(subnode, scale, current_dir)
if x != self.images[label].x:
try:
- self.images[label].x += config.OSD_OVERSCAN_X
+ self.images[label].x += config.OSD_OVERSCAN_LEFT
except TypeError:
pass
if y != self.images[label].y:
try:
- self.images[label].y += config.OSD_OVERSCAN_Y
+ self.images[label].y += config.OSD_OVERSCAN_TOP
except TypeError:
pass
@@ -468,14 +468,14 @@
def rect(self, type):
if type == 'screen':
- return (self.x - config.OSD_OVERSCAN_X, self.y -
config.OSD_OVERSCAN_X,
- self.width + 2 * config.OSD_OVERSCAN_X,
- self.height + 2 * config.OSD_OVERSCAN_X)
+ return (self.x - config.OSD_OVERSCAN_LEFT, self.y -
config.OSD_OVERSCAN_TOP,
+ self.width +
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT),
+ self.height +
(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM))
return (self.x, self.y, self.width, self.height)
def pos(self, type):
if type == 'screen':
- return (self.x - config.OSD_OVERSCAN_X, self.y -
config.OSD_OVERSCAN_X)
+ return (self.x - config.OSD_OVERSCAN_LEFT, self.y -
config.OSD_OVERSCAN_TOP)
return (self.x, self.y)
@@ -1058,8 +1058,8 @@
w = config.CONF.width
h = config.CONF.height
- scale = (float(config.CONF.width-2*config.OSD_OVERSCAN_X)/float(w),
- float(config.CONF.height-2*config.OSD_OVERSCAN_Y)/float(h))
+ scale =
(float(config.CONF.width-(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT))/float(w),
+
float(config.CONF.height-(config.OSD_OVERSCAN_TOP+config.OSD_OVERSCAN_BOTTOM))/float(h))
include = attr_str(node, 'include', '')
Modified: branches/rel-1/freevo/src/tv/program_display.py
==============================================================================
--- branches/rel-1/freevo/src/tv/program_display.py (original)
+++ branches/rel-1/freevo/src/tv/program_display.py Mon Sep 10 11:36:28 2007
@@ -414,7 +414,7 @@
"""
self.menuw = menuw
InputBox(text=_('Alter Name'), handler=self.alter_name,
- width = osd.get_singleton().width - config.OSD_OVERSCAN_X -
20,
+ width = osd.get_singleton().width - config.OSD_OVERSCAN_RIGHT
- 20,
input_text=self.name).show()
Modified: branches/rel-1/freevo/src/util/videothumb.py
==============================================================================
--- branches/rel-1/freevo/src/util/videothumb.py (original)
+++ branches/rel-1/freevo/src/util/videothumb.py Mon Sep 10 11:36:28 2007
@@ -34,14 +34,14 @@
import sys, os, glob, shutil
-import kaa.metadata as mmpython
from stat import *
+import kaa.metadata as mmpython
+import config
def snapshot(videofile, imagefile=None, pos=None, update=True, popup=None):
"""
make a snapshot of the videofile at position pos to imagefile
"""
- import config
import popen3
import kaa.imlib2 as Image
import util
@@ -62,7 +62,7 @@
if popup:
pop = gui.PopupBox(text='Creating thumbnail for \'%s\'...' % \
Unicode(os.path.basename(videofile)),
- width=osd.get_singleton().width-config.OSD_OVERSCAN_X*2-80)
+
width=osd.get_singleton().width-(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)-80)
pop.show()
args = [ config.MPLAYER_CMD, videofile, imagefile ]
@@ -70,8 +70,8 @@
if pos != None:
args.append(str(pos))
- out = popen3.stdout([os.environ['FREEVO_SCRIPT'], 'execute',
- os.path.abspath(__file__) ] + args)
+ #print "%r" % ([os.environ['FREEVO_SCRIPT'], 'execute',
os.path.abspath(__file__) ] + args)
+ out = popen3.stdout([os.environ['FREEVO_SCRIPT'], 'execute',
os.path.abspath(__file__) ] + args)
if out:
for line in out:
print line
@@ -152,6 +152,7 @@
os.chdir('/tmp')
# call mplayer to get the image
+ #print "%r" % ((mplayer, '-nosound', '-vo', 'png', '-frames', '8', '-ss',
position, '-zoom', filename),)
child = popen2.Popen3((mplayer, '-nosound', '-vo', 'png', '-frames', '8',
'-ss', position, '-zoom', filename), 1, 100)
while(1):
Modified: branches/rel-1/freevo/src/video/plugins/bmovl.py
==============================================================================
--- branches/rel-1/freevo/src/video/plugins/bmovl.py (original)
+++ branches/rel-1/freevo/src/video/plugins/bmovl.py Mon Sep 10 11:36:28 2007
@@ -256,9 +256,9 @@
layer=self.background)
self.y0 = self.clockfont.height + 10
- self.x0 = config.OSD_OVERSCAN_X
- self.height = self.background.height - config.OSD_OVERSCAN_Y - self.y0
- self.width = self.background.width - 2 * config.OSD_OVERSCAN_X
+ self.x0 = config.OSD_OVERSCAN_LEFT
+ self.height = self.background.height - config.OSD_OVERSCAN_BOTTOM -
self.y0
+ self.width = self.background.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)
# draw movie image
f = skin.get_singleton().settings.images['logo']
@@ -266,7 +266,7 @@
if i:
self.background.blit(i, (self.x0, self.y0))
self.x0 += i.get_width() + 10
- self.width = self.background.width - self.x0 -
config.OSD_OVERSCAN_X
+ self.width = self.background.width - self.x0 -
config.OSD_OVERSCAN_RIGHT
title = self.item.name
@@ -371,8 +371,8 @@
"""
if not self.bmovl and self.status == 'playing' and self.height and
self.width:
self.bmovl = OSDbmovl(self.width, self.height)
- self.create_background(0, self.height - self.height / 5 -
config.OSD_OVERSCAN_Y,
- self.width, self.height / 5 +
config.OSD_OVERSCAN_Y)
+ self.create_background(0, self.height - self.height / 5 -
config.OSD_OVERSCAN_BOTTOM,
+ self.width, self.height / 5 +
config.OSD_OVERSCAN_BOTTOM)
if self.osd_visible and self.bmovl:
@@ -383,8 +383,8 @@
(0, 0, self.background.width,
self.clockfont.height + 6))
# new calc the bar
- box = (self.background.width - 2 * config.OSD_OVERSCAN_X) / 4
- x0 = config.OSD_OVERSCAN_X
+ box = (self.background.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)) / 4
+ x0 = config.OSD_OVERSCAN_LEFT
y0 = self.background.pos[1]
mpos = self.background.width - 2 * (x0 + box)
@@ -414,7 +414,7 @@
-1, font, align_v='center',
align_h='center')
self.bmovl.drawstringframed('%s' % self.time2str(end),
- self.background.width -
config.OSD_OVERSCAN_X - box,
+ self.background.width -
config.OSD_OVERSCAN_RIGHT - box,
y0, box, -1, font, align_v='center',
align_h='center')
if update:
@@ -428,7 +428,7 @@
format = time.strftime(format)
- x0 = self.background.width - 2 * config.OSD_OVERSCAN_X
+ x0 = self.background.width -
(config.OSD_OVERSCAN_LEFT+config.OSD_OVERSCAN_RIGHT)
s = font.stringsize(format) * 5
self.bmovl.screenblit(self.background.screen,
Modified: branches/rel-1/freevo/src/video/plugins/mplayer.py
==============================================================================
--- branches/rel-1/freevo/src/video/plugins/mplayer.py (original)
+++ branches/rel-1/freevo/src/video/plugins/mplayer.py Mon Sep 10 11:36:28 2007
@@ -555,9 +555,9 @@
if line.startswith('Connecting to server'):
line = 'Connecting to server'
self.osd.clearscreen(self.osd.COL_BLACK)
- self.osd.drawstringframed(line, config.OSD_OVERSCAN_X+10,
- config.OSD_OVERSCAN_Y+10,
- self.osd.width - 2 *
(config.OSD_OVERSCAN_X+10),
+ self.osd.drawstringframed(line, config.OSD_OVERSCAN_LEFT+10,
+ config.OSD_OVERSCAN_TOP+10,
+ self.osd.width -
(config.OSD_OVERSCAN_LEFT+10 + config.OSD_OVERSCAN_RIGHT+10),
-1, self.osdfont, self.osd.COL_WHITE)
self.osd.update()
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog