For The Record - The rule-based scheduling suite (7 Viewers)

dvdfreak

Portal Pro
June 13, 2006
979
178
Home Country
Belgium Belgium
When I start the service manually it immediately stops again. Are there any logs I can look at ?

Check the Windows event viewer (eventvwr.exe). In the application log. Hopefully there's an error logged there that explains this...

----

Resolved with this procedure:

If you turn the plugin off in TVE3, move away from the overview screen (otherwise it will not have any effect), then move back, turn it back on, and once more move away from that screen (phew, complicated explanation ), THEN, my plugin will be reactivated in TVE3, and it should immediately sync if the option is turned on.

Note that even rebooting had not any effects.

I just realized there is no service dependency from the "TVService" service on the "TV Scheduler" service. So it's quite possible that on a reboot the TVService starts first, together with my plugin, and that TvScheduler simply isn't ready yet! That may explain what you saw, and also explains why this was fixed by the procedure above.

Perhaps I can add a small delay to my TVE3 plugin... The proper solution would be to add TvScheduler to the list of services that TVService depends on:

Use RegEdit.exe to edit the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TVService

And add "TvScheduler" (without the quotes) to the list.

----

1) How are conflicts handled?

They are not handled by TvScheduler. You do have the schedule priority setting to help with conflicts, but unfortunately TVE3 does not support priorities on schedules yet, so with my TVE3 plugin that won't help you until that is fixed.

i) Specifically what (if anything) does the TvScheduler know about tuner sources?
ii) What happens if >1 recording is scheduled on the same MUX, i.e. it [TVE3] could/should cope and record both/all.

There's absolutely no knowledge about tuner sources, no cards and no mux :) The reason for this is that this is really the responsability of the recording system that uses the TvScheduler service. Related to your first point, it's also this recording system that should deal with the conflicts.

iii) Does TvScheduler attempt to avoid conflicts where repeats are available (and rules setup such that a future episode is available) ?

It will not attempt this, however, I have these two methods on the drawing board:

Code:
        /// <summary>
        /// NOT IMPLEMENTED YET
        /// </summary>
        /// <param name="upcomingProgram"></param>
        /// <returns></returns>
        [OperationContract]
        [FaultContract(typeof(TvSchedulerException))]
        UpcomingProgram[] GetAlternativeShowings(UpcomingProgram upcomingProgram);

        /// <summary>
        /// NOT IMPLEMENTED YET
        /// </summary>
        /// <param name="upcomingProgram"></param>
        /// <param name="alternativeUpcomingProgram"></param>
        [OperationContract]
        [FaultContract(typeof(TvSchedulerException))]
        void RescheduleUpcomingProgram(UpcomingProgram upcomingProgram, UpcomingProgram alternativeUpcomingProgram);

These methods will offer the recording system an easy way to deal with schedules, making TvScheduler search for a good alternative, then activating that alternative instead of recording the original showing and record the other show that caused the conflict.

iv) What happens when no alternative available and there will be a genuined 'no tuner available' problem if conflicting shows were scheduled?

Again, this is really up to the recording system. All I can do is offer as much support as possible to try and avoid this situation.

2) I was reading about Freeview STB's the other day.
Some are beginning to have AR (Accurate Recording). Which means that the broadcaster sends a signal at the start and end of transmission and the STB's detects and adjust the schedule to avoid missing the start/end of the recording.

Are there any thoughts on how to integrate this into MediaPortal/TvSchedule.

Sorry, I don't know the technical details on how AR actually works.
AND I do realize this is something that would sit outside TvScheduler and instruct it.

But, nevertheless it's something to think about coping with..


Thanks.

Just a note to say I did not press cancel. I either clicked on another menu option or closed the form thinking the changes would be saved.

The next version will clear the menu when you are on a panel with "Ok" and "Cancel". That is more logical as it will force you to click one of the buttons to get back to where you came from :)

----

Another concept we introduced in MP-II is that its build around (internal) services.

I just read this on the home page about MediaPortal-II. Amusing to read this, especially since I was under the impression I failed to bring the design benefit of a service-oriented approach across a few weeks ago... Did someone see the light after all? ;)
 

marmite

Portal Member
March 30, 2007
12
0
Home Country
United Kingdom United Kingdom
Thanks for your replies dvdfreak,

There's absolutely no knowledge about tuner sources, no cards and no mux :) The reason for this is that this is really the responsability of the recording system that uses the TvScheduler service. Related to your first point, it's also this recording system that should deal with the conflicts.

I understand (and agree) that you want to compartmentalize the 'scheduling' functionality as much as possible, to keep it simple yet powerful.

So conflict management (CM) can be self contained also, but must work closely with the scheduler.
The CM would need to be aware of:
i) the net results of the scheduled rules
ii) be made aware of a change to these results, e.g. if new schedule, or program slot moves.
ii) have resource definitions for the available tuners, so it can attempt to fulfil the requirements.

It then has the necessary information, to produce a list of unresourcable schedule items.

But to alert the user proactively, or passively via a conflicts view, it will need to make the user aware of the rule(s) that led to these conflicting items _and_ if applicable look at what other alternative programming is available that satisfy the rules and do not clash (or perhaps even present other alternatives that do clash - they may be better).
And then present the user with some choices:
i) >=1 scheduled rule that led to be cancelled
ii) allow a specific result(s) (upcoming program(s) matched by rules in conflict set) to be ignored. I suspect this will be normal choice if presented correctly, so will allow

