[Freevo-devel] VideoGroups too complicated

2004-08-05 Thread Dirk Meyer
Hi,

I found the VideoGroups part in Freevo too complicated. Maybe it's
just me, but maybe we should use a simpler layout. Here a suggestion,
let me know if I missed something:

We have one Channel list. This list has everything we can play. The
tunerfreq will be changed to _how_ to play this:

CHANNEL_LIST = [
   ('ard.de', 'ARD', 'dvb:Das Erste'),
   ('zdf.de', 'ZDF', 'dvb:ZDF'),
   ('vox.de', 'VOX', 'tv:1234'),
   ('rtl.de', 'RTL', 'ivtv:1234'),
   ('', 'My Webcam', 'cam:0') ]

The first two channels are shown by using a dvb backend. Whatever this
is. The 3rd. is analog tv on tuner id 1234, the 4th using the ivtv
backend on tunerid 1234 and the last is a webcam.

Now, how to play this? When Freevo wants to tune to that channel, it
will ask every plugin 'can you show dvb:ZDF?'. The tvtime plugin will
say no, others like mplayer and xine will say yes. The best player
will be taken. About the cam:0, you can set special url handlers for
some player. E.g. TV_MPLAYER_URLS['cam:0'] = 'needed mplayer
args'. Since xine and other don't know about cam:0, they will reject
playing. Mplayer knows and will be taken. 

Is it too simple or could it work?

Dischi

-- 
Warning:  Dates in Calendar are closer than they appear.



---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] cvs status

2004-08-05 Thread Dirk Meyer
Hi,

it's done. Everything I wanted to break is broken now :-)
I checked in the current status I have because I won't be able to do
anything until Monday. Feel free to fix something again. But you
shouldn't touch anything gui related because the internal design will
change once more. 

The recordserver needs an update. I guess it's not working anymore,
but I made some cleanups that needed to be made. Everything for the
recordserver is now in the subdir 'record'. Rob: you can load more
than one plugin from record/plugins now. If someone has some time,
feel free to fix this again.

The TV part is also broken. The tvlisting isn't shown. I moved some
code to the gui but it's not done yet. I will fix this ASAP. As
descussed in a different thread, the VideoGroups are now gone and
replaced by the code in channels.py. Right now only dvb is working,
maybe someone else can extend the code keeping me more time for other
problems. The player also need an update. Only xine with dvb is
working now. Look in the xine code to see how to update a player. BTW,
the epg files are gone, we now use pyepg from the lib dir. But only
channels.py should access this, everything else should access the epg
through channels.py.

I also remove the 'page' code from the menu, it's in the gui code
now. The menu doesn't have to know about how many items fit the page. 



Dischi

-- 
The best things in life aren't things.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: GUI update (please read)

2004-08-06 Thread Dirk Meyer
Gustavo Sverzut Barbieri wrote:
  --- Dirk Meyer [EMAIL PROTECTED] escreveu: 
 Gustavo Sverzut Barbieri wrote:
  I've coded a small animation test in:
 
 WIP/Barbieri/anim-test.py
 
  as freevo it uses a 800x600 screen and move few objects around the
  screen, it _REPAINTS_ the whole screen every time(!!!) and it's
 smooth.
 
 Because your background is very simple. I checked in a modified
 version using a background image from freevo. You see the
 difference. Now think of more images (a.k.a. layers). 
 
 Or a small test you can do. Load two 800x600 images as layer. Put one
 at 0,0, one at 800,0 and than move both images to left.


 Dischi, It's not that bad:

 My timings:
  create-bg:  0
 blit-bg:  1.918 ms  (average)
   blit-obj2:  3.973 ms  (average)
flip:  0.137 ms  (average)
 blit-sr:  0.000 ms  (average)
 blit-sl:  0.548 ms  (average)
  blit-j:  0.000 ms  (average)
  create-obj:  0.0

Make more tests. Create a surface with an alpha channel and blit it to
a non alpha surface (we need this a lot). This is much slower. 

 It's a Pentium4-2Ghz.  

I use 800 MHz which is ok for video playback. I guess it doesn't make
sense to require a higher cpu only for the gui when mplayer can handle
everything with less power. And some people use a mini-itx. It's top
is 1.2 GHz right now.

But the gui redesign will still support pygame. But it would prefer
other backends if they are installed. Why use pygame when imlib2 or
gtkpixbuf support is possible? And one other reason why I don't like
pygame: it has no support for an external main loop. People start to
hate the sleep(0.01) we do in our main loop. They ask, why not use
select? Because I can't get a file descriptor from pygame, I need
active waiting. Very bad.


Dischi

-- 
program, n.:
A magic spell cast over a computer allowing it to turn one's input
into error messages.  tr.v. To engage in a pastime similar to banging
one's head against a wall, but with fewer opportunities for reward.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: cvs status

2004-08-06 Thread Dirk Meyer
Aubin Paul wrote:
 Are we planning on doing an interim 1.5.1 release soon?

Yes. But I spent most of my time for breaking cvs head. There are some
reported bugs in the lists. Maybe I have some free time this weekend
to look at it. I won't have internet access and will only work late
when it's not so hot anymore. But when good friends invite me to some
alcoholwell 'don't drink and code' :-)


Dischi

-- 
Misfortune, n.:
The kind of fortune that never misses.
-- Ambrose Bierce, The Devil's Dictionary


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: DVDCopy plugin released

2004-08-06 Thread Dirk Meyer
Bruno Tavares wrote:
 On Fri, 2004-08-06 at 04:06, Mick wrote:
  Concerning the thread handling in python, I spent a lot of time on it and
  would be happy if I can help you...
 
 Yes, you have done good work, alot of our threading is based on your dvdcopy
 plugin.

 Which reminds me of something: we are currently implementing the ability
 to stop a burning process. 

 I noticed that you have some special methods that freevo is supposed to
 call in order to shutdown a instance of your plugin. Can you please tell
 me which ones are methods with that purpose and in which occasions
 freevo calls them?

You can register to rc and eventhandler called when Freevo shuts
down. Do you want this? See rc.py for details and childapp.py for
example how to use it.

Dischi

-- 
As I said before, I never repeat myself.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo + Bemused

2004-08-06 Thread Dirk Meyer
Tim Otto wrote:
 Hi,

 I modified the bemused daemon to control Freevo instead of XMMS. Until
 now You can only use play, pause stop and next/prev. I used the
 NETWORK_REMOTE interface to send those commands
 (http://home.wolfsburg.de/urichter/bemusedlinuxserver1.73.tar.bz2). Now
 I want to implement all the fancy stuff like title of current song,
 volume, or even the playlist. 
 I need some hints how to get information from freevo, since the
 NETWORK_REMOTE interface only allows me to send commands to freevo.

Maybe you need to write a plugin to communicate with bemused. A plugin
can give you all the data you want.


Dischi

-- 
PEOPLE'S WHOLE LIVES *DO* PASS IN FRONT OF THEIR EYES BEFORE THEY DIE. THE
PROCESS IS CALLED 'LIVING'.
-- (Terry Pratchett, The Last Continent)


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: screen redraw too quickly [maybe bug?]

2004-08-06 Thread Dirk Meyer
Mick wrote:
 Dischi:

 I am writing a DVD burning plugin, as DVD's can take a hell of a long time
 time write I've decided to use OSD_MESSAGE event to writea completioin
 notice to screen.  What I have found is the current code write to screen
 fine, but it is then wiped from scrren really fast.. it looks like main.py
 is calling redraw an extra time.. I need advice on whether this is a bug in
 my code, and how to fix or a bug in freevo..

Sorry for the late answer, still need one? If so, repeat the question
with your current code so I can take a deeper look. 


Dischi

-- 
It might look like I'm doing nothing, but at the cellular level I'm
really quite busy.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo crash on TV GUIDE menu (dxr3)

2004-08-06 Thread Dirk Meyer
Khiraly wrote:
 Hi Mick!

 1.5.0 has been released, please use it then post again.
 
 Mick


 I have downloaded the freevo-1.5.0 stable release to try if it crash or
 not.
 This version is more buggy than the freevo-1.5.0-rc2 version. 
 It crash when I *quit* from a film (so if I shut down mplayer). The 
 previous version  of freevo(1.5-rc2) has crashed only on the TV GUIDE
 menu.

 So here is the two output, the first is the mplayer-quit crash and the
 second is the TV GUIDE crash.
 Mplayer-quit:
 ---
 WARNING: You are using the SDL dxr3 video driver!
 Crash!
 Pygame Parachute Traceback:
 Thread-0x802af6a0
   File /home/lama/programok/freevo-1.5.0/src/plugins/rom_drives.py,
 line 743, in run
 Thread-0x80167c50
   File
 /home/lama/programok/freevo-1.5.0/runtime/lib/python2.3/threading.py,
 line 204, in wait
 Thread-0x80015200
   File /home/lama/programok/freevo-1.5.0/src/osd.py, line 597, in
 clearscreen
 [EMAIL PROTECTED]:~/programok/freevo-1.5.0$ 

That dxr3 related. I hope I can find out more soon. Maybe we use the
osd when it's not ready. I need a dxr3 user to help me here.


Dischi

-- 
I try to write idiot proof code, but they keep making better idiots.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo crash on TV GUIDE menu (dxr3)

2004-08-06 Thread Dirk Meyer
Khiraly wrote:
 Hi!

 Freevo crash on Watch TV-TV GUIDE menu when I use dxr3 video output.
 It works without any problem on my x11 output(never crashed on x11
 output), and it has worked two times in dxr3 but ~30 time crashed when I
 have tried it. 

 I have a window popup(on black screen) that SLECT_MENU has crashed and
 report this problem attached the /tmp/freevo/main-1000.log file too. 
 So I try to report this problem.

 I use runtime version with 1.5.0-rc2 freevo. 
 I attached the /tmp/freevo/main-1000.log file. 

You use the runtime. That's always not so good. And you the dxr3
patch, also a very buggy frontend. First if all, get rid of the
runtime and try again (with the dxr3 patch).

   File /home/lama/programok/freevo-1.5-rc2/src/tv/plugins/mplayer.py, line 175, in 
 Play
 mpl = '--prio=%s %s -vo %s%s -fs %s -slave %s' % args
 TypeError: not enough arguments for format string
 ERROR: Unable to get frequency for channel XX.

That has nothing to do with X or dxr3. Check your recording command
arguments (I don't know which variable right now).

 del self.lru[self.lru.index(key)]
 ValueError: list.index(x): x not in list
 Traceback (most recent call last):
   File /home/lama/programok/freevo-1.5-rc2/src/main.py, line 465, in ?
 app.eventhandler(event)
   File /home/lama/programok/freevo-1.5-rc2/src/gui/AlertBox.py, line 95, in 
 eventhandler
 self.destroy()
   File /home/lama/programok/freevo-1.5-rc2/src/gui/GUIObject.py, line 446, in 
 destroy
 self.parent.refresh()
   File /home/lama/programok/freevo-1.5-rc2/src/menu.py, line 340, in refresh
 return skin.draw(menu.type, menu)
   File /home/lama/programok/freevo-1.5-rc2/src/skins/main/main.py, line 584, in 
 draw
 a.draw(settings, object, menu, style, type, self.force_redraw)
   File /home/lama/programok/freevo-1.5-rc2/src/skins/main/area.py, line 226, in 
 draw
 self.update_content()
   File /home/lama/programok/freevo-1.5-rc2/src/skins/main/tvlisting_area.py, line 
 202, in update_content
 leftarrow = self.loadimage(i.filename, i)
   File /home/lama/programok/freevo-1.5-rc2/src/skins/main/area.py, line 712, in 
 loadimage
 self.imagecache[cname] = cimage
   File /home/lama/programok/freevo-1.5-rc2/src/util/objectcache.py, line 103, in 
 __setitem__

Fixed in 1.5.0 final

 Error: unable to read mmpython version information
 Please update mmpython to the latest release or if you use
 Freevo CVS versions, please also use mmpython CVS.

 Some functions in Freevo may not work or even crash!

please do so. Believe the comment.



Dischi

-- 
.sdrawkcab dootsrednu tub sdrawrof devil si efiL


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: DVDCopy plugin released

2004-08-06 Thread Dirk Meyer
Nicolas Michaux wrote:
 On Friday 06 August 2004 14:56, Dirk Meyer wrote:
 You can register to rc and eventhandler called when Freevo shuts
 down. Do you want this? See rc.py for details and childapp.py for
 example how to use it.

 I found this piece of code in plugin.py in __load_plugin__:
 if hasattr(p, 'shutdown'):
 # register shutdown handler
 rc.register(p.shutdown, True, rc.SHUTDOWN)

 Is it not sufficient to declare a 'shutdown' method in plugin?

Right, I forgot. Yes, you can just do that. What I had in mind was
what plugin.py does: use rc.register. But creating shutdown also
works. BTW, we need more developer docs, I wrote that part of Freevo
and forgot the feature :(


Dischi

-- 
The opinions above are solely those of a 12 year old hacker who has
broken into my account, and not those of my employer or any other
organization.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Thread handling in Freevo

2004-08-06 Thread Dirk Meyer
Some future warning for Freevo 1.6.0:

Nicolas Michaux wrote:
 Thanks for all the time saving in threads coding ;)

 Some notes about thread/child handling in freevo :

 - All childs spawned in a thread must be spawn by the main thread in order to 
 keep control on it (freevo has a workaround by sending an event 
 OS_EVENT_POPEN2 to the main thread in util/popen3.py)

This will be gone. You should _not_ use threads at all. I will
integrate a notifier loop allowing select, timer and stepping. 

[ searching for the correct signature ... ]



Dischi

-- 
A Computer is a state machine.
 Threads are for people who can't program state machines.
  - Alan Cox



---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Thread handling in Freevo

2004-08-06 Thread Dirk Meyer
Mick wrote:
 This will be gone. You should _not_ use threads at all. I will
 integrate a notifier loop allowing select, timer and stepping.

 Yes, well.. I dont'mind being the first ot say that I will need some very
 well documented examples on how *not* to use threading..  Its taken me long
 enough to get to this stage ;-)

 Just to be sure.. we are talking about removing this feature right?

 class main_thread_name(threading.Thread):

Yes and no. You can still use threads, but you shouldn't. You need a
_very_ good reason why. What will removed is the bad hack how to start
processes from threads, that is a very bad hack. 

About not using threads: there will be a doc how to create a plugin
like yours without threads. The cdbackup plugin will be such an
example. What you do is waiting for an event (child dies). Why use a
thread? Better use a callback: call this function if that child
dies. 


Dischi

-- 
I just got lost in thought... It was unfamiliar territory.



---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: GUI update (please read)

2004-08-09 Thread Dirk Meyer
Gustavo Sverzut Barbieri wrote:
 Could we prefer the imlib2 instead of gtkpixbuf? I don't have
 benchmarks, but I feel it's more optimized. 

We will see. At least gtk output is a better way than pygame. imlib2
is only a render engine, no output. 

 And it's more dependency-free.

Freevo will choose the best _working_ backend. If you have pygtk
installed, it may use that one. If not, Freevo will try a different
one. 


Dischi

-- 
A tree never hits an automobile except in self-defence.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: VideoGroups too complicated

2004-08-09 Thread Dirk Meyer
Rob Shortt wrote:
 Ok, so I've been doing some work on recordserver and ivtv_record and
 am running into some pitfalls wrt the lack of VideoGroups.  Sorry to
 do this but I need to bring this up again. :)

