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

THDBASED

Portal Pro
January 30, 2006
469
2
Home Country
Belgium Belgium
So does this mean yes it will be integrated or no TVE3 will be used as it is now?
 

DjeC64

MP Donator
  • Premium Supporter
  • August 29, 2007
    176
    16
    Gent
    Home Country
    Belgium Belgium
    Do you plan to add the capability to Edit the Channel name? Also Channel panel should be sizable (I have long name due to the import from xmltv.
    A very good solution would be to use the Maped Channels from XMLTV2 plugin. Maybe good to contact the author of Xmltv2 to see if you can make the tools to collaborate.
    For the moment it is not usable for me because of the long channels name but keep on the great work I will follow it.
     

    dvdfreak

    Portal Pro
    June 13, 2006
    979
    178
    Home Country
    Belgium Belgium
    Nice one! But for me personally it would be of great use if you could somehow use the TVServer-DB for the EPG-Data. The way currently with export to xmltv is simply not usuable on a daily basis. So I would love to see that on top of your ToDo-List :)

    To be honest, this is not on my list at all. The simple reason is that I see TvScheduler as a sub-system that handles everything guide-related, the XMLTV data, the schedules on it, alerts,... and since the last beta the recordings that were made based on those schedules.

    So what I do have on my list is a modification of the existing TVPlugin to show the guide data from TvScheduler. And further along the road more modifications to show the upcoming programs from TvScheduler, to edit the schedules from within MediaPortal, etc...

    #1: What happens to "double" schedules in the meaning of: Scheduled a recording with TVPlugin and this recording is on list of TVScheduler too?

    Actually, the schedule will show up twice in TVE3 right now :)

    #2: How do I schedule a series like record where title contains "CSI" and "Vegas"? (If I use contains "CSI Vegas" it doesnt find "CSI - Las Vegas")

    TvScheduler's rules engine already allows for this actually, but it's not possible from the GUI to create such a schedule. Perhaps I could parse the text that is entered and split it on the ";" charachter? So you would enter "CSI;Vegas". Does that make sense?

    #3: Any chance to have the linking list in TVSchedulerPlugin listed in alphabetical order? And maybe a "backup"-function to save mapping?

    Linking is easier if you start typing the channel name. The channels will be automatically filtered for you in a dropdown then. A backup is rather hard to do since I link on MediaPortal's internal ID. So if you would recreate the TVE3 database, all channels would get a different ID, and the backup would be useless :(

    #4: How to use the "Season Pass" or "Episodes Handling" to not record re-runs of the show?

    Right now the "Around time" rule together with the "Days of week" is a good way to record a show. But I plan to enhance this since TvScheduler internally keeps track of what episodes have been recorded so it could skip previously recorded episodes automatically.

    But even when I implement this, this will only work if your guide data contains either an episode title (subtitle) or episode number. I'm lucky since the UK and Belgian data I use has this information.

    #5: Deleting a TVScheduler-Schedule from within MyTV->Scheduled doesnt work. Any chance that this works?

    Short answer: no ;) I wouldn't immediately be able to tell the difference between a schedule that's missing or one that has been deleted by the user.

    #6: An option for TV Scheduler Management Console on recordings/suggestions/alerts: Like "Active" with a checkbox would be nice. So it would be easy to keep the schedule, but set it inactive on a fast way.

    Hmmmm... This kinda makes sense, let me think this over... :)

    #7: For the options "TV Channels", "Categories" and so on it would be nice to have an "Add all" on top of the list. This way its easier to cut out the not needed channels, categories and so on. And/or a option for "is" or "is not" would be nice too, to get more flexibility, like the dropdown in titles.

    Are you sure? There can be a lot of channels and a lot of categories. You could end up creating a schedule that records everything ;) And if channels are added, or categories, the list would be incomplete. Unless I do add an "is not" option, but then my first comment applies even more.

    #8: Option (maybe right click )to see the whole info for a upcoming recording/suggestion/alert. Currently I can not see the whole description.

    Or a tooltip perhaps? Good suggestion.

    EDIT #2:

    Now that I played with it, I have to say its really great! Absolutely fantastic work. Would be ncie if you could comment on my suggestions/questions, but I guess its really not the biggest problems anymore to get this going for daily use!

    Thanks!!

    And many thanks for the very valuable feedback! I will certainly take action on some of the points you brought up!

    -----

    I found a problem with the priority setting, if I set it to 'very low' I get two error dialogs. I have attached screenshots of both of them. The first one (Screenshot - 2007-10-30 , 16_32_20.png) shows when saving the schedule and the second one (Screenshot - 2007-10-30 , 16_29_52.png) shows when entering 'Recordings'. There is nothing in the event log.

    Thanks, looks like I'll have no problem reproducing this. I'll check this out and obviously fix it.

    How will the priority handle this scenario?

    Schedule 1 at 18:00 and schedule 2 at 18:05. Both have a 30 minute duration. Schedule 1 is set to Low and schedule 2 is set to Normal. Which will be recorded?

    Since the plugin creates actual MediaPortal schedules this question is: what does TVE3 do with a situation like this. So to be honest, I have no idea. I hope it will record schedule 2, and skip schedule 1.

    Another problem is that if I setup a schedule with the default pre- and postpadding and then change one of them after saving it. The change will not be reflected in the TVE3 scheduling.

    Ah, good point, that's a bug in my synchronization code, I'll fix that.

    When trying this I also noticed that if I deleted a schedule and recreated it with another padding setting it didn't update the TVE3 scheduling. This was because I created the new one before the plugin had time to delete the old schedule in TVE3. What is the update interval?

    Every 30 seconds right now.

    Otherwise...very cool!

    Thanks!

    ----

    @dvdfreak: Have you contacted the MP devs to talk about getting this inside MP2? Now could be the time to start talking about the best way to integrate this into the new version. No?

    Nothing extensive yet, I had a short talk with tourettes a few weeks ago, but we only briefly talked about some possibilities.

    Perhaps it's not a bad idea for me to do a posting on what I consider to be a possible and good way to integrate both.... Stay tuned :)

    ----

    Do you plan to add the capability to Edit the Channel name? Also Channel panel should be sizable (I have long name due to the import from xmltv.
    A very good solution would be to use the Maped Channels from XMLTV2 plugin. Maybe good to contact the author of Xmltv2 to see if you can make the tools to collaborate.
    For the moment it is not usable for me because of the long channels name but keep on the great work I will follow it.

    I already map guide channels to tv channels internally, so what I need to do is finish the Channels panel in the management console so you can indeed change the mapping if you like, but more importantly for you: edit the channel display-name. If you feel adventurous you can edit the DisplayName in TvScheduler's TvChannel table using SQL Management Studio. To be sure, stop the TvScheduler service before you do the editing, then restart it.
     

    The_Stig

    Retired Team Member
  • Premium Supporter
  • April 5, 2005
    2,175
    428
    Hey dvdfreak,

    To be honest, this is not on my list at all. The simple reason is that I see TvScheduler as a sub-system that handles everything guide-related, the XMLTV data, the schedules on it, alerts,... and since the last beta the recordings that were made based on those schedules.

    But when you see TVScheduler as a subsystem, why then not use the TV-Engines DB? For me (using clickfinder) would be the need to convert this data for TVEngine and for TVScheduler too. Since I have around 150 channels this takes even on a DualCore-Processor very long. And next to the time there is a practical problem too. I need another program that converts Clickfinder to xml. Then I have to find a way to automate this conversion. And this is all pretty complicated and not too userfriendly. So my question is, if it wouldnt be the easiest way to simply read from TVServer-DB?!?

    TvScheduler's rules engine already allows for this actually, but it's not possible from the GUI to create such a schedule. Perhaps I could parse the text that is entered and split it on the ";" charachter? So you would enter "CSI;Vegas". Does that make sense?

    Yeah, that would be more then enough!

    Linking is easier if you start typing the channel name. The channels will be automatically filtered for you in a dropdown then. A backup is rather hard to do since I link on MediaPortal's internal ID. So if you would recreate the TVE3 database, all channels would get a different ID, and the backup would be useless :(

    Nice, didnt try that.

    Right now the "Around time" rule together with the "Days of week" is a good way to record a show. But I plan to enhance this since TvScheduler internally keeps track of what episodes have been recorded so it could skip previously recorded episodes automatically.
    But even when I implement this, this will only work if your guide data contains either an episode title (subtitle) or episode number. I'm lucky since the UK and Belgian data I use has this information.

    Yeah, thats logical that it only works when having this data. For me the around time works not in all cases due to a following case: A dokumentation (which is not really a series) is on different daytimes, sometimes these are re-runs, sometimes not. So with "around" I dont get all. So if there would be an option to automatically not record re-runs, would be great to have.
    Additionally maybe an further option like: "Don't record when already recorded" and "Don't record when still on hdd"; so this would help when say having the TVScheduler run for two years and its log says "Show A" has already been recorded, but I want to see it again. Do you understand what I am thinking of?

    Are you sure? There can be a lot of channels and a lot of categories. You could end up creating a schedule that records everything ;) And if channels are added, or categories, the list would be incomplete. Unless I do add an "is not" option, but then my first comment applies even more.

    Yes, I am :) Short example: I like to record something with "New York" in description, mostly documentations. EPG is full of shows with "New York", so I like to kick some movies, series and so on out of my schedule. But since, how you already very correctly stated, there are lots of categories, the first 50 results are all categories I dont want. So if I had an option, "add all", I could simply look at the results list and remove every categorie I don't want. This way round it would be much easier (with the EPG-Data I have) to schedule the way I want it.

    I would be pretty happy if you could think about my suggestions and I especially hope you're rethinking about my DB-Problem. But still, I really love that stuff and am pretty impressed how flawless this already now works here!

    Regards
     

    The_Stig

    Retired Team Member
  • Premium Supporter
  • April 5, 2005
    2,175
    428
    And another thing: Would you mind providing us with the code. Just had a little talk on IRC and some dev's want to have look at it :) Thanks!
     

    dvdfreak

    Portal Pro
    June 13, 2006
    979
    178
    Home Country
    Belgium Belgium
    Hey dvdfreak,

    To be honest, this is not on my list at all. The simple reason is that I see TvScheduler as a sub-system that handles everything guide-related, the XMLTV data, the schedules on it, alerts,... and since the last beta the recordings that were made based on those schedules.

    But when you see TVScheduler as a subsystem, why then not use the TV-Engines DB? For me (using clickfinder)

    Since I see it as an isolated subsystem, a service that can be used by other programs, all and everything going through the service API. So no direct database access for example, and obviously als no direct database access from within TvScheduler to another system.

    If TVE3 would use TvScheduler as a subsystem it would itself no longer have any need for a Program table, nor a Schedules table, a Recording table,... Now I know this is no quick-quick change (far from it), but from a design point-of-view it's the only way to go IMHO.

    Looking at dependencies I'd say TvScheduler is lower on the ladder than TVE3. So TVE3 uses TvScheduler, and not the other way around. That's what I started to do right now with my TVE3 plugin, make TVE3 talk to TvScheduler.

    And next to the time there is a practical problem too. I need another program that converts Clickfinder to xml. Then I have to find a way to automate this conversion.

    How does ClickFinder get its data into TVE3's database right now? Direct insert? Is this a plugin? It should be super-easy to modify this and have it insert data into TvScheduler's guide, there are service methods to do this:

    Code:
            [OperationContract]
            [FaultContract(typeof(TvSchedulerException))]
            Guid EnsureChannel(string xmltvId, string displayName);
    
            [OperationContract]
            [FaultContract(typeof(TvSchedulerException))]
            GuideChannel GetChannelByXmlTvId(string xmlTvId);
    
            [OperationContract]
            [FaultContract(typeof(TvSchedulerException))]
            GuideChannel GetChannelByName(string name);
    
            [OperationContract]
            [FaultContract(typeof(TvSchedulerException))]
            Guid ImportProgram(GuideProgram guideProgram, GuideSource source);
    
            [OperationContract]
            [FaultContract(typeof(TvSchedulerException))]
            void ImportPrograms(GuideProgram[] guidePrograms, GuideSource source);

    TvScheduler's rules engine already allows for this actually, but it's not possible from the GUI to create such a schedule. Perhaps I could parse the text that is entered and split it on the ";" charachter? So you would enter "CSI;Vegas". Does that make sense?

    Yeah, that would be more then enough!

    This will be in the next release. Only for the "Contains" rule for obvious reasons :)

    Additionally maybe an further option like: "Don't record when already recorded" and "Don't record when still on hdd"; so this would help when say having the TVScheduler run for two years and its log says "Show A" has already been recorded, but I want to see it again. Do you understand what I am thinking of?

    Yes, it's clear. Perhaps it is better and clearer to add a button to purge recorded episode titles, so it "forgets" about them :) Anyway, still need to implement this rule for starters, then we can finetune it...

    Yes, I am :) Short example: I like to record something with "New York" in description, mostly documentations. EPG is full of shows with "New York", so I like to kick some movies, series and so on out of my schedule. But since, how you already very correctly stated, there are lots of categories, the first 50 results are all categories I dont want. So if I had an option, "add all", I could simply look at the results list and remove every categorie I don't want. This way round it would be much easier (with the EPG-Data I have) to schedule the way I want it.

    An "Add All" button will be in the next release.

    I would be pretty happy if you could think about my suggestions and I especially hope you're rethinking about my DB-Problem. But still, I really love that stuff and am pretty impressed how flawless this already now works here!

    Thanks! I try to code to the highest quality and have quite a few unit tests to double-check all the rules work and that I don't break anything when changing code/adding new features. Nice to see this is paying off and that people only have minor problems :)

    And another thing: Would you mind providing us with the code. Just had a little talk on IRC and some dev's want to have look at it :) Thanks!

    Well yes, I always intended for this to be included as open-source, but I would like to keep track of the code obviously. So it moves forward in the proper way so to say.

    I'll try to pop onto IRC so we can talk about this!

    [size=+1]UPDATE ALERT[/size]

    In the mean time I uploaded a small update with a small fix and some enhancements:

    • Added "Add All" button to TV channels and Categories in the Edit Schedule panel, and a label that is displayed when no channels or categories are selected. Listboxes are also multi-select now to make it easier to remove multiple entries.
    • When creating/editing a schedule the title Contains rule may now contain a ";" separator, in which case all of the substrings need to be present in the title.
    • Changes to pre- and post-recording or the schedule's priority are now also synced by the MediaPortal plugin.
    • Bug fix: VeryLow schedule priority now works again.
     

    richy759

    MP Donator
  • Premium Supporter
  • July 16, 2007
    130
    4
    Home Country
    United Kingdom United Kingdom
    dvdfreak

    I'd just like to give you a big pat on the back. For me the TV scheduler is now almost perfect (with the addition of the ; seperator).
    If if was integrated with MP in the TVE3 plugin it would be perfect but I can appreciate that is a lot or work.

    Cheers,
    Richard
     

    jake78

    Portal Pro
    July 30, 2005
    73
    2
    Home Country
    Sweden Sweden
    What happens if the TV network replaces a show with a another show or perhaps delays it, will the TvScheduler notice this and change the upcoming recording?
     

    dvdfreak

    Portal Pro
    June 13, 2006
    979
    178
    Home Country
    Belgium Belgium
    What happens if the TV network replaces a show with a another show or perhaps delays it, will the TvScheduler notice this and change the upcoming recording?

    Yes.
     

    The_Stig

    Retired Team Member
  • Premium Supporter
  • April 5, 2005
    2,175
    428
    How does ClickFinder get its data into TVE3's database right now? Direct insert?

    This is a plugin by rtv for TVEngine.

    But what I still dont really get, how does it work with e.g. DVB-EPG or other EPG-Sources? There are several ways to get Data. Do you have to convert all to .xml too? I have still the meaning that the way round you plan it is too inflexible, but maybe I got something wrong?!? :confused:
     

    Users who are viewing this thread

    Top Bottom