New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow multiple genre values to be displayed in event information #268
Conversation
Fixes a bug that prevented access to genre & parental ratings lists from Python. Adds GenreList conversion type to EventName to support multiple genres available in IceTV EPG (Australian non-broadcaster EPG provider). Genre conversion type in EventName now implemented on the genre list to allow more flexibility in chosing a single genre from those available. Added SeparatorSlash and SeparatorComma to separate items in genre list display (defaults to SeparatorComma). Add new methods PyObject *eServiceEvent::getGenreDataList() const and PyObject *eServiceEvent::getParentalDataList() const so that their Python/SWIG API signatures are differentiated from RESULT eServiceEvent::getGenreData(ePtr<eGenreData> &dest) const and RESULT eServiceEvent::getParentalData(ePtr<eParentalData> &dest) const Add PyObject *eServiceEvent::getComponentDataList() const for consistent naming. Re-implement PyObject *getComponentData() const, PyObject *getGenreData() const and PyObject *getComponentData() const as deprecated inline methods that call the respective new methods. Add new GenreList type to the EventName converter to allow skin access to the new genre list retrieval method. The Rating types for the EventName converter have been left unchanged because the use of a ratings list is more complicated is no way to test the code for multiple country identifiers in Australian EPGs.
Are multiple genres part of DVB SI standard? Do you know of any European provider that uses this system? |
Yes, they are. ETSI EN 300 468 V1.14.1 (2014-05) Section 6.2.9 Content descriptor allows for up to 127 content identifiers in a Content Descriptor. Similarly for multiple parental ratings, in 6.2.28 Parental rating descriptor (up to 63 country code/rating pairs). They are also allowed in Australian standard AS4599 "Digital television—Terrestrial broadcasting The enigma2 code manages multiple content identifiers right up to the interface with the Python UI code. There's a bug in the way that the single-identifier and identifier-list versions of
Multiple parental ratings can also now be accessed in the Python code, though I haven't made use of that, because I have no multi-country parental ratings descriptions to test on. European developers who do have such multi-country ratings data available might want to use the capability.
What system? The ETSI DVB standards allow for multiple genres and multiple parental ratings. I said in the commit notes that it's to support "multiple genres available in IceTV EPG (Australian non-broadcaster EPG provider)," so that need is specifically Australian. The reason I made the pull request is at the request of IanSav, so that OverlayHD can display genres seamlessly in both the Beyonwiz and the OpenViX code, by using OverlayHD will work in the same way in Europe. Other skins can leave their converters as I have deliberately not included the changes to |
As Prl noted this submission is at my request and will allow greater transparency between the images. The fact that it corrects and enhances the existing code should allow for easier adoption should and other markets use, or want to use, these DVB standard options. |
Fixes a bug that prevented access to genre & parental ratings lists from
Python.
Adds GenreList conversion type to EventName to support multiple
genres available in IceTV EPG (Australian non-broadcaster EPG provider).
Adding the GenreList conversion type simplifies keeping the OverlayHD
skin portable between Beyonwiz and OpenViX.
Genre conversion type in EventName now implemented on the genre list to
allow more flexibility in chosing a single genre from those available.
Added SeparatorSlash and SeparatorComma to separate items in genre list
display (defaults to SeparatorComma).
Add new methods PyObject *eServiceEvent::getGenreDataList() const and
PyObject *eServiceEvent::getParentalDataList() const so that their
Python/SWIG API signatures are differentiated from
RESULT eServiceEvent::getGenreData(ePtr &dest) const and
RESULT eServiceEvent::getParentalData(ePtr &dest) const
Add
PyObject *eServiceEvent::getComponentDataList() const
for consistent naming.
Re-implement
PyObject *getComponentData() const,
PyObject *getGenreData() const
and PyObject *getComponentData() const
as deprecated inline methods that call the respective new methods.
Add new GenreList type to the EventName converter to allow skin
access to the new genre list retrieval method.
The Rating types for the EventName converter have been left unchanged
because the use of a ratings list is more complicated is no way to
test the code for multiple country identifiers in Australian EPGs.