No problem, we need to find the best working setup. 

 What we talked about using:

 TV_[DVB|TV|IVTV]_[DEVICE|POST_CMD|PRE_CMD...] ie: TV_DVB_DEVICE =
 ['/dev/dvb']

 CHANNEL_LIST = [
   ('vox.de', 'VOX', ['dvb:VOX', 'tv0:1234', 'tv1:1234'])
 ]
 (Or Hans' suggestion... see below)

 TV_MPLAYER_URLS['tv0'] = '-tv device=/dev/video0:...'
 TV_MPLAYER_URLS['tv1'] = '-tv device=/dev/video1:input=4...'
 TV_MPLAYER_URLS['ivtv0'] = '-cache 8192 /dev/video2'


 We are still missing some fine grained configuration that came from
 video groups, most of that config we don't really need but we need to
 know more about each dvb/tv0/tv1 such as: audio device to capture
 from, are we using tuner, composite, or svideo input, what number said
 input is mapped to on the card, the norm (NTSC/PAL/SECAM), and the
 chanlist (us-cable, etc). 

I only know about dvb and here it is very clean. All stuff for _one_
card is in one directory inside /dev. But from your mail I guess this
is not the case for analog audio. 

 The old VIDEO_GROUPS array is very user unfriendly and the TV_*
 single variable assignment is much cleaner from that perspective.
 On the other hand if we introduce new variables for
 TV_[DVB|TV|IVTV]_[device|input|norm|adevice...] there will be too
 many variables to deal with and even then you also have to consider
 multiple devices of each kind (tv0, tv1, tv2).  We had talked about
 using lists to handle that, which introduces more complexity.

 I've done some more thinking and come up with something in
 between. Inside config.py I would like to introduce a new class:

 class TVSettings:
  
  vdev:The video device, such as /dev/video.
  adev:The audio device, such as /dev/dsp.

What does adev have to do with the tv settings? Aren't this normal
output settings? And what is /dev/video? I guess it is a simple
link. were is the destination?

  input_type:  tuner, composite, svideo, webcam
  input_num:   The number of this input according to V4L
  tuner_norm:  NTSC, PAL, SECAM
  tuner_chanlist:  us-cable,

Problem here: for dvb we don't need this at all. 

 That is much smaller than VideoGroup.  But still, we don't want users
 to have to instantiate this class by themselves in their config!  We
 can do that behind the scenes in config.py or freevo_config.py (please
 bear with me):

 # Accept the defaults for the first regular tv card
 TV_SETTINGS['tv'] = TVSettings()

 # The user may decide to call that tv0 instead, do another for convenience
 TV_SETTINGS['tv0'] = TVSettings()

 TV_SETTINGS['tv1'] = TVSettings()
 TV_SETTINGS['tv1'].vdev = '/dev/video1'
 TV_SETTINGS['tv1'].adev = '/dev/dsp1'

 TV_SETTINGS['tv2'] = TVSettings()
 TV_SETTINGS['tv2'].vdev = '/dev/video2'
 TV_SETTINGS['tv2'].adev = '/dev/dsp2'


 # Accept the defaults for the first ivtv card
 TV_SETTINGS['ivtv'] = TVSettings()
 TV_SETTINGS['ivtv'].adev = None
 TV_SETTINGS['ivtv'].input_num = 4

 # The user may decide to call that ivtv0 instead, do another for convenience
 TV_SETTINGS['ivtv0'] = TVSettings()
 TV_SETTINGS['ivtv0'].adev = None
 TV_SETTINGS['ivtv0'].input_num = 4

 TV_SETTINGS['ivtv1'] = TVSettings()
 TV_SETTINGS['ivtv1'].vdev = '/dev/video1'
 TV_SETTINGS['ivtv1'].adev = None
 TV_SETTINGS['ivtv1'].input_num = 4

 TV_SETTINGS['ivtv2'] = TVSettings()
 TV_SETTINGS['ivtv2'].vdev = '/dev/video2'
 TV_SETTINGS['ivtv2'].adev = None
 TV_SETTINGS['ivtv2'].input_num = 4

 # Accept the defaults for the first DVB card
 TV_SETTINGS['dvb'] = TVSettings()
 TV_SETTINGS['dvb'].vdev = '/dev/dvb/adapter0/dvr0'
 # Or we could use '/dev/dvb/adapter0/' to find each device
 # in that dir.

Or only TV_SETTINGS['dvb'].device = 0. 

 TV_SETTINGS['dvb'].adev = None

This is nonsense. We will never have an adev for dvb. I guess we need
some sort of intelligence here:

TV_SETTINGS['dvb0'] = TVSettings()

This will auto-configure the TVSettings:
- set mode to dvb
- set device to adapter0

So TV_SETTINGS needs to be much more than a simple dict. But the
interface should be like the one you propose.

 TV_SETTINGS['tv0'].vdev = '/dev/video1'
 # Or maybe their second tuner is on video2
 TV_SETTINGS['tv1'].vdev = '/dev/video2'

We can auto-detect this (more or less). Should we support /dev/video1
for tv0? Or do we also prefer /dev/videoX for tvX?

 Actually I'm having a hard time thinking of scenarios where the user
 might need to change something and even then it is easy.  If the user
 needs more than 3 tv cards they should be able to figure out how to
 add 'tv3'.

 Also, I like Hans' suggestion of using DEFAULT_CHANNEL_METHOD =
 ['tv0', 'tv1'] or CHANNEL_METHOD_ALTERNATIVES = {'tv0': 'tv1'} to
 default to one type and to determine that two devices see the same
 channels.

I would prefer the last one.

 I would still like to use 

[Freevo-devel] Re: VideoGroups too complicated

2004-08-09 Thread Dirk Meyer
Rob Shortt wrote:
 Hans Meine wrote:
 On Sunday 08 August 2004 18:58, Rob Shortt wrote:
# Accept the defaults for the first regular tv card
TV_SETTINGS['tv'] = TVSettings()
 If the user may get to see this class name at some point, I would
 suggest a name like TVCard instead of settings, because from a
 user point of view, this is all about settings.  This can be a class
 within the module config, so that it's namespaced
 (i.e. config.TVCard from the rest of the code).

 Yes, they would only need to instantiate it if adding a 4th card and
 when the class is defined in config.py then it is in the same
 namespece as where they'd use it (local_conf.py / freevo_config.py).
 Also, tv0 and tv1 don't need to be on seperate cards, one could be for
 using the tuner, the other for svideo.

Is it possible to do some auto-detection here?

for X in /dev/dvb/adapter[0-9] TV_SETTINGS['dvbX'] = DVBSettings(X)

That's all. Next the CHANNELS_CONF:

c = [part of CHANNELS_CONF] = ('art.de', 'ARD', 'ARD')

if c[2] is string and there is dvb card:
  c = ('art.de', 'ARD', 'dvb:ARD')

if c[2] not endswith number:
  if there is card0 for dvb:
 c = ('art.de', 'ARD', 'dvb0:ARD')


Dischi

-- 
A man generally has two reasons for doing a thing. One that sounds
good, and a real one.


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo 1.5 Bugreport

2004-08-09 Thread Dirk Meyer
Matthieu Weber wrote:
 As promised, I tried Freev 1.5 last week end, and I found a couple of
 bugs. I don't send any patches since the corrections are either trivial
 or too difficult for me (the skin code is quite hard for me to
 understand, and it's not because I haven't tried).

 video.mplayer plugin: autodetection fails (when the first line of output 
 from MPlayer does not contain the Version, data is set to null by
 the regexp, and the loop stops, instead of continuing with the
 second line of output)

Thanks, fixed.

 MPlayer::stop() fails if self.plugins doesn't exist

Fixed

 plugin.command: file header says commands.py instead of command.py

Fixed

 TV guide: Display key doesn't change the display to more info, less
   listing, at least in the Noia skin.

I'm not sure this feature is working with all skins, but IIRC it
should work with Noia. Oops, no, no skin defines a second area so
DISPLAY does nothing. 

   Title of the show not shown in Noia skin. A Subtitle_Area is
   created with the proper content, but never displayed. I've
   tried to find why, with no success :(

The height wasn't enough to display the text. Fixed now.

 startup: if LC_ALL is set to en_US.iso88591, freevo crashes at startup
  (encoding iso88591 doesn't exist). I don't know what the best
  policy would be in this case: let the user fix the value of
  LC_ALL, use a default value, or guess a proper value.

Fixed by testing the encoding before using. Not perfect, but working. 



Dischi

-- 
Beat me, whip me, make me use Windows!


---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: GUI update (please read)

2004-08-09 Thread Dirk Meyer
Jason Tackaberry wrote:
 On Mon, 2004-08-09 at 15:22 -0300, Gustavo Sverzut Barbieri wrote:
 Let's turn this into E, let's use evas! :) It's supposed to be the fast
 thing around, and it'll be the first to use new Xserver features, like
 the Xcb.

 I evaluated evas for MeBox some time ago.  It's great if you're using
 X11, but since MeBox needs to run on bmovl2, it wouldn't work at all,
 AFAICT.  So if you want to use bmovl2, evas isn't going to help much.

Same for framebuffer. The fb support was the main reason for me to
choose freevo over mythtv.


Dischi

-- 
I intend to live forever - so far, so good.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-10 Thread Dirk Meyer
Bruno Tavares wrote:
 I've two questions:

 first; and i know Dischi don't like threads, is it possible to patch
 utils.popen3.Popen4 to make it launch all the childs under a group
 process id.
 This because, since Popen4 launches the command using sh, you loose
 control of all the child processes of the shell.

It uses sh if you send the command as string. If you give the args as
list, no sh is used.

 second, when i started to devel the cd_burn plugin i noticed that
 mmpython crashes when analysing a blank disc in the drive.
 Can it be fixed?

I thought I made it working some time ago. But I saw a patch for this
some days ago, I will add it to mmpython.


Dischi

-- 
Linux: the operating system with a CLUE...
Command Line User Environment - Fortune


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [PATCH] web server EPG speedup and other misc fixes

2004-08-10 Thread Dirk Meyer
Aubin Paul wrote:
 Hi,

 I'm applying this patch to the HEAD branch, but I've also added it to
 my personal installation and the results are impressive. I'm going to
 applying this patch to 1.5.x versions of the Debian package going
 forward.

 I can't add it to the 1.5 branch unless Dischi approves though...

I don't use the web server, so you can decide if you want to add it to
1.5.1 or not.


Dischi

-- 
In a world of freedom, why do some people use windows and gates?


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-11 Thread Dirk Meyer
Bruno Tavares wrote:
 On Tue, 2004-08-10 at 15:44, Dirk Meyer wrote:

 Bad hack:
 command = 'foo bar something'
 popen3(command.split(' '))
 
 Better: (because filenames can conatin spaces)
 command = [ 'my_prog', 'param1', 'a param with spaces' ]
 popen3(command)
 

 Got it, thanks.
 Still wont solve the childs of childs problem :)

What do you need from Freevo for that?


Dischi

-- 
Life is a sexually transmitted disease.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo 1.5

2004-08-11 Thread Dirk Meyer
Aubin Paul wrote:
 I think there will need to be a 1.5.1 bugfix release since we've made
 a bunch of small fixes since the release, and I wasted a lot of time
 backporting if there isn't going to be one ;)

There will be. 1.6 won't be out for a long time. I guess 1.5.1 will be
released in about one or two weeks.

 On Tue, Aug 10, 2004 at 09:29:00AM +0300, Matthieu Weber wrote:
 On Mon 09.08.2004 at 04:44:33PM +0200, Dirk Meyer wrote:
   TV guide: Display key doesn't change the display to more info, less
 listing, at least in the Noia skin.
  
  I'm not sure this feature is working with all skins, but IIRC it
  should work with Noia. Oops, no, no skin defines a second area so
  DISPLAY does nothing. 
 
 Is it possible to re-implment this feature? I use it quite often in my
 freevo 1.4 box.

You mean delete the info area and show the grid fullscreen?


Dischi

-- 
Software is like sex: it's better when it's free., Linus Torvalds


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-11 Thread Dirk Meyer
Mick wrote:
 Check out tv/generic_record.py for an example on how to send events (not
 sure I understand it, but it sends them..

Bad example because the recordserver works different. You can use
rc.post_event for sending events (grep the source for it). But you
still need someone catching it and do something.


Dischi

-- 
I just got lost in thought... It was unfamiliar territory.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Freevo 1.5

2004-08-11 Thread Dirk Meyer
Matthieu Weber wrote:
 No, on the contrary, make the grid smaller and the info area larger, in
 order to display more lines of info text. 

OK, both version were in the history of Freevo so I didn't know want
you wanted. 

 Noia.fxd defines a tv menu
 menuset and a tv menu more info menuset. The info area of the
 more info version is higher than the other one. I guessed that the
 DISPLAY key was switching the display from tv menu to tv menu more
 info.

Yes and no. noia is only a child of info.fxd. There is the code for
switching. It has two styles in tv, but they are not active in the
skin. I can't remeber why I deactivated it. 

 I just noticed however that the listing has no height argument. How
 does it know how high it should be? 

The hight is in info.fxd.


Dischi

-- 
Hard work never killed anyone, but why give it a chance?


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-11 Thread Dirk Meyer
Bruno Tavares wrote:
 On Wed, 2004-08-11 at 09:20, Dirk Meyer wrote:

 
 What do you need from Freevo for that?
 

 Not sure if i understand the question? what do i need to add to freevo
 to solve this?
 is that the question?

No, what is the problem you have now? You have full control over the
child.

Dischi

-- 
My mind not only wanders, sometimes it leaves completely.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-11 Thread Dirk Meyer
Mick wrote:
 Bad example because the recordserver works different. You can use
 rc.post_event for sending events (grep the source for it). But you
 still need someone catching it and do something.

 Almost off topic.. But can an event be posted with a variable?  Like can
 CAPTURE_START / STOP event be sent with content like filename/pid/chanel etc
 of capture?  I think it wouldmake sense..

An event is an Object from event.Event. This can have an arg, e.g.
foo = Event('EVENT_NAME', arg=2)

If you compare events with events (or with strings), the arg is
ignored. So you can

if foo == 'EVENT_NAME':
   print foo.arg


Dischi

-- 
Disclaimer: the above is the author's personal opinion and is not the
opinion or policy of his employer or of the little green men that have
been following him all day.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-11 Thread Dirk Meyer
Bruno Tavares wrote:
 On Wed, 2004-08-11 at 02:34, Mick wrote:

 We should be able to do this by sending burn start and stop events, and
 modifying the plugin that handles that image to also diaply something
 when a burn is active..

 Ok, do you know what is the plugin that manages/handles the cd image?

It's in plugins/idlebar/__init__.py. The plugin is called something
with cd.


Dischi

-- 
In the beginning, there was nothing. And God said, 'Let there be
Light.' And there was still nothing, but you could see a bit better.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: GUI update (please read)

2004-08-12 Thread Dirk Meyer
Dan Sully wrote:
 * Hans Meine [EMAIL PROTECTED] shaped the electrons to say...

 Maybe having MPlayer/bmovl2 as an output backend would be nice in
 Freevo, too. I suspect animated backgrounds (like in DVD menus) to
 be easy to implement then, too. (Ignoring the CPU load for now -
 actually I don't want my fan to whirl just because of eye-candy, as
 it inevitably does with Freevo's audio visualization plug-in
 already.)

 Please keep in mind, that some of us have gone out of our way explictly to
 not use mplayer as part of our Freevo setup. It'd be a real shame if freevo
 absolutely depended on mplayer.

There will be some features from mebox ported to Freevo. To give you a
small list:

o bmovl2 support
o old bmovl support (for unpatched mplayer)
o pygame, bmovl2 or imlib2 as basic output, maybe also special output
  from gtk and fb
o If your system doesn't support bmovl2, Freevo will just use
  something different.
o still support for different player: mplayer _and_ xine


We won't reduce the feature set, we will expand it.



Dischi

-- 
As far as we know, our computer has never had an undetected error.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: GUI update (please read)

2004-08-12 Thread Dirk Meyer
Jason Tackaberry wrote:
 On Thu, 2004-08-12 at 12:21 -0400, Chris Griffiths wrote:
 If the bmovl2 output works how I think it'll work (menus, movies etc.
 will play all from within one instance of mplayer), then it'll get rid
 of the TV-out resets that happen everytime a new DirectFB app takes over
 the display :)

 This is how MeBox works, but I don't think it's how Freevo will work.

 With MeBox, when no movie is playing, it just loads a black.avi and
 pauses it.  So you're always in MPlayer.  But with Freevo I think when
 MPlayer is finished it will exit and fall back to whatever your non-
 bmovl2 display is.

 Maybe not, Dischi will know. :)

