Page 1 of 1

External control for TV Scheduler plugin

Posted: Thu Feb 21, 2008 6:35 am
by dvdfreak
Hi!

I am looking at writing a plugin for TV Scheduler to use DVB Dream as a recorder. The main TV Scheduler thread can be found here: http://forum.team-mediaportal.com/devel ... ice-26158/

TV Scheduler started as a low-level TV guide and scheduling system with a simple MediaPortal plugin, but is now "growing" a plugin interface to allow any type of recorder to provide the recording services, while TV Scheduler itself takes care of all the rest.

Basically, a plugin should implement three things: AllocateCard(), StartRecording() and AbortRecording().

Simple enough ;)

So here are some questions I hope someone can answer:

1) AllocateCard()

The purpose of this method is to have a plugin tell TV Scheduler if it can record a channel and "allocate" a card for that recording. Now, DVB Dream can only support one card, right? But with the PIP support I understand that it can easily record more than one channel, as long as they are on the same transponder.

So would it be easy enough to implement this method by parsing the channel.lst file? Or by any other API? Detecting what channels are on the same transponder and have AllocateCard return succesfully for a channel within the same stream as another channel that needs to be recorded?

2) StartRecording()

When this method is sent the card that was previously allocated is sent in as an argument. All other recording information is sent as well, so basically, all that's needed is that DVB Dream is instructed to tune to the required channel and start recording it for a given duration.

My question here is: how easy is it to instruct DVB Dream to start this recording, and does this code need to deal with PIP stuff, or is DVB Dream smart enough to record a second channel on the same stream in PIP?

Also, when two or more channels on the same stream are recorded, I assume they DO end up in separate .ts files?

3) AbortRecording()

This should be quite easy, the plugin would simply be instructed to abort a recording in progress. I assume it's easy enough to tell DVB Dream to end a recording?

This is all going to be written in C#? So is it best to use the dreamstar.exe or use SendMessage?

Also, to support more than one recording card I assume DVB Dream needs to be installed a second, third, etc... time to a different directory? So instead of talking to just one DVB Dream my plugin should talk to several and consider these to each be a "card"?

Thanks in advance for any help!

WOULD BE NICE WITH TITANTV

Posted: Fri Feb 22, 2008 4:59 pm
by mr_kite
Have you tried TitanTV.com? it is a really nice TV scheduling site which can start and stop a PVR with a plugin. It goes a month ahead and already works with some PVR softwares such h as powerdvd etc. If you can figure out how to make a plugin work with DVD Dream. Then all scheduling problems would be solved and you could schedule events a month ahead. Have a look if you haven't been there.

Posted: Sat Feb 23, 2008 4:17 pm
by rel
sorry, dont have time to answer all
DD supports only one card at a time.
command line parameters are documented in help file.
it can record more than one channel from the same tp at the same time. but you would need to use related commands and specify the channel IDs.
dreamstart is better for command line. moduleAPI messages is better when you write a DD module.

Posted: Mon Feb 25, 2008 12:28 am
by dvdfreak
sorry, dont have time to answer all
DD supports only one card at a time.
command line parameters are documented in help file.
it can record more than one channel from the same tp at the same time. but you would need to use related commands and specify the channel IDs.
dreamstart is better for command line. moduleAPI messages is better when you write a DD module.
OK, thank you. Is it possible to install more than one DvbDream side-by-side and have them each control a different BDA card?

In any case, I will concentrate my efforts on using dreamstart.exe then, thanks.