diff -Nru kodi-pvr-teleboy-18.2.0/debian/changelog kodi-pvr-teleboy-18.2.1/debian/changelog --- kodi-pvr-teleboy-18.2.0/debian/changelog 2013-05-31 22:59:22.000000000 +0000 +++ kodi-pvr-teleboy-18.2.1/debian/changelog 2013-05-31 22:59:22.000000000 +0000 @@ -1,4 +1,4 @@ -kodi-pvr-teleboy (18.2.0-1~disco) disco; urgency=low +kodi-pvr-teleboy (18.2.1-1~disco) disco; urgency=low [ kodi ] * autogenerated dummy changelog diff -Nru kodi-pvr-teleboy-18.2.0/pvr.teleboy/addon.xml.in kodi-pvr-teleboy-18.2.1/pvr.teleboy/addon.xml.in --- kodi-pvr-teleboy-18.2.0/pvr.teleboy/addon.xml.in 2013-05-31 22:59:22.000000000 +0000 +++ kodi-pvr-teleboy-18.2.1/pvr.teleboy/addon.xml.in 2013-05-31 22:59:22.000000000 +0000 @@ -1,6 +1,6 @@ @@ -26,6 +26,8 @@ The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. @PLATFORM@ +v18.2.1 + - Set genre on (planned) recordings v18.2.0 - Disable addon for free accounts v18.1.8 diff -Nru kodi-pvr-teleboy-18.2.0/src/TeleBoy.cpp kodi-pvr-teleboy-18.2.1/src/TeleBoy.cpp --- kodi-pvr-teleboy-18.2.0/src/TeleBoy.cpp 2013-05-31 22:59:22.000000000 +0000 +++ kodi-pvr-teleboy-18.2.1/src/TeleBoy.cpp 2013-05-31 22:59:22.000000000 +0000 @@ -595,6 +595,16 @@ tag.iTimerType = 1; tag.iEpgUid = item["id"].GetInt(); tag.iClientChannelUid = item["station_id"].GetInt(); + if (item.HasMember("genre_id")) { + int genreId = item["genre_id"].GetInt(); + TeleboyGenre genre = genresById[genreId]; + int kodiGenre = m_categories.Category(genre.nameEn); + if (kodiGenre != 0) { + tag.iGenreSubType = kodiGenre & 0x0F; + tag.iGenreType = kodiGenre & 0xF0; + } + } + PVR->TransferTimerEntry(handle, &tag); UpdateThread::SetNextRecordingUpdate(tag.endTime + 60 * 21); @@ -616,6 +626,19 @@ time_t endTime = Utils::StringToTime(GetStringOrEmpty(item, "end")); tag.iDuration = endTime - tag.recordingTime; tag.iEpgEventId = item["id"].GetInt(); + if (item.HasMember("genre_id")) { + int genreId = item["genre_id"].GetInt(); + TeleboyGenre genre = genresById[genreId]; + int kodiGenre = m_categories.Category(genre.nameEn); + if (kodiGenre == 0) { + tag.iGenreType = EPG_GENRE_USE_STRING; + tag.iGenreSubType = 0; + PVR_STRCPY(tag.strGenreDescription, genre.name.c_str()); + } else { + tag.iGenreSubType = kodiGenre & 0x0F; + tag.iGenreType = kodiGenre & 0xF0; + } + } PVR->TransferRecordingEntry(handle, &tag); }