As a first step, yes. But later, we could provide a bmovl2 only
output. I have a lot of strange ideas in my head, let's see how many
can be done. :-)


Dischi

P.S.: Hint: mplayer G2 may not be dead yet and will have have a much
  cleaner api

-- 
Real Men don't make backups.  They upload it via ftp and let the world
mirror it.
-- Linus Torvalds


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-15 Thread Dirk Meyer
Bruno Tavares wrote:
 On Wed, 2004-08-11 at 14:10, Dirk Meyer wrote:

 
 No, what is the problem you have now? You have full control over the
 child.
 Currently none, just think ahead. It's probable that a child spawns a
 child and with the current code you loose control of that.
 Since it doesn't break anything i think that is good to patch it as soon
 as possible.
 Why wait for the problem to happen?

But how should Freevo be able to control a child of a child? 


Dischi

-- 
Freedom of speech is wonderful - right up there with the freedom not to
listen.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: utils.popen3 and mmpython

2004-08-16 Thread Dirk Meyer
Bruno Tavares wrote:
 Mick wrote:

But how should Freevo be able to control a child of a child?


 Freevo just has to worry on killing all the spwaned childs and it's
 sub-childs. Since most of  the helper processes do not notify anything
 about spwaning sub-childs the only way i see to make this work is to
 assign a process group to all your spawned helper-childs.
 When you send a SIG_WHATEVER to the process group, all the processes
 in that group(including (sub)+-childs) receive it.
 It's full-proof and it eliminates unexpected behaviours from the helpers.

Now you got me. What are process groups? My knowledge says: when a
child dies, the kernel sends SIGCHILD to the parent. The parent than
should 'wait' for it to remove the zombie process. If a process dies,
all children are now children of process 1 (init). So how can you get
information when a child of your child dies? Only your child gets
this. 

I wish I knew.. This could more easily be broken into how can any python
know the pid of a child of a child.

How can any process know of a child pid of a child (without searching
the process structure in /proc)?

I've been searching through python docs and mailing lists and I can't find a
solution to this.  Any ideas are welcome.. The fact is any child of a child
which does not die when the child is sent SIGTERM is a badley progmramed
child, and should be punished ;-).~

 No it's not :) There are plenty of justifiable reasons for this to
 happen. And of course, this should not be punished, the child should
 be spwaned having in mind that it MIGHT spwan a subchild.

But if the child dies, the parent of the subchild is init. Since you
don't know about the subchild, you don't get termination
notification. 


Dischi

-- 
As long as there are ill-defined goals, bizarre bugs, and unrealistic 
schedules, there will be Real Programmers willing to jump in and Solve 
The Problem, saving the documentation for later.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Wiki abuse

2004-08-16 Thread Dirk Meyer
Rob Shortt wrote:
 Can we PLEASE limit the Wiki usage to registered SF users (is that's
 possible).  This is getting rediculous.

They use scripts, so do I. I just removed the lastest added links. The
script is in the web dir:

cd /home/groups/f/fr/freevo/htdocs
python fixwiki.py '[http://www.plazaerotica.com/manga/ manga] ' 
python fixwiki.py '[http://www.pureteenz.com/Aria-Giovanni/ Aria Giovanni] ' 

and gone. Since it changes the text data, you don't get a mail about
this changes. If you run the script, make sure to add a space at the
end (they always add a space).

But on the long term, is there a wiki outside with registration? A
simple login would be ok. Or a wiki with history so admins get a mail,
press a link and the chnage is gone? And does someone has some free
time to set the wiki up for us?


Dischi

-- 
None of the ideas expressed above are actually mine. They are told to
me by Luthor and Ferdinand, the five inch tall space aliens who live
under my desk. In return for these ideas, I have given them permission
to eat any dust bunnies they may find under there.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Wiki abuse

2004-08-16 Thread Dirk Meyer
Aubin Paul wrote:
 I believe that mediawiki (the engine used by wikipedia) has registered
 user/admin/approval, etc. so it might be an idea to switch to that.
 I'm fairly sure sourceforge supports PHP and MySQL.

 If no one can do it, I could look into doing it this weekend.

That would be great. The moinmoin version we use also contains bugs
fixed in newer versions. But even with a better wiki, we needs more
people writing docs.


Dischi

P.S.: To those how know I'm on a two day meeting without internet
  connection -- DSL is here and someone has an access point :-)

-- 
Microsoft is not the answer. Microsoft is the question. 'No' is the answer!


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Thread handling in Freevo

2004-08-20 Thread Dirk Meyer
Mick wrote:
 Nicolas,

 I am having issues that i cannot follow with threads atm.  All my childs are
 hanging, they appear defunct in 'ps aux'

IIRC, defunct means that the child is dead, but the parent hasn't
'wait'ed for the return value. On exit, a process is reduced to it's
exit value and will remain a defunct process until the parent calls
wait. Or if the parent dies, too, than init will wait and this will
happen at once. 

 Did you experience this?  Once they are defunct I can only kill
 them with a reboot..

Kill the parent, that should help.


Dischi

-- 
My opinion is neither copyrighted nor trademarked, and it's price
competitive. If you like, I'll trade for one of yours.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] GUI update (again)

2004-08-22 Thread Dirk Meyer
Hi,

I included Jasons mevas and pyimlib2 into Freevo to get a better
backend for the drawing stuff. I just checked in the new version, I
hope it's working.

Why mevas? This lib can handle canvas like I wanted for a long
time. You can remove obejts, fade them in and out, move around the
screen, etc. And it's very fast. For that speed you need pyimlib2,
it's in lib/pyimlib2. Install current imlib2 and call 'make' in that
dir. Mevas also provides different outputs. Right now, Freevo uses
pygame output for the menu and bmovl for mplayer. Other outputs are
imlib2 window (not finished), bmovl2 (not working) and tvtime (not
integrated, I don't have an analog tv card). 

There are many 'FIXME's in the code, I will fix this later. Also there
are some animations were they don't belong -- it's a test right
now. For full screen animation, try the image viewer. 

Now we can put Freevo back together, all deactivated plugins must be
touched to make them work again. 

That's it for today, I hope you like it.


Dischi

-- 
According to my calculations the problem doesn't exist.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: New Idea

2004-08-24 Thread Dirk Meyer
Richard van Paasen wrote:
 I only have a 1 sec delay when switching chanels (20 in total) . One
 could cache the channels and update them while the matrix is being
 shown (old pictures in greyscale, updated in full color) but hey, that
 are implementation details.

 The guide can of course be designed in many different ways, I'm just
 suggesting a different way to display a view on the tv guide.

BTW, I don't like the current tv guide. Too much information in many
small boxes. If anyone has a new idea, please post. I can create that
guide, but I need ideas from you.


Dischi

-- 
FATAL ERROR! SYSTEM HALTED! - Press any key to do nothing...


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [Freevo-cvslog] freevo/lib/pyimlib2 setup.py,1.2,1.3

2004-08-25 Thread Dirk Meyer
Rob Shortt wrote:
 Jason Tackaberry wrote:
 On Mon, 2004-08-23 at 01:39 +, Rob Shortt wrote:

Check /usr/local/include/SDL for includes.
 This isn't actually The Right Way.  We should be using sdl-config.


 Of course. :)

Done, same for imlib2-config. The setup.py also fails now if imlib2 is
too old. 


Dischi

-- 
C++: The power, elegance and simplicity of a hand grenade. (Kenneth C. Dyke)


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: New Idea

2004-08-25 Thread Dirk Meyer
Richard van Paasen wrote:
 Another idea for the textual version of the tv guide is to restrict
 the information on one page to either one channel or one
 time-box. Browsing through the tv guide pages (either channels or
 time boxes) then can be done with the left/right keys on the
 remote. Walking through rows on a page with up/down.

 E.g. (channel mode):

 Channel 1
 08.00   program 1
 08.10   program 2
 09.00   program 3
 10.30   program 4
 18.00   program 5
 ...

 E.g. (time-box mode):

 Programs running at 08.05:
 Channel 1   Program w
 Channel 2   Program x
 Channel 3   Program y
 Channel 4   Program z
 ...

 The tv-guide should be able to toggle between time-box and
 channels mode. This way more space (i.e. the total width of the
 screen) is available for a tv guide entry. Time-box mode could step by
 5 minutes or so when pressing the left/right (pageing) key.

 Hope this description is clear enough, mail me otherwise!

I just had a similar idea. Why not two types of tv guides. We use the
tv guide for two reasons: watching tv now and recording. Both have
different needs:

Watching now: I want to know what's up at this time on all
channels. This is the time boxed mode from above. It is similar to the
current guide but you can't select a program, you select a channel. If
you select a program in 3 minutes, you still get the channel and the
program starts in 3 minutes. So selecting channels is the logic here. 

Record: I know the channel, so a simple listing area is want we want
here. Everyone who tried to record a program the day after tomorrow
knows that the current guide can't handle this well. 

Now we only need a way to switch between the two ways. 

Comments requested before I do this.

Dischi

-- 
Bills travel through the mail at twice the speed of checks.


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: VDR

2004-08-25 Thread Dirk Meyer
Stéphane Lavirotte wrote:
 Hi,

 During last month, I saw some emails about using VDR with freevo. I know there
 is a vdr plugin added to freevo's addons, but I still have some problems with
 the vdr's xine plugin.

 So, if possible, I would like to have an overview of the different solutions
 used by all people using vdr inside freevo.

I'm still thinking of the best way to include better dvb support in
Freevo. Maybe vdr, maybe not. Right now, everything is a hack and not
more. 


Dischi

-- 
A good programmer is someone who looks both ways before crossing a
one-way street. - Doug Linder


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] cvs status update and design questions

2004-08-28 Thread Dirk Meyer
Hi,

here is cvs status update what I have done the last week. The good
news: the basic stuff is working right now and ready for some
testing. Please try to report bugs, but do not install Freevo for
daily use. Before testing, you need to call 'make' in the lib/pyimlib2
dir. 

Images: the image directory is working again. Nothing is on my todo
list here. The only thing not working is the gphoto plugin. I only
have a mass storage device camera, so I don't use gphoto. Can someone
please fix this? Please send me a note if you are willing to help. 

Audio: the audio player is also working, but most plugins are not. The
next thing I want to fix is the detach plugin and the detachbar. And
the mplayervis plugin is completly broken, someone has to fix this. I
heard you want to go to libvisual, this sounds great. Keep in mind
that we don't use pygame anymore so you need to render in an imlib2
image. Contact me if you have questions about the integration. And
feel free to fix a plugin in the audio dir.

Video: basic video watching also works. Like audio, most plugins are
deactivated and need smaller updates. The bmovl support is now inside
mplayer. If you use a software scaler for mplayer (scale+expand), you
can see this. When you seek, you see a small bmovl seek indication,
pressing DISPLAY gives you a nice information box.

Games: the games stuff needed some osd.py code. Since this is gone,
this part is deactivated. I have no games and no intention to install
some. If someone has some free time, please fix this. 

Idlebar: most plugisn don't work, only two: logo and clock. But it's
not that hard to reactivate them. Please do if you like. 

Popupbox: most boxes are broken. I'm still thinking of a good
design. We need some sort of layoutmanager for mevas here. Every help
is welcome. If Freevo crashes for things I wrote it's working, maybe
it's because of the boxes. 

TV: the tv stuff is broken. But the guide should work. The guide is
very slow right now, it has not been optimized. And you can press
ENTER on a program to get a channel listing. But you can neither watch
or record now. IIRC Rob is fixing the recordserver right now.

Recordserver: broken, Rob is on it.

Webserver: don't know, I guess it's also broken, let's wait until Rob
updated the recordserver. 


Now I have some design / skin questions: if you seek in mplayer or
press DISPLAY, what do you want to see? How should it look like? I
will code this, but I need cool ideas. Maybe someone can use Gimp to
create a fake screenshot how it should look like? Also when you press
ENTER on the TV guide, how should the channel list look like? Ideas
please. 

And last but not least: we need more output devices. Since we are not
independed from pygame, we don't need sdl hacks for the dxr3
anymore. The mevas interface gives you an imlib2 image, maybe someone
can write an output plugin for that. Most the work is coding in C. If
you want to help with any output plugin, please conatct me or Jason
(in IRC he has the nickname Tack). We need the following output
plugins: 

- xine: xine has an internal image to display above the video. We need
  a simple plugin to get our display image to xine.
- dxr3: maybe an interface to render the image to mpeg and display it
  on the dxr3
- dvb: the same as dxr3 for full featured dvb cards
- mga: a mga_vid.o interface would also be very cool.
- fb: basic framebuffer support without pygame
- imlib2: the imlib2 output support needs some code to handle X events
  to redraw and to handle pressed keys. This requires hacking some
  basic X stuff in pyimlib2/display.c
- directfb: glue between pydfb and mevas.


Again: I need help here, I can't and won't do that all by
myself. Please contact me if you are willing to help on some part
here. 


Dischi

-- 
The Web isn't better than sex, but sliced bread is in serious trouble.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: IMAGE_ITEMS Bug???

2004-08-28 Thread Dirk Meyer
Aleksey Sudakov wrote:
 Hello,

 I want my Main Image menu to have nothing but a CD-rom icon, so images could
 only be viewed from a CD-ROM. So I set IMAGE_ITEMS=None, like in default
 config. Now I am getting Root and Home added to Main Image items. I tried to
 fool freevo by setting IMAGE_ITEMS=[], still the same Root and Home items.
 Finally, I figured a way of getting rid of them by setting IMAGE_ITEMS=['']
 but I have a dead '' item in my Main Image menu.

 Is it a bug, oh what am I missing? How do I make Main Image Menu have just
 cdrom icon?

It's a bug. If you set None, Freevo will autoselect the files. But on
[] you should see nothing. It's fixed in cvs and will be in 1.5.1

Dischi

-- 
printk(; corrupted filesystem mounted read/write - your computer 
will explode within 20 seconds ... but you wanted it so!\n);
2.4.3 linux/fs/hpfs/super.c


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Finnish translation

