Skip to content

Commit 7827023

Browse files
authored
Fix custom genre strings (#286)
For custom genre strings xbmc/xbmc#16541 states that is GenreSubType that needs to be used.
1 parent 1da42fe commit 7827023

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

src/EPG.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ PVR_ERROR EPG::GetEPGForChannel(int channelUid, time_t start, time_t end, kodi::
121121
// genre type
122122
broadcast.SetGenreType(XMLUtils::GetIntValue(pListingNode, "genre_type"));
123123
broadcast.SetGenreSubType(XMLUtils::GetIntValue(pListingNode, "genre_subtype"));
124-
125124
}
126125

127126
NextPVR::GenreBlock genreBlock = { sGenre, broadcast.GetGenreType(), EPG_EVENT_CONTENTMASK_UNDEFINED };

src/utilities/GenreMapper.cpp

+5-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ GenreMapper::GenreMapper(const std::shared_ptr<InstanceSettings>& settings) : m_
2424
GenreMapper::~GenreMapper() {}
2525

2626

27-
bool GenreMapper::IsEnabled()
27+
bool GenreMapper::UseDvbGenre()
2828
{
2929
return !m_settings->m_genreString;
3030
}
@@ -66,7 +66,7 @@ bool GenreMapper::ParseAllGenres(const tinyxml2::XMLNode* node, GenreBlock& genr
6666
{
6767
if (allGenres.find(EPG_STRING_TOKEN_SEPARATOR) != std::string::npos)
6868
{
69-
if (IsEnabled())
69+
if (UseDvbGenre())
7070
{
7171
std::vector<std::string> genreCodes = kodi::tools::StringUtils::Split(allGenres, EPG_STRING_TOKEN_SEPARATOR);
7272
if (genreCodes.size() == 2)
@@ -86,17 +86,14 @@ bool GenreMapper::ParseAllGenres(const tinyxml2::XMLNode* node, GenreBlock& genr
8686
}
8787
if (genreBlock.genreSubType == EPG_EVENT_CONTENTMASK_UNDEFINED)
8888
{
89-
if (genreBlock.genreType != EPG_GENRE_USE_STRING)
90-
{
91-
genreBlock.genreType = EPG_GENRE_USE_STRING;
92-
}
89+
genreBlock.genreSubType = EPG_GENRE_USE_STRING;
9390
genreBlock.description = allGenres;
9491
}
9592
}
96-
else if (!IsEnabled() && genreBlock.genreSubType != EPG_GENRE_USE_STRING)
93+
else if (!UseDvbGenre() && genreBlock.genreSubType != EPG_EVENT_CONTENTMASK_UNDEFINED)
9794
{
9895
genreBlock.description = allGenres;
99-
genreBlock.genreType = EPG_GENRE_USE_STRING;
96+
genreBlock.genreSubType = EPG_GENRE_USE_STRING;
10097
}
10198

10299
return true;

src/utilities/GenreMapper.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ namespace NextPVR
2828
int GetGenreType(std::string code);
2929
int GetGenreSubType(std::string code);
3030
bool ParseAllGenres(const tinyxml2::XMLNode* node, GenreBlock& genreBlock);
31-
bool IsEnabled();
31+
bool UseDvbGenre();
3232

3333
private:
3434
GenreMapper() = default;

0 commit comments

Comments
 (0)