![]() |
|
New MythTV add-on using libcmyth - Printable Version +- XBMC Community Forum (http://forum.xbmc.org) +-- Forum: Development (/forumdisplay.php?fid=32) +--- Forum: PVR Development (/forumdisplay.php?fid=136) +--- Thread: New MythTV add-on using libcmyth (/showthread.php?tid=110694) Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
- Robotica - 2012-02-28 02:32 KeithLM Wrote:OK, thanks. I've commented out the two pieces of code that add in the ": subtitle" and have rebuilt it. I will try in a few hours and see what happens. Navicat is also a very good option to use. Better GUI and easier doing more stuff. - KeithLM - 2012-02-28 03:11 Well I just tried a few shows, and it still has problems. Now there is no subtitle, which is expected. I set up two recordings on Cartoon network, from XBMC it shows in the Scheduled Recordings as being on "257 Cartoon Network" whereas when scheduled in Myth it's "257 TOON". Similarly another show I tried had a different channel name, but the ID is fine. Code: | recordid | type | chanid | starttime | startdate | endtime | enddate | title | subtitle | description | category | profile | recpriority | autoexpire | maxepisodes | maxnewest | startoffset | endoffset | recgroup | dupmethod | dupin | station | seriesid | programid | search | autotranscode | autocommflag | autouserjob1 | autouserjob2 | autouserjob3 | autouserjob4 | findday | findtime | findid | inactive | parentid | transcoder | playgroup | prefinput | next_record | last_record | last_delete | storagegroup | avg_delay |49 and 50 were made from XBMC, the other two from mythfrontend. seriesid and programid are missing, and all the post processing jobs are set to 0. I'll poke around in the code some after dinner to see if there's something else that I can figure out. - KeithLM - 2012-02-28 08:35 I tried working with the code some and have gotten myself into a weird state. In order to determine which function affected the data sent to MythTV, I altered the strings for plot to identify which function set them. After testing that and determining which function was which, I went and changed them back, but XBMC keeps showing me my test strings. I've recompiled multiple times, and can't get them to switch back. Is there some buffer that epg data is stored in? Nevermind, found it. I located Epg7.db and have deleted it. - Jimmer - 2012-02-28 10:33 KeithLM Wrote:I tried working with the code some and have gotten myself into a weird state. In order to determine which function affected the data sent to MythTV, I altered the strings for plot to identify which function set them. After testing that and determining which function was which, I went and changed them back, but XBMC keeps showing me my test strings. I've recompiled multiple times, and can't get them to switch back. Is there some buffer that epg data is stored in? Just a thought, but did you consider a corrupted epg7.db might have caused your problem in the first place? I wonder now that you have deleted it and forced xbmc to re-build it, that your problem might actually be solved. Just for disclosure, I have built every commit that tsp has made and I have never had this specific problem (even in the earlier days when things were ropier). So I wondered what was specific to your install/enviroment? - KeithLM - 2012-02-28 16:44 Jimmer Wrote:Just a thought, but did you consider a corrupted epg7.db might have caused your problem in the first place? I wonder now that you have deleted it and forced xbmc to re-build it, that your problem might actually be solved. Well I'm still having the problem. And my initial test yesterday was with a fresh epg7.db since the title/subtitle data changed. I'm curious to see what a valid recording from xbmc looks like in Myth's database. If you wouldn't mind dumping some data that would be helpful. I'm using version 0.24 of Myth pulled from whatever ppa's were provided in my Ubuntu 11.10 install. So I don't know if that makes a difference as to what data is required. And perhaps there's an option in Myth that sets it to be extra picky about program data. After all, channel, plus start time, plus end time should really do it. As far as the code, I can now tell that PVRClientMythTV::GetEPGForChannel is being used to populate epg7.db, and while that was adding the subtitle to the name, I can't be certain that was a problem. I have found that the seriesid variable in that function corresponds with that field in the database, I don't know what makes programid, but I'm going to try to track that down. Then if I can locate how that data is passed to Myth, if the api handles it, I'll put it in there. It's the best guess I have at the moment. - fiveisalive - 2012-02-28 22:31 KeithLM Wrote:Well I'm still having the problem. And my initial test yesterday was with a fresh epg7.db since the title/subtitle data changed. I'm curious to see what a valid recording from xbmc looks like in Myth's database. If you wouldn't mind dumping some data that would be helpful. I'm using version 0.24 of Myth pulled from whatever ppa's were provided in my Ubuntu 11.10 install. So I don't know if that makes a difference as to what data is required. And perhaps there's an option in Myth that sets it to be extra picky about program data. After all, channel, plus start time, plus end time should really do it. I've had success scheduling recordings with non-trivial rules via the Mythbox add-on, perhaps it might have some useful code for guiding you in terms of how to access the mythbackend from an external program. It basically uses Python to access the functionality: https://github.com/analogue/mythbox - tsp42 - 2012-02-28 23:13 KeithLM: I think the problem could be the wrong channel name. Try checking the channel table. It might reveal why the name is wrong. The problem with the subtitle is that there is no valid field for it in the XBMC EPG data. Try looking at the definition of the EPG_TAG in xbmc_pvr_types.h. So the mythtv addon has to translate the mythtv EPG data to xbmc epg data and the other way when xbmc schedules a recording. Most of the time it is enough if the start time title channel and date is correct for mythtv to schedule a recording. - KeithLM - 2012-02-28 23:38 tsp42 Wrote:KeithLM: I think the problem could be the wrong channel name. Try checking the channel table. It might reveal why the name is wrong. The problem with the subtitle is that there is no valid field for it in the XBMC EPG data. Try looking at the definition of the EPG_TAG in xbmc_pvr_types.h. So the mythtv addon has to translate the mythtv EPG data to xbmc epg data and the other way when xbmc schedules a recording. Most of the time it is enough if the start time title channel and date is correct for mythtv to schedule a recording. OK, I'll look at that, and I'll also see if I can edit the channel name in the record table and see if that changes anything. fiveisalive, I'll see about trying that also. If I can figure out other valid examples of scheduling requests I might be able to deduce the minimal number of required fields. - KeithLM - 2012-02-29 03:15 I entered a new recording on Cartoon Network from XBMC, then checked in MythTV and it had the error message. So I stopped the backend, edited the database directly and put in TOON, started the backend, and now it shows up in MythTV as looking good. I'm going to look around in the database as well as MythTV and XBMC options to see if there's something that can be done about these channel names. Perhaps it's some combination of HDHomeRun Prime and Verizon FiOS that gives me two names for each channel whereas other people don't have that, and in XBMC the wrong channel name is being pulled for use in the recordings. In MythFrontend I only see the short name. *Update* A quick look at the channel table and I see callsign and name, callsign is what should be used, name is what is being used by XBMC. - KeithLM - 2012-02-29 07:49 This is really confusing me now. I've been doing some searching and according to what I find in the docs, recordings are done based on callsign. But libcmyth.h does not have any functions to retrieve callsigns. AddTimer() is putting in the channel name, not the callsign. So I really don't understand how this is working for anyone, unless you have all your channel names== callsigns. I'd appreciate it if others who have this capability could look at their myth db and see what channel names and callsigns look like for them, just look in the record and channel tables to see what's there. Also, what is being displayed on xbmc in the program guide? Do you see the callsign or the channel name? In the function PVRClientMythTV::GetEPGForChannel we do have access to the callsign. It's in MythProgram and is accessible as the variable "callsign" in the iterator. If that were stored in the EPG_TAG I think it might be accessible further down the chain of events that leads to the timer being added. I'm not sure, ultimately it needs to get to a MythTimer. |