2004-08-28 Thread Dirk Meyer
Petri Damstén wrote:
 Hi,

 Updated Finnish po file.

Sorry for the late answer. Thanks, in cvs for 1.5.1

Dischi
-- 
Ever notice how fast Windows runs?  Neither did I...


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47alloc_id808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [crash] discinfo.py on blank media..

2004-08-28 Thread Dirk Meyer
Mick wrote:
 I've been seeing a regular crash.. doesn't seem to crash freevo but maybe it
 should be wrapped up in a try except?  I think its just when one inserts
 blank media..

 Exception in thread Thread-2:
 Traceback (most recent call last):
   File /usr/lib/python2.3/threading.py, line 436, in __bootstrap
 self.run()
   File /usr/lib/python2.3/site-packages/freevo/plugins/rom_drives.py, line
 785, in run
 self.check_all()
   File /usr/lib/python2.3/site-packages/freevo/plugins/rom_drives.py, line
 745, in check_all
 self.identify(media)
   File /usr/lib/python2.3/site-packages/freevo/plugins/rom_drives.py, line
 495, in identify
 disc_info = util.mediainfo.disc_info(media)
   File /usr/lib/python2.3/site-packages/freevo/util/mediainfo.py, line
 616, in disc_info
 type, id  = cdrom_disc_id(media.devicename)
   File /usr/lib/python2.3/site-packages/mmpython/disc/discinfo.py, line
 226, in cdrom_disc_id
 disc_type = cdrom_disc_status(device, handle_mix=handle_mix)
   File /usr/lib/python2.3/site-packages/mmpython/disc/discinfo.py, line
 195, in cdrom_disc_status
   fd = open(device, 'rb')
 IOError: [Errno 123] No medium found: '/dev/cdroms/cdrom0'

 Its a bit trivial for a patch, but at line 195 i would change:
 fd = open(device, 'rb')
 to be this:
 try:
 fd = open(device, 'rb')
 except IOError:
 # cannot open media (probably blank or shot disc)
 return 3

Thanks. Late, but in cvs now.


Dischi

-- 
Trust no one - umask 777


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: cvs status update and design questions

2004-08-29 Thread Dirk Meyer
Gustavo Sverzut Barbieri wrote:
  --- Dirk Meyer [EMAIL PROTECTED] escreveu: 
 Audio: the audio player is also working, but most plugins are not.
 The
 next thing I want to fix is the detach plugin and the detachbar. And
 the mplayervis plugin is completly broken, someone has to fix this. I
 heard you want to go to libvisual, this sounds great. Keep in mind
 that we don't use pygame anymore so you need to render in an imlib2
 image. Contact me if you have questions about the integration. And
 feel free to fix a plugin in the audio dir.

 Note about visualization stuff. at least my point of view.

 We should go with LibVisual, it rocks! It support the same mpav
 supports and even more, it's not tied to any output, we can get it the
 way we want. At this time, xmms and amarok are supported, I hope freevo
 is next ;)

 What have to be done is Python wrapper to access the C code, I have no
 experience with this... someone told me about PyRex and I'll try, but
 I'll wait a little more until the API is more stable.

 If someone has experience with C - Python api, contact-me.

I have some. You can look at the ifoparser in mmpython. Or ask Jason,
he has experience in this with pyimlib2 and also knows imlib2 what you
will need to display.

 Popupbox: most boxes are broken. I'm still thinking of a good
 design. We need some sort of layoutmanager for mevas here. Every help
 is welcome. If Freevo crashes for things I wrote it's working, maybe
 it's because of the boxes. 

 I'm not aware of the current problems... could you open another topic
 and point them?

How to loyout the content? The old layoutmager? Or a new one with a
different logic? Either way, the old one is not working because now
the objects are CanvasObjects from mevas and the layoutmager needs to
be fixed. Anyone?

 TV: the tv stuff is broken. But the guide should work. The guide is
 very slow right now, it has not been optimized. And you can press
 ENTER on a program to get a channel listing. But you can neither
 watch or record now. IIRC Rob is fixing the recordserver right now.

 Why it's slow?

Because it's only a quick port from the old area code to the mevas
support. Right now it redraws everything on every event. That's bad,
but it's also a nice test to see Jasons speed up ideas for mevas when
he's done. 

 Also, how the guide will be? The 2-style thing was discussed before or
 the old-bloated we have?

 I'm for the 2-style (or more) guide and have some ideas to colorize
 items. We should mark past programs in another color, rank most viewed
 (need stats) and mark to be recorded/favorites/groups...

Right now, it is two style. You see the guide and press ENTER to go
into channel view. But still, I need more examples how you want to
look it like. What should it do and what keypress? Fire up gimp and
give me ideas.

 Webserver: don't know, I guess it's also broken, let's wait until Rob
 updated the recordserver. 

 Is it broken?

 Well, I looked at it a long time ago, but it was a pure hack (see
 optimizations done by Tack, to fix some hacks). We should instead use
 some page templates to separate the control from the view.  But I don't
 think I'll go in this area since I don't use it and it's boring to do
 the conversion (although easy).

Rob and I broke the channel design. The webserver itself may be
working, but I don't know about the epg. All tv/egp* files are gone
now so this may be a problem. 

 I have a bunch of ideas and I'll play with gimp as soon as I go home
 (monday).

Cool! Even people withot programming skills, send pics!



Dischi

-- 
Voodoo Programming:  Things programmers do that they know shouldn't work but
they try anyway, and which sometimes actually work, such as recompiling
everything.
-- Karl Lehenbauer


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: cvs status update and design questions

2004-09-01 Thread Dirk Meyer
Gustavo Sverzut Barbieri wrote:
  If someone has experience with C - Python api, contact-me.
 
 I have some. You can look at the ifoparser in mmpython. Or ask Jason,
 he has experience in this with pyimlib2 and also knows imlib2 what
 you will need to display.

 Ok. From what I looked it's not difficult, although boring.
 But if you want to help :)

If you need help, I will. If not, my todo list is long enough. 

 How to loyout the content? The old layoutmager? Or a new one with a
 different logic? Either way, the old one is not working because now
 the objects are CanvasObjects from mevas and the layoutmager needs to
 be fixed. Anyone?

 We could build a new layout manager, and use only something elastic,
 like gtk/qt. But we should discuss that in another thread.

OK, I hope we get a result from a new thread. I have the feeling that
all the mail discussions die after a few mails without result. See the
tv guide thread. What is the result of that? 

 Redraw everything... hum, I remember freevo performance when we did
 that... But I hope it's easy to fix.

Yes, but I don't want to right now. It's a great test to try to speed
up mevas or other parts of freevo. I will fix that later.

  I have a bunch of ideas and I'll play with gimp as soon as I go
 home
  (monday).
 
 Cool! Even people withot programming skills, send pics!

 Sure! Come on people!

Yes, come on. No pics, no new features. I code, but you need to send
ideas. 


Dischi

-- 
Take care to get what you like, otherwise you will be forced to like
what you get.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [Freevo-cvslog] freevo/src/gui/displays ivtv_osd.py,1.1,1.2

2004-09-02 Thread Dirk Meyer
Rob Shortt wrote:
 Update of /cvsroot/freevo/freevo/src/gui/displays
 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6823/gui/displays

 Modified Files:
   ivtv_osd.py 
 Log Message:

Why do you call it ivtv_osd? It's in the dirsplay directory, so it is
a display. And osd  when I read of an osd, I'm thinking of
something drawing small messages on the screen. That's why osd.py is
gone now and tiny_osd.py will be renamed to osd.py some day. 

   IvtvCanvas.__init__(self, size)
   self.running = True
 + # TODO: someone please see if we can do animations here.
   self.animation_possible = False

Just start Freevo and see if the fade animation is fast enough. Or
better: use the image viewer and go to the next image. You can tell
based on the effect if animation is possible or not. 


Dischi

-- 
perl -le '$_=(split(\,`$^Xdoc -q japh`))[1]..;y/pj/PJ/;print'


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [Freevo-cvslog] freevo/src main.py,1.142,1.143

2004-09-02 Thread Dirk Meyer
Rob Shortt wrote:
 Update of /cvsroot/freevo/freevo/src
 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7964/src

 Modified Files:
   main.py 
 Log Message:
 Only import pygame is config.OSD_DISPLAY is 'SDL'.
[...]
   
 + if config.OSD_DISPLAY == 'SDL':
 + import pygame
 + 

That doesn't work. It may sound stupid, but we need pygame.locals for
the key bindings. Without it, some additional key settings will crash
Freevo. We need to do more thinking how to do that. It's a basic need
to map keycodes to real characters.


Dischi

-- 
If you explain so clearly that nobody can misunderstand, somebody will.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: further removing pygame dependency

2004-09-02 Thread Dirk Meyer
Rob Shortt wrote:
 In src/eveny.py we do import pygame.locals as key and setup
 DEFAULT_KEYMAP as a dictionary keyed by lots of key.* members.  Inside
 freevo_config.py we do KEYMAP = DEFAULT_KEYMAP and access this
 elsewhere as config.KEYMAP.

 I would like to remove the pygame reference from src/event.py and
 therefore rearrange where DEFAULT_KEYMAP and KEYMAP are defined.  In
 rc.py there is a class for attaching keyboard callbacks but I don't
 think that is a good spot for it either.  The only other pygame code
 is in src/gui/ but that is for display right?  Well, the keyboard
 callback for pygame is actually attached there.

 I don't really know what should be done here.  Dischi, perhaps you
 already have plans for this?

No, I'm not sure were the keyboard stuff could go. We need pygame only
to get the keycode mappings. Not very good. Other backends like ivtv
or bmovl2 don't even have keyboard support. 

Right now, the keyboard ocde in rc.py is only a dummy and should be
moved to a different position. It should be the following code: when
you activate a display engine like pygame, it should be able to send
inputs like keys to the eventhandler. Other displays may do the same,
other don't do it (because they don't support keyboards). 

The big questions here: were to define the keymap? We could define the
keymap inside sdl.py, but if pydfb also supports keyboard input, you
need to define the map twice. But if we add pygame.locals to event
and/or main, we get into problems. I have no idea for a good solution
to solve this. Also it should be possible for the user in his
local_conf.py to redefine keyboard control. Maybe define a key code
table of our own?

 -Make a src/input/ directory and abstract the input sources there,
 similar to how src/gui/displays abstracts the display.

 -Make all input come from plugins: input_pygame, input_lirc,
 input_evdev, input_mouse (lol), input_pydfb, input_kb (direct kb
 interface without pygame perhaps).


Don't know, the keyboard control is bound to the display. You couldn't
use pygame keyboard + ivtv display or dfb keyboard + pygame.

 -just move the pygame input into the sdl display module, if you're not
 using pygame then input will come from a plugin (evdev, lirc, etc),
 ie: still use other plugins for input.

Each display can provide an input.


Dischi

-- 
2 + 2 = 5  for sufficiently large values of 2.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: cvs status update and design questions

2004-09-02 Thread Dirk Meyer
Mick wrote:
 Maybe if you called it a brainsotrmyou might get more info? ;-)

 Now I have some design / skin questions: if you seek in mplayer or
 press DISPLAY, what do you want to see? How should it look like? I
 will code this, but I need cool ideas. Maybe someone can use Gimp to
 create a fake screenshot how it should look like? Also when you press
 ENTER on the TV guide, how should the channel list look like? Ideas
 please.

 What options can we have?  I really have no idea..  I like the look of
 Jasons canvas stuff..  But you are talking about overlay stuff right?
 Content of the video file and such?  IMHO i don't need anything more than:
 a) where I am in the video (length slider)
 b) maybe show current time?  This would helpme get to bed ontime..
 c) what i'm doing icon.. ie play pause etc.
 d) maybe the idelbar?

How should it look like? That's the big question. Give me a cool
design and I code it. 

 really, for me, whne watching movies, I want to see the movie..

That's the main reason :-)

 Are these the ypes of ideas your after?

Yes, but only with a fake screenshot or so. 

 I don't know C, but the mga_vid would be cool for me.  I failed miserable
 when trying to get directfb running..

me too

Dischi

-- 
Microsoft is to operating systems  security 
   what McDonalds is to gourmet cooking


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: cvs status update and design questions

2004-09-05 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Hi!

Hi

 Seems like you guys have been pretty busy this summer. Good work!

You're back, cool!

 Audio: the audio player is also working, but most plugins are not. The
 next thing I want to fix is the detach plugin and the detachbar. And
 the mplayervis plugin is completly broken, someone has to fix this. I
 heard you want to go to libvisual, this sounds great. Keep in mind
 that we don't use pygame anymore so you need to render in an imlib2
 image. Contact me if you have questions about the integration. And
 feel free to fix a plugin in the audio dir.

 I've already started working on a new detached player view. There is a bug
 when trying to detach, the screen is dimmed to black and focus is still on
 the player for one more event. 

You can regsiter to a screen change like the idlebar to get
information about if a dim animation is running. 

 It also exits when the currently playing song finishes. With the new
 Application code I'm uncertain on how to fix this, but I'll take a
 look.

The new code should make it easier. Again, you can register to
application changes. By that, you get an event that the audio player
is gone and you see that music is still running. 

 What I would like for the new detached player view, is a dedicated
 placeholder defined by the skin, which could be hidden when a
 fullscreen app like the imageviewer takes control over the screen.

Take a look at the idlebar. The new event gives you also notification
if the new starting app wants to be fullscreen (video, image) or not
(menu, audio). 

 The problem with this is that it might take up valuable screen space
 when it's not in use. Any good ideas?  Maybe use the zindex to draw
 it in the bg somewhere - but where to put it so it doesn't get
 obfuscated by text or images drawn above it?

I was thinking about using the idlebar. Since you fixed the plugins
(Thanks BTW, I will add it to cvs when I fixed some stuff here), you
know a plugin returns the width it uses. So when no music is playing,
return 0 (you don't draw), when music starts, force an update of the
idlebar, return your needed width and than you can update the audio
status without calling a global idlebar update (just change your gui
objects and call update() for the display). 

 Further, I would like to have some dedicated events for controlling
 the detached player - so one could control it with remotes that has
 own buttons for this. It should be pretty easy to do, but I would
 like to do it more proper than my last hackish attempt to do it. Any
 pointers?

Bad hack: add events for it. The user can set the events to
buttons. Or you can just create one event and popup a box with the
next choices. Maybe we need more-than-one-key events (like
Emacs). Such as pressing 1 1 makes event x, 1 2 event y. In terms of
code: button 1 chnages the key context for the next button (with a
timeout). 

 I'm also interested in trying to get libvisual working. But as my
 C-skills leaves much to be desired, don't expect too much (
 eg. pygoom :). I'm also pretty busy with school, so I don't know if
 I'll ever get the time.

 As for the mplayervis, I don't see much point in fixing pygoom when
 libvisual seems to be a much more appropriate solution for the next
 release anyway.

libvisual should draw into a imlib2 image. Than call update(). 

Dischi

-- 
Warning:  Dates in Calendar are closer than they appear.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Runtime error after FreeBSD Freevo installation

2004-09-06 Thread Dirk Meyer
Gert van der Plas wrote:
 Dear Freevo developpers,


 Freevo looks cool. Installing under FreeBSD seems to go ok. Al Python
 dependancies mentioned in the dependancies
 webpage are available and installation goes OK.  After configuration
 the following error occurs after starting freevo:

 ---