Sorry I'm rambling, I guess I've very excited that this scheduler is finally tacking the problem the way it should be done _and_ I hate to refer to it but, one day it may be as easy to use and as logical as Tivo was 7+ years ago!

CM is pretty important I think to avoid frustration at unclear choices being made by recording system when conflicts occur. (Btw - what on earth does the MP "ConflictsManager" server plugin actually do??)

I have a single tuner DVB-T system - I wouldn't think twice about going out and getting another tuner, but one of the main reasons I don't to be honest, apart from having a backup recording system, is that I feel if I can't get to work satisfactorily with 1 tuner, meaning clearly/logically, then I will compound problems with 2.

A real world example of need and requirements for CM for me is, in our household we record:
A) Daily "Neighbours" on BBC1 ( shown twice daily )
B) CBeebies progs, or "Working Lunch" [BBC2]

When a B) schedule occurs that overlaps the 1st showing of A) - (which occurs regularly occurs)
I'd expect CM to kick in and silently choose to ignore one of the showing of A) if it finds free to record other.

Bit concerned that MP-II development will mean MP-I/TVE3 - will mean MP-I will not change significantly now and we'll be in for a long wait for MP-II and will make all this difficult, but perhaps can all be done via plugin / console.

The scheduler work you've done is excellent dvdfreak, what's your thoughts on CM?
 

Ernie-c

Portal Member
July 31, 2007
42
5
Belgium
Home Country
Belgium Belgium
In my opinion the TvScheduler cannot handle or foresee conflicts without knowing your available hardware.
What isn't a conflict on one machine can be one on another machine and vice versa.

A real world example of need and requirements for CM for me is, in our household we record:
A) Daily "Neighbours" on BBC1 ( shown twice daily )
B) CBeebies progs, or "Working Lunch" [BBC2]

When a B) schedule occurs that overlaps the 1st showing of A) - (which occurs regularly occurs)
I'd expect CM to kick in and silently choose to ignore one of the showing of A) if it finds free to record other.

This can be handled by setting the correct priority in the scheduling, only the Recorder should take priorities into account !
 

marmite

Portal Member
March 30, 2007
12
0
Home Country
United Kingdom United Kingdom
In my opinion the TvScheduler cannot handle or foresee conflicts without knowing your available hardware.
What isn't a conflict one one machine can be one on another machine and vice versa.

Exactly, that's why I said CM component would need:
ii) have resource definitions for the available tuners, so it can attempt to fulfil the requirements.

..obviously resource definitions would differ from machine to machine.

This can be handled by setting the correct priority in the scheduling, only the Recorder should talke priorities into account !

Perhaps, there are many other examples, where I'd want to be prompted, look at conflicts etc.
And even in the 'can handle this silently' scenario I gave, it _can_ be handled, but it still depends on available resources, on my system for example, the CM should look at resources and realize no need to skip 1st showing as both can be recorded at same time, other other systems it should spot and take action / prompt. Even if 2nd showing is at higher priority and priorities were used, I'd still want to know at time of scheduling higher priority job, that lower priority job(s) were effected.
 

dvdfreak

Portal Pro
June 13, 2006
979
178
Home Country
Belgium Belgium
[size=+1]UPDATE ALERT[/size]

I just uploaded a new beta release!

Beta release (November 22nd, 2007)

Changes since the previous release:

  • Display version number in title of the console.
  • Panels with Ok/Cancel in the management console will now hide the menu.
  • Switched back to old installers, there were too many problems with the new WiX installer.
  • Fixed quotas on WCF bindings.
  • EPG syncing in TVE3 plugin will now first try to match on the channel's displayname, before creating a new channel.
  • TVE3 plugin will retry connection to TvScheduler when starting up.
Since there were so many problems with the WiX-based installer of the previous release, take extra-special care when removing the previous version. Stop the service, carefully uninstall. Use "Windows Installer Cleanup" if needed (http://support.microsoft.com/kb/290301/). Then install the new version :)

PS: if you are using the TVE3 plugin, stop the TVService or disable the plugin, install new TV Scheduler, copy over the new TVE3 plugin DLLs, and then restart TVService or re-enable the plugin.
 

Midget

Portal Pro
October 1, 2007
78
2
Siena
Home Country
Italy Italy
Installed new version.

The previous uninstaller not worked... :mad: Have to remove by hand...
The new/old one worked flawlessly ;)

First time in the Upcoming Recordings panel the management console hang up. Next time it has worked.

Hiding the menu when entering "channel group", "channel" or "settings" panels is a very ugly effect... :p
At first it seems a locked application....

:D
 

StaticMan

Portal Pro
May 14, 2007
118
0
Home Country
Canada Canada
What about the ability to right click a "matching" show in the bottom window of the create schedule page and have it populate the fields automatically (similar to what adding a show from the guide does)?
 

StaticMan

Portal Pro
May 14, 2007
118
0
Home Country
Canada Canada
Check the Windows event viewer (eventvwr.exe). In the application log. Hopefully there's an error logged there that explains this...

I now have the same issue. I originally setup TvS to grabs TV3's EPG, worked great. Switched over to XMLTV to give it a try, didn't work as good. Tried to switch back and TV3 and TvS didn't want to talk.
Uninstalled, reinstalled and TvS service just starts and stops. Absolutely no error in the event viewer.

I've tried deleting the full dot-i directory and the database, but still a no-go.
 

Users who are viewing this thread

Top Bottom