[Freevo-devel] VideoGroups too complicated
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
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)
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
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
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
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?]
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)
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)
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
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
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
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)
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
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
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
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)
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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)
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
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
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
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
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
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???
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
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..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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..
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
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...
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
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
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
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
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
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...
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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)
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)..
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.
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..
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
[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
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