./freevo
 Can't find all Python dependencies:
 No module named utils

 Not all requirements of Freevo are installed on your system.
 Please check the INSTALL file for more informations.


 

 Any suggestions, what is missing/going wrong?

Sounds like python xml bindings. 


Dischi

-- 
Ignore reality. There's nothing you can do about it. - Natalie
Imbruglia


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] switching to pynotifier and pymbus

2004-09-06 Thread Dirk Meyer
Hi,

some already know because I told it on IRC, but here the official
request for discussion:

I don't like twisted. Why? It's a huge monster, including not only
stuff we need like xmlrpc and a web server but also stuff we don't
need and a main loop that is too complex. I saw in the code that it
waits for dead children not started by any part of twisted .. Hey,
that are my children, don't touch them! The next problem is, that we
have one xmlrpc server in the recordserver. But when the schedule
changes, Freevo has to ask the recordserver for a new schedule, the
recordserver can't send it to Freevo because a) freevo has no xmlrpc
port and b) if you have more than one freevo, how should the server
know that? And we need a way to send stuff to Freevo, like the
webserver may want to say 'start this audio playlist please'. 

A solution to all this (and more): we use pymbus. Mbus is a protcol
for host or link local communication. As the name says, it's a bus. So
every programm on the bus can get the messages (you can also send a
message directly). For detailed information, please look at
http://www.mbus.org. A brief summary:

o mbus is secure, it uses encryption on the bus. 
o mbus is plain ascii (after decrypted), so every app with the key can
  read it very easy and apps like mspy can be used for debugging and
  apps like mbussh can be used to send commands to an app
o you get notice when an app joins / leaves the bus
o you can define names for apps so you understand what they do
o you have events _and_ client server rpc communiaction. 
o Bindings for C/C++/Perl/Python

Example:
Freevo starts, joins the bus and ask: 
Freevo: I need recording informations. Anyone here can provide them?

Case a: recordserver is running:
RS: sure, I'm a recordserver, I can record dvb and analog. Here is my
current schedule.
Case b: no recordserver, Freevo still has no schedule and will never
aks again. When the recordserver starts:
RS: Hi, I'm a recordserver, here is my schedule.

Freevo knows there is a recordserver with the name RS on the bus and
the user wants to schedule something.
Freevo-RS (unicast): RS, please record xy
RS no everyone: my schedule changes: here is a new schedule
RS-Freevo: done!

Next is the webserver knowing that Freevo is running:
WS-Freevo: please play playlist xy

You have an isdn watcher and a new call comes in. It doesn't know
about Freevo at all:
ISDN: in case someone wants to know this: the telephone is rinning.
A special Freevo plugin notice that and mutes the background audio
playback.

And we can also remove the bad hacked network interface, you can send
events directly to Freevo:
app-Freevo: Button 'DISPLAY' is pressed
or
app-Freevo: Event(OSD_MESSAGE, arg='hi')

That's what mbus can do, and much more. Read the rfc on mbus if you
want to know more. The second lib pynotifier is a simple (!) main
loop. The author of pynotifier and the current maintainer of pymbus
(also using Freevo) also has a simple webserver and non blocking http
client. 


So, there is no need for twisted, mbus is the future[1]. And the
author of pynotifier will include pynotifier in Freevo when he has a
free weekend. 

Comments? Someone with a good argument against it?



Dischi


Footnotes: 
[1]  I better say it before you find out yourself: mbus was developed
 at the UCL in London and the University of Bremen. I also work at
 the University in Bremen and mbus was developed in our working
 group. 

-- 
Atheism: A non-prophet organization.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: switching to pynotifier and pymbus

2004-09-07 Thread Dirk Meyer
Rob Shortt wrote:
 I want to know more.  I will go read...

The pymbus release on www.mbus.org is outdated, you can get the
current version at http://www.tzi.de/~crunchy/download


Dischi

-- 
Paranoid Club meeting this Friday.  Now ... just try to find out where!


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: switching to pynotifier and pymbus

2004-09-07 Thread Dirk Meyer
Mick wrote:
 does mbus run over IP? ie, I think it would be a treat to be able to
 have recordserver run on a PC anf freevo gui on an xbox or somethign
 along those lines..  I don't think this will work right now, but if mbux
 has the potential to support this then its a step in the right
 direction..

Sure, IP multicast.


Dischi

-- 
Real_men_don't_need_spacebars.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: switching to pynotifier and pymbus

2004-09-08 Thread Dirk Meyer
Bruno Tavares wrote:
 snip
 And we can also remove the bad hacked network interface, you can send
 events directly to Freevo:
 app-Freevo: Button 'DISPLAY' is pressed
 or
 app-Freevo: Event(OSD_MESSAGE, arg='hi')

 Erms.. not so sure about this.. do you really want to introduce the
 communication overhead for this kind of events?
 Mbus sounds great to communicate with external helper, but it seems a
 little bit inefficient to spread all kind of events to OSD or from
 critical helpers such as mplayer.
 But i don't know, some benchmarking should speak for itself.

Yes, it is a bad example. I was thinking about the bad hacked remote
gui for Freevo. But I guess we won't need that anymore. Or does anyone
use this? For the Event() stuff, yes, it also makes no sense because
the app doesn't know the context Freevo is it. It should only
demonstrate that apps can display a message. But better commands will
be 

freevo.message(hi)
freevo.play(/path/to/file)


Dischi

-- 
The three R's of Microsoft support: Retry, Reboot, Reinstall.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Detached audioplayer view

2004-09-08 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Ok!

 A little update. I added a global event for TOGGLE_CONTROL, a deamonplugin
 which listens to this event and toggles between different active ControlBar
 plugins. The ControlBar plugins again grabs focus if they are shown, and the
 user can browse through different choices. Each choice is bound to a handler 
 which is run when the user presses INPUT_ENTER.

 Is this an acceptable approach? Any more uses for this than the detached
 player? Better ideas?

 Screenshot:
  - http://foo.katatonic.org/freevo/detached_control.jpg

Sweet, that is a very good idea. Maybe we can also use this stuff for
other inputs. Aubin once wanted a small bar showing options in the
image viewer (rotate, start/stop slideshow...). This looks like a very
cool features for other parts of Freevo. You could register/unregister
a control in eventhandler.py and a button toggles these by doing:

1) show it (set visible in the CanvasContainer)
2) set self.context to it

And toggle should toggle through all registered controls and than back
to the normal, the focused app. Maybe toggle is intelligent: if a
used used a control, the next toggle will go back to no controls. 

 PS! It's not quite finished yet, but it's basicly working.

Again: _very_ cool


Dischi

-- 
Love is Hate. War is Peace. Windows is stable.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Detached audioplayer view

2004-09-08 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Right now it shows a coverimage, scrollable songinfo and elapsed time.
 - http://foo.katatonic.org/freevo/detached1.jpg

braindump
What about creating a mix between a text widget and an animation class
to have scrollable text? What about displaying the time in the first
row and the second row toggles all 5 secs between Album/Artist/Song? 
/braindump

Dischi

-- 
I just got lost in thought... It was unfamiliar territory.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [PATCH] Idlebar plugins reactivated

2004-09-08 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Hi!

 Attached is a diff against cvs re-activating most idlebarplugins. Hopefully I
 didn't destroy any :)

I hope, too. I checked it in without testing :)

BTW, what about using an extra file for each plugin? I guess it would
look much cleaner and having all the code in __init__.py is very bad. 


Dischi

-- 
Warning:  Dates in Calendar are closer than they appear.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [BUG] on the topic of sqllite support..

2004-09-13 Thread Dirk Meyer
Mick wrote:
 I've had it enable for a while, then today I tried to play my first audio cd
 since for ever..

 When starting the second track, i get this, and it crashes freevo everytime.

 Traceback (most recent call last):
   File /usr/lib/python2.3/site-packages/freevo/main.py, line 492, in ?
 MainTread().run()
   File /usr/lib/python2.3/site-packages/freevo/main.py, line 352, in run
 self.eventhandler(rc.get_event(True))
   File /usr/lib/python2.3/site-packages/freevo/main.py, line 304, in
 eventhandler
 if p.eventhandler(event=event):
   File /usr/lib/python2.3/site-packages/freevo/audio/plugins/logger.py,
 line 76, in eventhandler
 self.log_track(event.arg)
   File /usr/lib/python2.3/site-packages/freevo/audio/plugins/logger.py,
 line 61, in log_track
 query = 'UPDATE music SET play_count=play_count+1,last_play=%f WHERE \
   File /usr/lib/python2.3/posixpath.py, line 119, in dirname
 return split(p)[0]
   File /usr/lib/python2.3/posixpath.py, line 77, in split
 i = p.rfind('/') + 1
 AttributeError: 'NoneType' object has no attribute 'rfind'

 Any tips on whats going on?

Wild guess without checking the code: the logger wants to add the
filename to the database. Since a cd has no file, filename is None. 


Dischi

-- 
I started out with nothing... I still have most of it.


---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [PATCH] Idlebar plugins reactivated

2004-09-14 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Done, all IdleBarPlugins are now seperated into files.

Thanks, in cvs


Dischi
-- 
Time is a drug.  Too much of it kills you.
  -- in Small Gods (Terry Pratchett)


---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: mmpython question...

2004-09-14 Thread Dirk Meyer
Aubin Paul wrote:
 What is the purpose of this (from mediainfo.py)

 def correct_data(self):
 
 correct trackof to be two digest
 
 if self['trackof']:
 try:
 if int(self['trackno'])  9:
 self['trackno'] = '%s' % int(self['trackno'])
 except:
 pass

 I understand that it (erroneously) adds a zero to digits 1-8 (not 9), but why would 
 we do this anyway? 

First of all, I guess 1-8 is a bug, 1-9 sounds better to me. Second: I
don't see any 0 adding in the ocde, but IIRC that's what it should
do. 

 For sorting, we can add a zero - and we do in freevo itself - , but
 I don't know if we should be changing what is reported.

IIRC it was also for the gui to display. When all track numbers have
two digests, I may look better. But maybe I also wrote it becuase of
the sorting, I can't remeber.


Dischi

-- 
I intend to live forever - so far, so good.


---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: Ideas for next major release wanted: Example Survey

2004-09-15 Thread Dirk Meyer
Fons van der Beek wrote:
 If the developpers of freevo are intrested in activating phpsurveyor
 on their website i can provide them of assistance and of course the
 survey it self.

That would be great. We could learn more about our users needs
here. Maybe add a free text field: what is missing in Freevo? 

 I am also willing to maintain it.

Even better. When can you start?

 As stated, it's quick and dirty implementation of a survey, not all
 questions are complete, because i am not a native english speaker
 and it's a quick and dirty implementation, it needs some serious
 shaping.

It would be great if a native English speaker could check the
stuff. Since I'm from Germany, I'm out of question for this. 



Dischi

-- 
Disclaimer: the above is the author's personal opinion and is not the
opinion or policy of his employer or of the little green men that have
been following him all day.


---
This SF.Net email is sponsored by: thawte's Crypto Challenge Vl
Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam
Camcorder. More prizes in the weekly Lunch Hour Challenge.
Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] Re: [PATCH] Detached player

2004-09-15 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Hi!

Hi

 Attached is a patch for a new detached player. 

This looks so cool. But we need to define a default key button (not
only keyboard) for the control box. 

 It's mostly finished but it has a serious bug which I can't seem to
 find the reason for. I get Fatal python error: Deallocating None
 in my DetachbarAnimation after it's been running for a while. This
 might be a mevas error for all I know, so I don't want to spend any
 more time pulling my hair over this.

Define 'after a while'. I works ok here. Maybe it depends on the text
you draw?

 self.itemcanvas.set_image(gui.Text(elapsed, (0,0), size, self.elapsed_font))

I may understand it here because you replace the image. 

 self.canvas.image.clear()
 self.canvas.draw_image(obj, src_pos=srcpos)

But here? Very strange. I hope Tack will be back again soon to have a
look why this happens. It looks like a bug in pyimlib2.

 Am I doing something horribly wrong here?

No, looks good.

 About the changes:
 - Removed detachbar.py
 - Merged new detachbar with detach.py (detachbar is shown based on a plugin
   activation argument). It no longer shows up in the menu, instead it utilizes
   the new controlmanager.

Good. I changed some stuff in the eventhandler so that you don't need
to show() the menuw. By calling p.hide(), the eventhandler know sees
that no application has the focus and set the focus to the last
application below p.

 - Added a new class ControlManager for managing different controls.
   The class basicly listens to TOGGLE_CONTROL events and shows/hides
   the registered controls. (better naming for this class?)

Nice, very nice. Maybe not use the osd for displaying the text but
draw it just below the control box? And handling it as popup box is
exactly the way to go.

 - Added ButtonPanel as an example for use with the ControlManager, this is
   also the one I use to create the audio detached control. It's not pretty,
   but I didn't have any good ideas for how it should look.

Some problem here.

In CVS in 5 minutes, thanks again.

Dischi

-- 
I think there's a world market for about five computers.
-- attr. Thomas J. Watson (Chairman of the Board, IBM), 1943


pgpIoDJXaFsm4.pgp
Description: PGP signature


[Freevo-devel] Re: [PATCH] Detached player

2004-09-15 Thread Dirk Meyer
Dirk Meyer wrote:
 Viggo Fredriksen wrote:
 Hi!

 Hi

 Attached is a patch for a new detached player. 

 This looks so cool. But we need to define a default key button (not
 only keyboard) for the control box. 

 It's mostly finished but it has a serious bug which I can't seem to
 find the reason for. I get Fatal python error: Deallocating None
 in my DetachbarAnimation after it's been running for a while. This
 might be a mevas error for all I know, so I don't want to spend any
 more time pulling my hair over this.

One bug: after the playlist is done, you don't remove the idlebar
plugin. 

