It's been a while and a lot has happened since I did 1.9. Memory is slowly coming back. I'm currently merging and building MP 1.10 with the grabber, just for practice really. I'm documenting everything I do - there are 3 main areas to change after the merge - and will do the same for 1.11, hopefully pretty soon after it's released. If I get 1.10 done I might pop it up on this thread, just for fun.
If anyone's interested, the 3 main areas to change are
Modify the SQL schema update method in TVEngine - SetupDatabaseForm.cs to check for and, if necessary, add the columns required by the grabber
Modify the MP installer to allow upgrade of previous customised MP installs
Modify the install script to include and copy the grabber DLLs by default
I've got the first bit - the SQL - done for 1.10 and am working on the other two now. Nothing tested yet.
Thanks J. I don't actually do anything to the MePo client - the merge works perfectly for that. Which is lucky as I'd be up sh*t creek if I had to start messing around in there. I think the only thing that happens is to add the Sky series link to recording options.
The biggest pain is the SQL and getting the columns created that the Grabber needs - and checking if they exist already. Because this mod isn't official, it doesn't relate to any official database version number. So it's not like I can put it in, say, 61 and be done with it as many people don't use this installer and don't create the columns - but may want to in the future. Neither can I create a new database version number as this is not official, and could very well prevent people upgrading to future versions further down the line.
The way I've got around it is to add a checker outside of the official version numbers that, if it doesn't find the columns, calls a SQL script that creates them. The downside of this, is that it's done in code (albeit just one line added to the 'UpdateDatabaseSchema' method calling one custom method that checks for the column and, if required, sends the custom SQL into the existing executeSQL method.
The second bit just involves adding a few unofficial version numbers to a list of official version numbers in the deploy tool.
The third bit is a file copy and listing the file paths in the TVEngine setup.nsi.
That's it really.
I got it working last night I think - I've installed official 1.10 and 'upgraded' and that works, I just want to test upgrading from a grabber customised 1.9 and a clean 1.10 grabber install then I'll upload it. As it's all fresh in my mind it'll likely be quite soon after the official release of 1.11 that I put that version up.
The series link just gets added through the merge so I don't need to do anything, it just magically appears! There will be more changes in TVE but again they're added through the merge.
Frustratingly I still can't get the thing working on my setup, the grabber consistently gets a corrupted stream and proceeds to insert a load of corrupt data into the database. Lots of index out of bounds of array errors and it deletes a load of channels. Not getting any discontinuities in DVBViewer service since I've trimmer the shrubbery that was growing over the dish.
Getting corrupt EPG data and deleting channels just make it totally unusable for me. Never used to do it, just started one day and I never worked out why.
When I do manual timeshifts in TV Control I often get 3 or 4 discontinuities when the stream starts, but don't get any more no matter how long I leave it. I wonder if the two are linked.
Thanks J - it's not an issue with the build, it's happened across a few builds for me but nobody else has reported these issues. It's something to do with my system but I'm damned if I know what. It can work OK 4 or 5 times, them just go bonkers with a whole load of corruption.. Errors in SDT, errors in BAT, you name it, the grabber finds errors in it. Then it ends with a bunch of corrupt data and assumes that none of my channels exist any more, promptly deleting them. Strange old affair.
I might - just might - have stumbled upon something. I've had it being relatively well behaved for the last 5 or so updates by adding .ts files as an exemption in Windows endpoint protection. As it has a real time scanner I'm wondering if it's locking new ts files when they're first created and causing a bit of havoc.
Don't let this put you off the 1.10 build - like I said, this one's unique to me.