Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] how to display information on channel change?
I'm trying to write a plugin to drive a linear actuator (since it's what
I have on my dish) through the parallel port.
I've already written a kernel module that's more or less working (I
haven't built the hardware yet, but it's setting the output pins,
counting pulses and stopping when it has reached the target position).
For the plugin part, since I'm no c++ coder, I'm "borrowing" from the
rotor plugin (its operation is quite similar to what I'm going to need).
To move the dish it's using a status monitor: using ChannelSwitch, it
checks if it's a different satellite, and if it is:
1) it tells my device driver the target position (the dish will start
moving)
2) it opens an osd (cOsdProvider::NewOsd)
3) it displays that the dish is moving (I'd also like to display the
current position in the following loop, but I haven't managed to do that
yet)
4) it waits until the position has been reached (or there was an error)
or a key is pressed
5) it closes the osd
The problem is that is disrupts the normal osd shown on channel change
and eventually it crashes vdr (the xine plugin says "xineDevice.c:801:
void PluginXine::cXineDevice::OnFreeOsd(cOsd*): Assertion `osd ==
m_currentOsd' failed.", I think that's been discussed recently in the
thread "OSD: is it allowed to have multiple instances").
I have many doubts here:
a) How can I display that the dish is moving and its position without
disrupting the normal osd and without crashing xine?
b) is there a better way to determine when it's time to move the dish or
the status monitor is the correct hook?
c) is it correct not to return from ChannelSwitch until the dish has
reached the position (or a key has been pressed)? If it isn't, how can I
accomplish a)?
d) do you know of any free byte in the cmos ram whare I could store the
current position? (ok, this one isn't strictly related to vdr and the
osd, but the wizards that developed the cmos wake up program for vdr
maybe know and are reading this list)
Bye
--
- Yo tambiƩn quiero una Europa libre de Patentes de Software -
- I want a Software Patents Free Europe too! And you? -
---------------------------------------------------------------
EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es
Attachment:
signature.asc
Description: OpenPGP digital signature
Home |
Main Index |
Thread Index