And something irritating: When you show the control, I _see_ a stop
button, but can't press it becuase you don't understand that event
(it's not mapped). Maybe define an extra keymap for each buttonbar,
too? Or each button?


Dischi

-- 
printk(What? oldfid != cii-c_fid. Call 911.\n);
2.4.3 linux/fs/coda/cnode.c


pgpT14mSA7aL0.pgp
Description: PGP signature


[Freevo-devel] Re: Ideas for next major release wanted: Example Survey

2004-09-15 Thread Dirk Meyer
Fons van der Beek wrote:
 Fons van der Beek wrote:
  If the developpers of freevo are intrested in activating phpsurveyor
  on their website i can provide them of assistance and of course the
  survey it self.

 That would be great. We could learn more about our users needs
 here. Maybe add a free text field: what is missing in Freevo?
 I am also willing to maintain it.

  Even better. When can you start?

 How about now?

Good.

 I will have a working survey by next Tuesday or so.a native
 English speaker could check then all text.

Native speakers, please help us here!

 -free text is possible, no prob

 -Just name additional questions for the survey, i am certain that
 the example survey is not complete.

Can someone please take a look at it? I'm very busy with work right
now. Rob? 

 -I will modify the layout to one that will match the main freevo
 site (of course I am a little bit tied to php surveyeor-layout).

That's ok. 

 some additional questions:
 Do you want this survey completely open? or just for the registred users?
 -registred mode: By tokens users can be invited to fill out the forms.

Not registered. I guess we have more results if not. 

 Should the survey be anomynous or named?
 -The latter one has the advantage of asking users specific
 questions concerning their input: e.g. when developping something
 and it needs to be tested on specific configurations adirect link
 can be made (when the user agrees)

Can we have both. Optional a mail adress with the text: fill this out
for feedback please. But not filling it out will be ok, too. 

 Questions interfering with privacy will have an option for skipping.

Yes.

 After a few weeks a second (allmost the same) survey will be made
 public to anyone on the internet for gathering more common
 information.

OK

 Allthough i can run the software on my system (load isn't an issue),
 but the best would be to run everything on the main site where
 Freevo is hosted (common php4 and mysql is sufficient).  The
 survey and it's layout can easily be uploaded to any site an
 administrator should install phpsurveyor.  Is it possible and
 desired to run it on the main site?

main site will be ok. Send me your sf user name (in private) and I
will give you permissions. 

 Personal remark: A survey can be very usefull for an inventory of
 users whishes BUT it is not ment to tie developers up in just the
 users wishes, developers are developing for fun and innovation. It's
 always good to keep that in mind.  It's a tool, not a roadmap..

Yes. People need to start writing plugins or most feature wishes won't
be made. I have limited time and I only add the stuff I need or is
easy to do. But maybe someone has a nice idea.


Dischi

-- 
Today Is A Good Day For Someone Else To Die!
-- (Terry Pratchett, Feet of Clay)



pgp3RWJ3bTjYS.pgp
Description: PGP signature


[Freevo-devel] Re: [PATCH] Detached player

2004-09-15 Thread Dirk Meyer
Dirk Meyer wrote:
 Dirk Meyer wrote:
 Viggo Fredriksen wrote:
 Hi!

 Hi

 Attached is a patch for a new detached player. 

 This looks so cool. But we need to define a default key button (not
 only keyboard) for the control box. 

 It's mostly finished but it has a serious bug which I can't seem to
 find the reason for. I get Fatal python error: Deallocating None
 in my DetachbarAnimation after it's been running for a while. This
 might be a mevas error for all I know, so I don't want to spend any
 more time pulling my hair over this.

 One bug: after the playlist is done, you don't remove the idlebar
 plugin. 

OK, fixed. You registered to the PLAY_STOP event but that doesn't add
the item as argument. I fixed it by checking the player in the
animation. BTW, registering to PLAY_STOP had a bad side-effect. Your
plugin got all PLAY_STOP and nothing else worked. Now, a registered
eventhandler must return True if he used it, if not, it goes the
normal eventhandler chain.

BTW, can you send a patch to respect the coding guidelines? Before you
ask: they are only in my haed for now :-). You respected most of my
guidelines, only small things:

o please do not use more than 80 chars in a line
o every function needs a doc string
o the header of a file needs a doc what this file does
o more internal docs (# comments) what you are doing here

Check the image viewer for a good example. I know, writing docs suck,
but we need better development docs.

Dischi

-- 
Monday is an awful way to spend 1/7th of your life.


pgpjYqAi3faTK.pgp
Description: PGP signature


[Freevo-devel] Re: mmpython question...

2004-09-15 Thread Dirk Meyer
Aubin Paul wrote:
  For sorting, we can add a zero - and we do in freevo itself - , but
  I don't know if we should be changing what is reported.
 
 IIRC it was also for the gui to display. When all track numbers have
 two digests, I may look better. But maybe I also wrote it becuase of
 the sorting, I can't remeber.

 Either it should be in Freevo rather than mmpython; mmpython should
 parse data, so put it into a display format as that should be the goal
 of an application, not a metadata parser, in my opinion...

Feel free to fix it everywere. BTW, that  9 bug should explain your
strange sorting problem.


Dischi

-- 
My mind not only wanders, sometimes it leaves completely.


pgpmrKYJAf9R8.pgp
Description: PGP signature


[Freevo-devel] New Makefile (please read)

2004-09-15 Thread Dirk Meyer
Hi,

just a short notice: to use cvs, please run 'make' in the Freevo root
directory. More later.


Dischi

-- 
Q: Why do programmers always get Christmas and Halloween mixed up?
A: Because DEC 25 = OCT 31



pgpCh2uSxlR4M.pgp
Description: PGP signature


[Freevo-devel] Re: switching to pynotifier and pymbus

2004-09-15 Thread Dirk Meyer
Hans Meine wrote:
 As I said, my main concern is security here (who will audit the Freevo 
 webserver?), but probably this can be secured on a network-level (either no 
 access from outside at all, or hidden with strange ports or - even better - 
 some portknocking techniques).

portknocking is not application specific, it's iptables stuff. And I
plan to add https.


Dischi

-- 
As far as we know, our computer has never had an undetected error.


pgpWJqLqSHdUu.pgp
Description: PGP signature


[Freevo-devel] Re: [PATCH] Detached player

2004-09-17 Thread Dirk Meyer
Viggo Fredriksen wrote:
 On Wednesday 15 September 2004 21:18, Dirk Meyer wrote:

 Define 'after a while'. I works ok here. Maybe it depends on the text
 you draw?


 For me it happens after 15-20 minutes. Try setting high fps on the animation,
 and it will happen even quicker.

I will try. 

 The OSD_MESSAGE was a last minute thing as I thought the buttons needed
 some more explanation than just the image. I'll see if I can find a better
 way to display it.

Maybe add two text fields above to buttons. The first showing the name
of the control (Audioplayer), the second the current button. Aubin:
since you are our designer, any suggestions how this should look like? 

 And something irritating: When you show the control, I _see_ a stop
 button, but can't press it becuase you don't understand that event
 (it's not mapped). Maybe define an extra keymap for each buttonbar,
 too? Or each button?

 Hmm, what do you mean? Pressing the stop button works just fine here.
 Or are you saying we sould listen to other events such as the STOP
 button mapped on the remote/keyboard?

Yes, I mean the stop button on my remote. Or 's' in keyboard mode. 

 BTW, can you send a patch to respect the coding guidelines? Before you
 ask: they are only in my haed for now :-). You respected most of my
 guidelines, only small things:
 
 o please do not use more than 80 chars in a line
 o every function needs a doc string
 o the header of a file needs a doc what this file does
 o more internal docs (# comments) what you are doing here

 Check the image viewer for a good example. I know, writing docs suck,
 but we need better development docs.

 I'll try to document better in the future. I have an exam monday, I doubt I
 have the time to fix anything before that.

Good luck.


Dischi

-- 
Bills travel through the mail at twice the speed of checks.


pgptoG9ixVAVB.pgp
Description: PGP signature


[Freevo-devel] recordserver bugfix question

2004-09-17 Thread Dirk Meyer
Hi,

I just made two fixes to the recordserver I want you to prove read
before I check it in. I don't know the code very well. 

1. I have a favorite at 8:55 p.m. every day. It's a small thing. When
   I want to record something important from 8 p.m. to let's say 10
   p.m., I need to remove the favorite. But I can't, every time I run
   the tv_grab helper (crontab), it gets re-inserted. That bug can't
   be fixed in 1.5.1, it would break too much. But I had a better
   idea: right now we check: if something is running, kill it, start
   new recording. Now I guess: if something is running and something
   new comes up, check favorite. If the new one is a favorite and the
   running is not, the running wins because the user added it, not a
   script. The favorite will not kill the running, it will be
   ignored. Comments on that please.

2. The second is a very bad bug: I can't have a favorite at every
   Sunday (or every other day != ANY), it will not be updated. I use
   Freevo, not the webserver to set the favorite. After some digging I
   found the problem: When comparing prog with favorite, the day looks
   equal on debug, but one time it's an int, the other is a
   string. int(5) != str(5). You can't imagine how cranky co-workers
   can when they can't record 'Bernd das Brot' :)


Please verify my bug patch. Since 2 it's a bad problem and 1 makes me
crasy, I guess we should schedule a 1.5.2 release.


Dischi

*** recordserver.py.cvs	Fri Sep 17 21:51:47 2004
--- recordserver.py	Fri Sep 17 21:50:43 2004
***
*** 421,426 
--- 421,433 
  # Hey, something is already recording!
  if prog.start - 10 = now:
  # our new recording should start no later than now!
+ # check if the new prog is a favorite and the current running is
+ # not. If so, the user manually added something, we guess it
+ # has a higher priority.
+ if self.isProgAFavorite(prog)[0] and \
+not self.isProgAFavorite(currently_recording)[0]:
+ _debug_('ignore %s' % String(prog))
+ continue
  sr.removeProgram(currently_recording, 
   tv_util.getKey(currently_recording))
  plugin.getbyname('RECORD').Stop()
***
*** 608,615 
  if prog.title == fav.title:
  if fav.channel == tv_util.get_chan_displayname(prog.channel_id) \
 or fav.channel == 'ANY':
! if fav.dow == dow or fav.dow == 'ANY':
! if fav.mod == min_of_day or fav.mod == 'ANY':
  return (TRUE, fav.name)
  elif abs(int(fav.mod) - int(min_of_day)) = 8:
  return (TRUE, fav.name)
--- 615,623 
  if prog.title == fav.title:
  if fav.channel == tv_util.get_chan_displayname(prog.channel_id) \
 or fav.channel == 'ANY':
! if Unicode(fav.dow) == Unicode(dow) or Unicode(fav.dow) == u'ANY':
! if Unicode(fav.mod) == Unicode(min_of_day) or \
!Unicode(fav.mod) == u'ANY':
  return (TRUE, fav.name)
  elif abs(int(fav.mod) - int(min_of_day)) = 8:
  return (TRUE, fav.name)
 
-- 
I think there's a world market for about five computers.
-- attr. Thomas J. Watson (Chairman of the Board, IBM), 1943



pgp5WstHD0pFJ.pgp
Description: PGP signature


[Freevo-devel] Re: Interaction between LCD plugin and imageviewer

2004-09-23 Thread Dirk Meyer
Gustavo Barbieri wrote:
 On my side (lcd plugin) I don't know... since my last change was a
 long time ago, I don't think it was messed.

I guess we need more debug information. I don't know the lcd code,
when is it triggered. Even if you didn't change the lcd code, I
changed the image viewer and maybe now your plugins is triggered on
every loop. One problem: does the lcd plugin has a poll function which
is called every 0.01 seconds? But IIRC the animation code in 1.5.x
doesn't call the plugin in that case.


Dischi

-- 
Bad spellers of the world Untie!


pgpP75oB7IVyh.pgp
Description: PGP signature


[Freevo-devel] Re: PATCH: nvram-wakeup integration

2004-09-23 Thread Dirk Meyer
Hans Meine wrote:
 On Tuesday 21 September 2004 16:33, Mick wrote:
  I really like this feature also but sadly it didn't make it into
  CVS. Although

 I too would like this to be worked on a little deeper...

 The last patch I sent to the list works perfectly well for me.
 What's missing is mostly (as I wrote at that time) that Freevo shuts down the 
 machine after the recording (of course only if it has not been touched by a 
 human user since it started automatically; basically a plugin which listens 
 to all user events and sets a flag i_have_been_touched would be 
 sufficient).

 Another thing I could improve (but not before next friday / October) is the 
 message that appears if you press shutdown during a recording: The next 
 recording will start in -47 minutes. Are you sure... ;-)

Please send the patch again. Sometimes a patch / bug reports gets
lost. 


Dischi

-- 
A man generally has two reasons for doing a thing. One that sounds
good, and a real one.


pgpIqrCD6zOg9.pgp
Description: PGP signature


[Freevo-devel] Re: Interaction between LCD plugin and imageviewer

2004-09-24 Thread Dirk Meyer
Gustavo Barbieri wrote:
 On Thu, 23 Sep 2004 19:49:28 +0200, Dirk Meyer [EMAIL PROTECTED] wrote:
 Gustavo Barbieri wrote:
  On my side (lcd plugin) I don't know... since my last change was a
  long time ago, I don't think it was messed.
 
 I guess we need more debug information. I don't know the lcd code,
 when is it triggered. Even if you didn't change the lcd code, I
 changed the image viewer and maybe now your plugins is triggered on
 every loop. One problem: does the lcd plugin has a poll function which
 is called every 0.01 seconds? But IIRC the animation code in 1.5.x
 doesn't call the plugin in that case.

 I don't remember about the code, but a quick look at it shows:
self.poll_interval = 10

 is this value in ms?

Close, in 10 ms. Sound stupid and will be removed in cvs head with the
pynotifier integration. Right now, poll intervall is the intervall for
the sleep done by Freevo. The sleep is 0.01 secs, so poll_interval=10
is 0.1 secs.

Just as a warning for cvs head: later it will be ms (as it should be)



Dischi

-- 
Thunder rolled. ... It rolled a six.
-- (Terry Pratchett, Guards! Guards!)


pgpaEVu4p38Ea.pgp
Description: PGP signature


[Freevo-devel] Re: Bug in lcd.py

2004-10-13 Thread Dirk Meyer
Gustavo Barbieri wrote:
 LCD is not the buggy software, but videoitem.

 aspect, which should be a str/unicode is actually a float, Dischi,
 did you changed mmpython or something like that?

Oops, yes. I added aspect support for avi files and that is an int. I
will fix that.


Dischi

-- 
Calm down -- it's only ones and zeroes.


pgpGfZevo1r9l.pgp
Description: PGP signature


[Freevo-devel] Re: Libvisual for Freevo

2004-10-01 Thread Dirk Meyer
Viggo Fredriksen wrote:
 That's doable, but how do I get pyimlib2/mevas to recognize this imlib2 image.
 As far as I know pyimlib2 doesn't have a C-api which I can use
 directly? 

No, Tack didn't thought we might need to use that. So it's not that
easy. I guess the way to go is either create the api you need or just
add a function to pyimlib2 to return the pointer of the image
memory -- but thta it evil. 

 I thought the imlib2 image needed to be of type Image_PyObject (from
 pyimlib2) before it's usable inside freevo. I guess I'm missing some
 point here, please guide me to the right path.

 Atleast I'm finally learning some more C - haven't had time to play with
 it for a while :)

I know C and Python, but I have little knowledge of the
Python-C-API. But looking at image.h in pyimlib2 there is

| typedef struct {
|   PyObject_HEAD
|   Imlib_Image *image;
| } Image_PyObject;
| 
| extern PyTypeObject Image_PyObject_Type;

Do you need more? With the you can get to the Imlib_Image inside the
python wrapper:

/---[ untested code ]
| include imlib2.h
|
| PyObject *update_animation(PyObject *self, PyObject *args)
|   Image_PyObject *src;
|   DATA32* data;
|   
|   if (!PyArg_ParseTuple(args, O!, Image_PyObject_Type, src))
|  /* handle exception here */
|   
|   imlib_context_set_image(src-image);
|   data = imlib_image_get_data()
|   /* change the current image data */
|   imlib_image_put_back_data(data);
|
|   Py_INCREF(Py_None);
|   return Py_None;

More doc on imlib_image_get_data and imlib_image_put_back_data:
http://atmos.org/docs/imlib2/imlib2_8c.html#a83
http://atmos.org/docs/imlib2/imlib2_8c.html#a85


Dischi

-- 
When someone says, 'do you want my opinion?' - have you noticed that
it's always a negative one.


pgpEEMVa7WCvE.pgp
Description: PGP signature


[Freevo-devel] Re: Interaction between LCD plugin and imageviewer

2004-10-01 Thread Dirk Meyer
Gustavo Barbieri wrote:
 but one thing I still miss: should I recode this plugin or not?

no, the plugin can be updated to the new style when cvs is ready for
it. 


Dischi

-- 
The sum of society's intelligence is less than the average of it's
individual parts.


pgpkA0rIrBc3P.pgp
Description: PGP signature


[Freevo-devel] Re: Libvisual for Freevo

2004-10-01 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Thanks for the tips.

 I did some quick code tests, but didn't quite get it to work. I ended up
 having some unresolved symbols during runtime. It needs some sort of link 
 to pyimlib2, which I am not certain on how to set up for python modules.

Maybe you need to link against imlib2 since you are using it. 

 I'm going away for the weekend, so I won't be able to do more at this time. I 
 hope to have more time next week, but it's uncertain (tons of school-projects
 and some hard decisions for my upcoming master thesis).

If you find the time, keep in mind if you only change the image, you
need to set the dirty flag for mevas or the image won't get an
update. 

 If someone wants to solve/test it, I attached a patch against cvs.

I would love to, but

mplayervis.py (161): Detected MPlayer 'export' audio filter! Using libvisual.
libvisual CRITICAL: no progname: visual_actor_new [(lv_actor.c,276)]: the plugin list 
is NULL
libvisual CRITICAL: no progname: visual_actor_realize [(lv_actor.c,301)]: assertion 
`actor != NULL' failed
libvisual CRITICAL: no progname: visual_actor_set_video [(lv_actor.c,598)]: assertion 
`actor != NULL' failed
libvisual CRITICAL: no progname: get_actor_plugin [(lv_actor.c,20)]: assertion `actor 
!= NULL' failed
libvisual CRITICAL: no progname: visual_actor_video_negotiate [(lv_actor.c,451)]: 
assertion `actor != NULL' failed
libvisual CRITICAL: no progname: visual_actor_destroy [(lv_actor.c,319)]: assertion 
`actor != NULL' failed
libvisual CRITICAL: no progname: visual_bin_free [(lv_bin.c,111)]: assertion `bin != 
NULL' failed
Crash!
Traceback (most recent call last):
  File /home/dmeyer/src/freevo/site-packages/freevo/main.py, line 509, in ?
rc.get_singleton().run()
  File /home/dmeyer/src/freevo/src/rc.py, line 177, in run
c[0](*c[4])
  File /home/dmeyer/src/freevo/src/audio/plugins/mplayer.py, line 266, in stdout_cb
p.stdout(line)
  File /home/dmeyer/src/freevo/src/audio/plugins/mplayervis.py, line 162, in stdout
self.start()
  File /home/dmeyer/src/freevo/src/audio/plugins/mplayervis.py, line 135, in start
self.visual = libvisualAnimation(300, 300, 150, 150)
  File /home/dmeyer/src/freevo/src/audio/plugins/mplayervis.py, line 174, in __init__
self.bin = bin(actor, (width,height), input)
SystemError: NULL result without error in PyObject_Call


Dischi

-- 
To know recursion, you must first know recursion


pgpzlSFocFOfW.pgp
Description: PGP signature


[Freevo-devel] Re: Libvisual for Freevo

2004-10-01 Thread Dirk Meyer
Viggo Fredriksen wrote:
 On Friday 01 October 2004 19:05, Dirk Meyer wrote:
 Maybe you need to link against imlib2 since you are using it. 

 I did, but it was the `Image_PyObject_Type` from pyimlib2 that messed up.

  If someone wants to solve/test it, I attached a patch against cvs.

 I would love to, but

 [errors cut]

 Dischi

 Hehe, that's not good! Seems like libvisual can't init it's inputs and actors 
 correctly. I used libvisual-0.1.6 and libvisual-plugins-0.1.6. If that isn't
 the problem, I've definately done something weird :)

Ah, I only installed libvisual, no plugins. Now it's working. I tried
to use the imlib2 memcpy idea .. and failed. The strange problem here:
you need to set depth to 32 (because imlib has RGBA). When you do
that, the image can't be blended to another, very strange. This also
works (not) when you don't use the imlib2 idea: set the depth to 32,
create a new imlib2 image. This has the visual effect (you can see
that by putting it to pygame). Whe I draw this image to a new one, the
image is gone. The only idea I have here is that alpha is always 0 and
I have no idea how to change that.


Dischi

-- 
The Romans didn't find algebra very challenging, because X was always
10.


pgp1IZzqCWa9D.pgp
Description: PGP signature


[Freevo-devel] Re: Libvisual for Freevo

2004-10-02 Thread Dirk Meyer
Viggo Fredriksen wrote:
 Well, off I go!

BTW, in CVS now, the plugin is still deactivated, it won't stop the
animation on detach.


Dischi

-- 
All bombs with electronic timing devices are fitted with large red
readouts so you know exactly when they're going to go off.


pgp9uYGUmhz7h.pgp
Description: PGP signature


[Freevo-devel] Proposal for new header

2004-10-03 Thread Dirk Meyer
Hi,

a friend of mine pointed me to a problem with our current header in
each file: because of the CVS log, you see no code when opening the
file. Other people told me they want to know what a file does and
sometimes I wonder who maintains a specific file. 

So here is a proposal for a new header (in cvs as example in main.py)

# -*- coding: iso-8859-1 -*-
# -
# main.py - This is the Freevo main application code
# -
# $Id: main.py,v 1.146 2004/10/03 16:09:27 dischi Exp $
#
# This file is the python start file for Freevo. It handles the init phase like
# checking the python modules, loading the plugins and starting the main menu.
#
# It also contains the splashscreen and the skin chooser.
#
# First edition: Krister Lagerstrom [EMAIL PROTECTED]
# Maintainer: Dirk Meyer [EMAIL PROTECTED]
#
# -
# Freevo - A Home Theater PC framework
# Copyright (C) 2002-2004 Krister Lagerstrom, Dirk Meyer, et al. 
# Please see the file freevo/Docs/CREDITS for a complete list of authors.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MER-
# CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# -

# python imports
a list of all imports not from freevo

# freevo imports
imports from file inside the source tree


content

# -
# $Log: main.py,v $
# Revision 1.146  2004/10/03 16:09:27  dischi
# changes to a new header (proposal)
#
# Revision 1.145  2004/09/28 18:31:06  dischi
# check system auto detect
#
# -


So what changed? First of all the cvs log is at the end of the file. I
don't know about licence stuff, maybe we can move this to the end,
too. Second, all lines have a max of 80 chars to fit every screen. 

Now the details: the file starts with it's name and a one line
description. After that the CVS $Id$ and a more detailed description
what this file contains. Maybe even a doc how this file interacts with
others. This part finishes with two names: First edition (who started
this file) and Maintainer (who maintains this file and should be asked
for questions about it). After that the old copyright/credit stuff, I
only added my name after Krister because I maintain Freevo now. 


Comments on this? Better ideas?


Dischi

-- 
A day without sun shine is like, you know, night.


pgp79Y1BGqjMH.pgp
Description: PGP signature


[Freevo-devel] Popup status

2004-10-03 Thread Dirk Meyer
Hi,

I just checked in some work on the popup boxes. Hey, this code was a
mess, changed about 4 times and had a lot of all stuff in it. So this
is how it works:

o There is Window.py containing some basic stuff for windows on the
  screen. You can set x,y,width,height if you like.

o For all windows we have right now is PopupBox.py. It contains a
  basic popup box with a label and optional a row with controls
  (needed by AlertBox and friends). You can't set x,y,width,height
  here, it's dynamic. The box will be as big as it needs to
  be. Besides: we never set x,y,height before and width only for
  larger boxes because the old code could only grow vertical. 

o AlertBox and ConfirmBox inherit from PopupBox. THERE IS NO
  LAYOUTMANAGER as before, so the boxes need to layout themself. Since
  a PopupBox has an optional row below the text, these two boxes need
  no special layout.

o ProgressBox and InputBox are broken right now but they will work
  like AlertBox and ConfirmBox (label and below that the progress bar
  or the input area).

That should cover all boxes we need. There are other boxes in the
widget dir, like ScrollBox and ListBox. Where do we need them? I also
so some boxes in tv (EditFav), but do we still use them? If not, we
should delete the code, I don't waste time fixing boxes we don't
need. 


Dischi

-- 
As I said before, I never repeat myself.


pgpgxXNvkiteA.pgp
Description: PGP signature


[Freevo-devel] Freevo coding guidelines (please read)

2004-10-03 Thread Dirk Meyer
Hi,

I guess it's time to set some basic coding guidelines for Freevo. It
will be easier for other people to read the code if we have some basic
guidelines. Most of them are taking from the basic python
guidelines. After some discussion about this, please change files to
this guidelines. E.g. you change a file or fix a bug, please check the
file for the guidelines and fix this, too. The files I touched the
last weeks (image, audio code) respect most of the guidelines now.

 1. All files have a header. I wrote a mail about my new header
proposal. This header must include: a only line description, a
longer description what this file does and how it interacts with
others, a name of a maintainer.
 
 2. More code doc. Each class must have a doc string, explaining the
purpose of the class. Some for functions, also describing the
paranmeter and the return values. No exceptions (not even
eventhandler()). One exception: after a class description, __init__
only needs paranmeter description.
 
 3. And even more doc: add comments inside the code what you are doing
here. Some days ago I came across a 'if instance(self.parent, str)'
and I wondered: how can this be? So more docs. Also document stuff
like now we build xy and add xy to z. And for 'if foo' in the
line _after_ the if now we handle foo by doing bar.
 
 4. Max line width is 80 chars, no more. It should be readable in a
simple xterm. Indention is 4 chars. If you need a longer line, you
should think of using a) a helper variable or b) move some code to
an extra function.
 
 5. All variables/classes except tmp vars have clear names. Use
file_dir, not fd or d.
 
 6. Config variables and constants are upper case, use an underline
char to split words for betetr reading. So FOO, FOOBAR or
FOO_BAR. Config variables also contain the code were they are
used like AUDIO_MPLAYER_FOO is foo for audio, the mplayer plugin. 
 
 7. Other variables and functions are lowercase. To split words here
also use _, not a capital letter. E.g.: foo, foobar, foo_bar, not
Foo, fooBar.
 
 8. Classes start with an uppercase char, followed by lowercase. To
split words, use a capital letter, no _. E.g. Foo, Foobar or
FooBar, not Foo_bar or Foo_Bar.
 
 9. Filenames are similar to variables/functions, no upper case
letters. 

10. Some people like ( x , y ), others prefer (x, y), so do what you
want here, both is ok.

11. To make code readable, add an empty lines between blocks. Add two
empty lines between functions.


Comments please!


Dischi

-- 
System going down at 1:45 this afternoon for disk crashing.



pgpdjIEX1vgQe.pgp
Description: PGP signature


[Freevo-devel] Re: Popup status

2004-10-04 Thread Dirk Meyer
Dirk Meyer wrote:
 o ProgressBox and InputBox are broken right now but they will work
   like AlertBox and ConfirmBox (label and below that the progress bar
   or the input area).

Small update: ProgressBox is working again.

And I have a naming problem: we have a ConfirmBox with buttons OK and
Cancel. If I ask: do you want...? (confirmation), isn't 'yes' or
'no' better? I guess OK and Cancel works for a ProceedBox or
ContinueBox. Speaking of names: AlertBox? When Freevo says it
scheduled the recording, is this an alert? What about naming it
MessageBox? And PopupBox? I don't like this at all. We use this when
the user has to wait, so what about WaitBox?

Better names please,


Dischi

-- 
Enter any 11-digit prime number to continue...


pgpercrxLRJAQ.pgp
Description: PGP signature


[Freevo-devel] Main-Loop changes (please read)

2004-10-06 Thread Dirk Meyer
Hi,

I got a patch tpday I was waiting for some time now, it uses
pyNotifier as a main loop and removes the rc.py stuff. So there are
some changes now you need to keep in mind. First of all: why? The
rc.py stuff was a bad hack, you could only add timer to get called. So
plugins like the event input from Rob polled the socket. That's
bad. The new notifier supports timer _and_ sockets. You can now
register a socket and you get called when something is on that
socket. We will need this for using mbus in the near future. 

Important note: we need to keep the main loop alive. A function should
do it stuff non blocking, if we do too much, the main loop won't be
able to react on sockets / timer. Example: remove a mmpython.cache
file in a dir with many items, use 1.5.1 and rescan. While rescanning,
move a window above the freevo window and back again. You see that
pygame doesn't update. That's because the pygame poll function isn't
called while we scan. With the new cvs code, I keep the main loop
alive and you see the window update again. 

So what you must do to keep the loop alive: when you can't return to
the main loop but you are doing something, call notifier.step from
time to time. Use the parameter False, False here to prevent Freevo
From handling Events and the notifier from waiting (sleep) until
something happens. Our main problem is now the downloading of stuff
(e.g. imdb or amazon cover search). There will be a non blocking
version of a http client the next days, you should use this one. 

More good news: as a side effect of the changes we now have keyboard
input when using imlib2 display (so no need for pygame anymore when
you use X). There are also no threads in childapp anymore (remember,
keep the main loop alive or mplayer will stop playing). The last
thread in rom_drives will be gone soon. 

One last note: the latest release of pyNotifier on mbus.org doesn't
work for us. You can get the latest version from
http://www.crunchy-home.de/download. You will find tgz and rpm files
here. 

Please test this,

Dischi

-- 
Mustrum Ridcully did a lot for rare species. For one thing, he kept them rare.

 -- (Terry Pratchett, Lords and Ladies)


pgpAr1DG5H9kW.pgp
Description: PGP signature


[Freevo-devel] Re: Proposal for new header

2004-10-07 Thread Dirk Meyer
Hi,

small update. I was rethinking the header and cvs log part. A new test
design can be found in all files in src/gui/area


Dirk Meyer wrote:
 So what changed? First of all the cvs log is at the end of the
 file. 

I removed it. Do you read this? I don't. We have the cvslog mailing
list and this should be enough. Without the cvs log, the file looks
much cleaner to me. So I vote for drop it (comments please). 

 I don't know about licence stuff, maybe we can move this to the end,
 too. 

Can someone think of a short line like This is GPL and read
Doc/LICENCE for details? 

 Now the details: the file starts with it's name and a one line
 description. After that the CVS $Id$ and a more detailed description
 what this file contains. Maybe even a doc how this file interacts with
 others. This part finishes with two names: First edition (who started
 this file) and Maintainer (who maintains this file and should be asked
 for questions about it). 

I still vote for that. Only that sometimes I can't think of a first
version name. E.g. I wrote the area stuff, but it's based on Kristers
code but it's not much left there. Onlt tv listing and info area was
clear (Gustavo) since he wrote the first version when the area stuff
was already done (even it looked much different).



Dischi

-- 
Hard work never killed anyone, but why give it a chance?


pgpnB2gvYPnG6.pgp
Description: PGP signature


[Freevo-devel] Re: EPG changes

2004-10-18 Thread Dirk Meyer
Rob Shortt wrote:
 Ok, I've committed a bunch of changes to pyepg and freevo.

Cool. I will test it later.

 -You must load the schema into the database before using it, sqlite
 /path/to/freevo/cache/epgdb  lib/pyepg/epg_schema.sql.  I would like
 to have this automaticly done, and also a way to auto upgrade the
 schema between revisiions.

IIRC Aubins metadata db doesn't need this. Maybe you can look there. 

 -It still takes too long to enter the guide.  Its fast getting the
 programs form the database but I'm still creating a ProgramItem for
 every program in the guide.  We could: 1) get smaller groups of
 programs at a time, 2) have something refresh our data in the
 background, 3) don't keep a persistant list of ProgramItems but
 rebuild them on a page by page basis by creating them on the fly from
 frequent DB queries.

2 is the way to go. Look at listing_area.py. For thumbnail listing
(image view) the area loads the next menu in background using the
notifier callback. One image at a time to make sure it won't stop
freevo. 3 is bad, I guess it will be too slow. But maybe combine 2 and
3 like the listing. Get the complete data on guide startup (should be
fast), create items for the needed ones and load the next page in each
direction in background.

 -do we still need to create an index of the list of ProgramItems for
 faster access?

No, it was a hack for the tv guide for faster access. I don't think we
still need it. 

 -how should we deal with empy data and gaps?  Should we use
 ProgramItems with defaults suitable for manipulating in a manual
 record interface (30-60 minute chunks)?

Sounds ok. BTW, when you get a new data for lets say Monday and you
already have Monday. Do you merge the data or do you replace?

 -Unicode:  I think sqlite uses unicode, do we have to change anthing
 with how we deal with unicode with regard to the DB?

No, I hope Freevo is 100% unicode now (except filenames). 

 -We need to escape DB queries better, for example right now I'm
 dropping all double quotes from program titles and descriptions.

Yes.


Dischi

-- 
What happens if a big asteroid hits the Earth? Judging from realistic
simulations involving a sledge hammer and a common laboratory frog, we
can assume it will be pretty bad.
-- Dave Barry


pgpNMw3Ek1JQI.pgp
Description: PGP signature


[Freevo-devel] Re: EPG changes

2004-10-18 Thread Dirk Meyer
OK, just did a small test:

Rob Shortt wrote:
 freevo helper epg:

 -can be used as a test tool
 -search programs
 -fill DB with XMLTV data
 -go nuts, add more options

That doesn't work for me. I created the db with the sqlite
command. Than used tv_grab to get the data. After that I can run
epg -l and I see my channels, good. epg -i dies with 'no such table
program_types'. -f gives me many string comvert errors. Looks like you
don't use unicode. 

The tv guide itself works and it is very fast. But I don't have much
data, the xmltv file is 500k. And I can't go back in time, the guide
starts at 'now' and crashes when there is a channel with no data (I
have a channel with a down-time at night, childrens channel, it stops
at 9p.m.)


Dischi

-- 
Viewer discretion may be advised, but it's never really expected.


pgpQMsizIyC1C.pgp
Description: PGP signature


[Freevo-devel] Re: [Freevo-cvslog] freevo/src/helpers tv_grab.py,1.10,1.11

2004-10-20 Thread Dirk Meyer
Rob Shortt wrote:
 Dirk Meyer wrote:
 Update of /cvsroot/freevo/freevo/src/helpers
 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26592
 Modified Files:
  tv_grab.py Log Message:
 add data to db even if not sorted

 Dischi, I think you made a mistake here... before the move and
 add_data calls were outside of the TV_SORT if/else but still inside a
 check for the xmltvtmp path.  Right now if your xmltv grabber fails it
 will still attemp to move the temp file to the 'good' xmltv file and
 fill the DB.

Oops, maybe I didn't read carefully. Revert if you think I made a
misstake. 


Dischi

-- 
Wake up and smell the coffee.
-- Ann Landers


pgpcLtRezVHtn.pgp
Description: PGP signature


[Freevo-devel] 1.5.2 release schedule

2004-10-20 Thread Dirk Meyer
Hi,

I just made some smaller bugfixes in the 1.5.1 release and will
release 1.5.2 on Sunday. Please check out cvs with the rel-1-5 tag
(wait 12 hours because of the sf delay) and report bugs.

Last chance for translation updates, too!


Dischi

-- 
Drag me, drop me, treat me like an object!


pgpyFKuOLlvMh.pgp
Description: PGP signature


[Freevo-devel] RFC: remove some config variables

2004-10-21 Thread Dirk Meyer
Hi,

I'm thinking about removing some config variables. The variables I'm
thinking of are: LOCALE, OVERLAY_DIR and FREEVO_CACHEDIR.

Why? Because I want to make some files in util independ of Freevo so
they can be used outside Freevo. Some modules only depend only Freevo
because of config with the variables above. 

LOCALE: The reason we need this is because the Python unicode default
sucks. I don't know why 'ascii' is the default encoding and I'm not
allowed to change that. That's why we need our Unicode and String
wrapper functions. So I suggest a file called encoding.py containing
Unicode and String and they use default settings from the system
locale settings with latin-1 as fallback. So the util modules only
need to depend on this, not the whole Freevo package. 

FREEVO_CACHEDIR: Why should the user change that. I suggest the
default to be /var/cache/freevo with a fallback to ~/.freevo/cache if
the user has no write permissions. The databases should go to
/var/lib/freevo with the fallback being ~/.freevo/lib.

OVERLAY_DIR: Some utils depend on the vfs, so I want a default here,
too. I guess ~/.freevo/vfs sounds good here. If the user doesn't like
it (like I myself), he could use a softlink to a better place. 


Comments please.


Dischi

-- 
Drinking coffee for instant relaxation?  That's like drinking alcohol for
instant motor skills.
-- Marc Price



pgpX1zYTC8ib5.pgp
Description: PGP signature


[Freevo-devel] Re: [Freevo-cvslog] freevo ChangeLog,1.119.2.3,1.119.2.4

2004-10-21 Thread Dirk Meyer
Aubin Paul wrote:
 Is it worth mentioning that AC3 files work with recent versions of
 mplayer now? It was detecting them as VOB and spewing errors.

That remind me I also need to release a new mmpython with the new
ac3info.py. What did you do to better support ac3?


Dischi

-- 
A black cat crossing your path signifies that the animal is going somewhere.
-- Groucho Marx


pgp6DXDbbbtGH.pgp
Description: PGP signature


[Freevo-devel] Re: RFC: remove some config variables

2004-10-22 Thread Dirk Meyer
Rob Shortt wrote:
 Dirk Meyer wrote:
 I'm thinking about removing some config variables. The variables I'm
 thinking of are: LOCALE, OVERLAY_DIR and FREEVO_CACHEDIR.
 Why? Because I want to make some files in util independ of Freevo so
 they can be used outside Freevo. Some modules only depend only Freevo
 because of config with the variables above.

 I agree we need some changes here.

Good, because your db also depends on some sort of config for getting
the locale. That sucks. 

 FREEVO_CACHEDIR: Why should the user change that. I suggest the
 default to be /var/cache/freevo with a fallback to ~/.freevo/cache if
 the user has no write permissions. The databases should go to
 /var/lib/freevo with the fallback being ~/.freevo/lib.

 I agree to these defaults.  I run Freevo as root and user
 /var/xxx/freevo/ for most things.  I would still like the ability to
 change these locations from the configuration.
[...]
 I think using a link to override this is bad practice.  I think this
 is one config setting we do need.  How about adding a /var/xxx/
 alternative to this one as well?

 I think it might be worth using Freevo specific environment variables
 for things like FREEVO_CACHEDIR and OVERLAY_DIR.  That way we don't
 rely on importing another module for them and they are still east to
 get and set.

Environment variables would result in a 3rd way to configure
freevo. Right now we have local_conf.py and freevo.conf. Maybe we can
use the later. The packages need environment variables but the freevo
start script will read freevo.conf and will put some settings in
variables. Maybe we could move more stuff here that most users don't
change: 

Right now it would be LOCALE, OVERLAY_DIR, CACHE_DIR, DB_DIR. Besides
that there is still display (maybe has the real OSD_DISPLAY here),
chanlist and tv_norm. Maybe replace the last two with a COUNTRY
setting. By that we could do more cool stuff. But we need help
here. The COUNTRY setting could be germany and we would know some
basic settings like locale, too. Maybe even Germany/Bremen to know
some frequencies. But if we go that way, we need much help from our
users to get good data. 


Dischi

-- 
Bad spellers of the world Untie!


pgpOL46cuXw1q.pgp
Description: PGP signature


[Freevo-devel] Re: 1.5.2 release schedule

2004-10-22 Thread Dirk Meyer
mike lewis wrote:
 Dischi,  I have not had a chance to figure out why, but CD's with avi
 files are comming up blank in 1.5.1 for me.

I can't recall the bug exactly. Can you please describe the bug step
by step: what is on the disc (all files), what happens, what should
happen? 


Dischi

-- 
The truth may be out there, but lies are inside your head.
-- (Terry Pratchett, Hogfather)


pgpTneplB8ygv.pgp
Description: PGP signature


[Freevo-devel] Re: RFC: remove some config variables

2004-10-24 Thread Dirk Meyer
Dirk Meyer wrote:
 Environment variables would result in a 3rd way to configure
 freevo. Right now we have local_conf.py and freevo.conf. Maybe we can
 use the later. The packages need environment variables but the freevo
 start script will read freevo.conf and will put some settings in
 variables. Maybe we could move more stuff here that most users don't
 change: 

OK, new proposal: add a file sysconfig.py (better name please). It
provides: 

o reading freevo.conf (in a generic way that it can be changed to a
  different application). Adding everything found to a dict. This file
  shouldn't know about the entries freevo expects, except:

o handle config variables for locale (or better encoding?), vfs_dir,
  cache_dir and db_dir. If the variables are nor found, create default
  values like we discussed.

o provide helper functions like 'Unicode' and 'String'. Also some
  functions to get a cachename (to avoid to much os.path.join in the
  code to make it look better) and a db name.

 Right now it would be LOCALE, OVERLAY_DIR, CACHE_DIR, DB_DIR. Besides
 that there is still display (maybe has the real OSD_DISPLAY here),
 chanlist and tv_norm. Maybe replace the last two with a COUNTRY
 setting. By that we could do more cool stuff. But we need help
 here. The COUNTRY setting could be germany and we would know some
 basic settings like locale, too. Maybe even Germany/Bremen to know
 some frequencies. But if we go that way, we need much help from our
 users to get good data. 

This won't be handled by sysconfig, more from the freevo_setup
script. We would have two higher level settings resulting in more
settings: 

display: possible values are the output displays we have now in gui
and some higher level, like sdl/mga setting the display to pygame and
use mga specific settings. So setting a display in freevo_setup would
result in this settings: display (e.g. pygame), subdisplay (e.g. mga,
better name please, subdisplay sounds stupid), fb or X, pre/post
commands to execute.

location: the country settings. Based on pre defined values it will
set encoding, tv norm, chanlist, clock layout (12 [ap]m or 24 hour
style), xmltv grabber.


Comments please!


Dischi

-- 
A conclusion is simply the place where you got tired of thinking.


pgpaOD61qW6NH.pgp
Description: PGP signature


[Freevo-devel] Re: unicode handling error in recordserver (special german characters in channellist)

2004-10-29 Thread Dirk Meyer
Thomas Kranz wrote:
 Hi freevo-fans,

 I noticed an error in the recordserver:
 I switched from my PVR250 to a cheap dvb-s card (twinhan works fine, both work 
 together) for
 tv recordings.
 Now I had to update my channels.conf of mplayer and there is one station called WDR 
 Köln (scanning the dvb-s card with scan).
 The recordserver doesn't handle the unicode of german umlaute correctly:

Fixed in cvs and in the upcoming 1.5.2

Dischi

-- 
Imagination is more important than knowledge. (Albert Einstein)


pgpUNkV294DKz.pgp
Description: PGP signature


[Freevo-devel] Re: stop osd for play (vdr-xine)..

2004-10-29 Thread Dirk Meyer
mike lewis wrote:
 Aah, OK videoitem.py does the work right?  menuw.hide, menuw.show.. 
 But where can I get menuw from???  There is not import menuw?

The menuw is passed to the callback when an item is selected from the
menu. VideoItem rememebers that for later use when called from mplayer
without menuw. That's a bad hack and removed in cvs.


Dischi

-- 
printk(; corrupted filesystem mounted read/write - your computer 
will explode within 20 seconds ... but you wanted it so!\n);
2.4.3 linux/fs/hpfs/super.c


pgpbVmL6O9hQ7.pgp
Description: PGP signature


[Freevo-devel] Re: proposal, add genre,bitrate,comment to music table.

2004-10-29 Thread Dirk Meyer
Aubin Paul wrote:
 Sure, I wrote a previous email to Rob about how we could concievably
 do something like that. 

 To get bitrate, I used id3 directly:

 from mmpython.audio import eyeD3
 id3 = eyeD3.Mp3AudioFile( filename )
 vbr,br = id3.getBitRate()
 comment = id3.tag.getComment()

Isn't bitrate also parsed by mmpython? So using mmpython to get all
information seems to be a cleaner way. BTW, it would be very cool if
someone could update the music db to store all mmpython informations,
the we can remove the mmpython.cache files in vfs.


Dischi

-- 
System going down at 1:45 this afternoon for disk crashing.


pgpxiLBjzAKSN.pgp
Description: PGP signature


[Freevo-devel] Re: xine framebuffer issues..

2004-10-30 Thread Dirk Meyer
mike lewis wrote:
 We wait 5 seconds until we kill -9 xine. That should be enough. Maybe
 find the bug in xine? :)

 Maybe that was the originalidea, but I think it *feels* more like 5
 miliseconds.  If I change the times delay from time.speep(0.1) to
 (0.3) , it works, 0.2 workshalf the time..

OK, I increased the time to wait in the upcoming 1.5.2


Dischi

-- 
On-line, adj.:
The idea that a human being should always be accessible to a computer.


pgpdiF7JejEQF.pgp
Description: PGP signature


[Freevo-devel] Re: screen redraw

2004-10-30 Thread Dirk Meyer
[EMAIL PROTECTED] wrote:
 Hi, freevo development newbie here.

Hi

 I want to edit some configuration variables on the fly.

Cool.

 I've made a menu structure (which works),
 and in a MenuItem, called a class to display an InputBox (which works).
 However, when I hit enter on the InputBox, it doesn't disappear.
 It does lose focus and I can move back up the menu structure, but when I 
 come back down,
 the InputBox is still displayed.

That's strange. There is a self.destroy() in the code for enter.

 Is there anyway I can force the screen to redraw?
 the functions menuw.redraw(), menuw.rebuild_page(), menuw.refresh(1), 
 menuw.show()
 don't seem to do the trick.
 menuw.hide(clear=True) and then menuw.show() does rebuild the page, but 
 then I get an annoying black screen flicker.

That's only a baf hack. You can set force_redraw (or similar) in the
skin. But that is not they way it should work.

 Is there a simple answer or should I just post what code I have?

Better post the code so I can take a look.


Dischi

-- 
Backup not found!  A)bort, R)etry or P)anic?


pgpEPpuM5iQkN.pgp
Description: PGP signature


[Freevo-devel] Re: EPG changes

2004-10-31 Thread Dirk Meyer
Rob Shortt wrote:
 -do we still need to create an index of the list of ProgramItems for
 faster access?

 No, it was a hack for the tv guide for faster access. I don't think we
 still need it.

 I've removed it.

Something is still there. I hope I will have time to look at it. If
the guides is always very small (only the needed stuff in memory), it
is easier for the tvlisting area to display it and we need no index
stuff at all.

 -These default ProgramItems get highlighted together, if they're one
 on top of the other at least.  This probably has to do with the cmp
 function of ProgramItem.

Works for me.


Dischi

-- 
Error 13: Illegal brain function. Process terminated.


pgpBSkSAPf8Qt.pgp
Description: PGP signature


<    4   5   6   7   8   9   10   11   12   13   >