6 years agoTimerlist - added eventNameFont for timername size
ims [Sun, 25 Jan 2015 13:34:43 +0000 (14:34 +0100)]
Timerlist - added eventNameFont for timername size

Signed-off-by: littlesat <>

6 years agoChannelSelection: We need to rename/remove from the correct directory
littlesat [Sun, 25 Jan 2015 11:45:07 +0000 (12:45 +0100)]
ChannelSelection: We need to rename/remove from the correct directory

6 years agoAdd purge and restored removed userbouquets functionality
littlesat [Sun, 25 Jan 2015 10:43:41 +0000 (11:43 +0100)]
Add purge and restored removed userbouquets functionality

6 years agoRemove userbouquets are renamed so remove is not required anymore
littlesat [Sun, 25 Jan 2015 10:13:38 +0000 (11:13 +0100)]
Remove userbouquets are renamed so remove is not required anymore

6 years agoMake load unlinked bouquets configurable
Littlesat [Sun, 25 Jan 2015 09:21:23 +0000 (10:21 +0100)]
Make load unlinked bouquets configurable

We induce a feature months ago that loaded "unlinked" userbouquets. This
means that userbouquets that are not in and
are also loaded into the service list on top of it. This was intended
when you install settings and have your own added userbouquets that those
own added userbouquets are still loaded after an upgrade via opkg of the
installed settings. This is some kind of intelligent algorythm. It also
helps you to clean userbouquets that are unlinked and left behind as they
are added in the list you were able to remove then (ghost bouquets)

But some users do not understand/like this issue. So for now I make it
configurable and you are able to disable this feature.

6 years agoepgcache: Move savetofile routine from servicedvbrecord to epgcache
Mike Looijmans [Sat, 24 Jan 2015 08:40:02 +0000 (09:40 +0100)]
epgcache: Move savetofile routine from servicedvbrecord to epgcache

servicedvbrecord was the one and only user for two lookup functions
that required the cache to be locked from the outside. Move this
save-EIT-to-file routine to the epgcache, so that other objects no
longer need to know about the internal workings of the cache.

Remove the now unused lookupEvents methods that were recursively
locking the cache mutex.

This also removes lowlevel/eit.h from the header, only epgcache needs
to know about the EIT internals.

6 years agoInputDeviceSetup: Use RC Code '5' for ET9000/9100
dima73 [Fri, 23 Jan 2015 17:23:57 +0000 (18:23 +0100)]
InputDeviceSetup: Use RC Code '5' for ET9000/9100

Signed-off-by: littlesat <>

6 years agoSkinSelector: Only switch skin when you really do restart Enigma2
littlesat [Fri, 23 Jan 2015 16:41:50 +0000 (17:41 +0100)]
SkinSelector: Only switch skin when you really do restart Enigma2

WHen you change the skin between e.g. a 720 and a 1080 after you
select the skin you get a message that the UI should be restarted
At this message you already get a png from the new skin. Now the skin
will be switched after you select yes on rebote so you will keep
the png there from the current selected skin. In addition we do
only switch the skin when you perform the reboot. So not store the
new skin and suddenly discover after a next reboot that the skin
was changed.

6 years agoRevert "ChannelSelection: Make it possible to hide userbouquets"
littlesat [Fri, 23 Jan 2015 15:51:58 +0000 (16:51 +0100)]
Revert "ChannelSelection: Make it possible to hide userbouquets"

This reverts commit 323f89f3487a9f9a8c8f12e840c6c47825183286.

As this patch was not really required. In OpenPLi hide bouquets was functioning
directly within the service list already a long time ago.
There was only an anomaly in case the first service in a list was hidden. As this
anomaly was solved this patch is really not required anymore.

6 years agoChannelSelection: Sanity check current running service
dima73 [Fri, 23 Jan 2015 14:56:59 +0000 (15:56 +0100)]
ChannelSelection: Sanity check current running service

Signed-off-by: littlesat <>

6 years agoTimerSanityCheck: Add an additional constraint to double check timer
dima73 [Fri, 23 Jan 2015 10:49:29 +0000 (11:49 +0100)]
TimerSanityCheck: Add an additional constraint to double check timer

Signed-off-by: Erik Slagter <>

6 years agoTimeSanityCheck: cosmetic.
dima73 [Fri, 23 Jan 2015 10:49:09 +0000 (11:49 +0100)]
TimeSanityCheck: cosmetic.

Signed-off-by: Erik Slagter <>

6 years agoAlternatives: Fix alternative being shown as unavailable service.
dima73 [Fri, 23 Jan 2015 10:42:14 +0000 (11:42 +0100)]
Alternatives: Fix alternative being shown as unavailable service.

Signed-off-by: Erik Slagter <>

6 years agolistboxservice: Simplify some code
Littlesat [Fri, 23 Jan 2015 06:37:29 +0000 (07:37 +0100)]
listboxservice: Simplify some code

Sorry yesterday I was too much focused on the issue itself. The extra
iterator and counter variables were not required at all

6 years agolistboxservice: first try to solve anomaly when service list starts with number markers
Littlesat [Thu, 22 Jan 2015 22:49:56 +0000 (23:49 +0100)]
listboxservice: first try to solve anomaly when service list starts with number markers

When we use cable scan we also get a radio service, but the service numbers there do not
start with channel number 1. This leads to a side effect that you cannot correctly zap
through these radio channels via left/right. Only one direction works but it will skip
each time a channel. This patch at least solve the zap error. In fact the issue was that
when home was selected and the first service was a hidden service or hidden numbered marker
that this messes with the hole stuff as in fact this hidden service was still selected.
As we now search for the first not hidden service a hidden service cannot be selected
anymore. I tried this with empty list, list with only hidden markers, lists with only one
service and I could not find any further anomalies.

6 years agoRevert "listboxservice: first try to solve anomaly when service list starts with...
littlesat [Thu, 22 Jan 2015 17:18:48 +0000 (18:18 +0100)]
Revert "listboxservice: first try to solve anomaly when service list starts with number markers"

This reverts commit ea14d03b146016bcbd0d2671e9d402e6d1631ea4.

As it has another unexpected site-effect...

6 years agolistboxservice: first try to solve anomaly when service list starts with number markers
Littlesat [Wed, 21 Jan 2015 23:23:53 +0000 (00:23 +0100)]
listboxservice: first try to solve anomaly when service list starts with number markers

When we use cable scan we also get a radio service, but the service numbers there do not
start with channel number 1. This leads to a side effect that you cannot correctly zap
through these radio channels via left/right. Only one direction works but it will skip
each time a channel. This patch at least solve the zap error, but it still has another
site effect as it makes the first number marker visiable on top which is not intended
and in addition that one could get stuck on indicated as selected. I suggest for now
this is cosmetic, but this new side effect should also be solved later... probably
the open source community might also help here...

6 years agoChannelSelection: Make it possible to hide userbouquets
littlesat [Wed, 21 Jan 2015 19:06:41 +0000 (20:06 +0100)]
ChannelSelection: Make it possible to hide userbouquets

As suggested in this topic

6 years agoMovielist - size of tree description as parameter
ims [Wed, 21 Jan 2015 18:23:46 +0000 (19:23 +0100)]
Movielist - size of tree description as parameter

Signed-off-by: littlesat <>

6 years agoEPGList - aded warning when is wrong size for multiparameter
ims [Wed, 21 Jan 2015 11:14:12 +0000 (12:14 +0100)]
EPGList - aded warning when is wrong size for multiparameter

Signed-off-by: littlesat <>

6 years agoMovieList - speed improvement in attribSkin and detection of missing multiparameters
ims [Wed, 21 Jan 2015 10:59:37 +0000 (11:59 +0100)]
MovieList - speed improvement in attribSkin and detection of missing multiparameters

Signed-off-by: littlesat <>

6 years agoDo delete userbouquets when they are renamed
Littlesat [Wed, 21 Jan 2015 18:10:41 +0000 (19:10 +0100)]
Do delete userbouquets when they are renamed

This solves the issue on

When a bouquet was rename actually in the list it was removed and than pushed
back with the renamed name. Removing the bouquet actually add a '.del' to the
actual bouquet file on your box. Due to this this bouquet was not readed again
after an enigma2/box restart. By adding an option to removeService for not
adding the '.del' to the bouquet file and putting this default to true and
call it with False in it can be avoided to add the '.del'
when we are renaming bouquets.

6 years agoadded several parameters into EPGList for better fullhd skineable. Added parameters...
ims [Wed, 21 Jan 2015 09:24:03 +0000 (10:24 +0100)]
added several parameters into EPGList for better fullhd skineable. Added parameters: setIconDistance - distance between timer icon and text setIconShift - y-coordinate setTimeWidth - maximal lenght time field setColWidths - widths for 1st and 2nd column setColGap - space between columns counted as prev. col - space

Signed-off-by: littlesat <>

6 years agoMovieList - change SCOPE_SKIN_IMAGE to SCOPE_CURRENT_SKIN
ims [Tue, 20 Jan 2015 00:05:50 +0000 (01:05 +0100)]

Signed-off-by: littlesat <>

6 years agoMovieList - added skin parameters for support fullhd
ims [Tue, 20 Jan 2015 00:13:52 +0000 (01:13 +0100)]
MovieList - added skin parameters for support fullhd

Signed-off-by: littlesat <>

6 years agoAdd sanity check to avoid GSOD when starting teletext without an teletext plugin...
dima73 [Mon, 19 Jan 2015 10:49:17 +0000 (11:49 +0100)]
Add sanity check to avoid GSOD when starting teletext without an teletext plugin installed

Very unlikely, but it might happen....

Signed-off-by: littlesat <>

6 years agoSolve event when start instant record selected reference when performed from ChannelS...
dima73 [Mon, 19 Jan 2015 10:46:55 +0000 (11:46 +0100)]
Solve event when start instant record selected reference when performed from ChannelSelection

Signed-off-by: littlesat <>

6 years agofix incorrectly reference service when changing bouquets when PiPzap is used
dima73 [Mon, 19 Jan 2015 10:44:45 +0000 (11:44 +0100)]
fix incorrectly reference service when changing bouquets when PiPzap is used

Signed-off-by: littlesat <>

6 years agoHelp adapted as skineable
ims [Sun, 18 Jan 2015 17:08:20 +0000 (18:08 +0100)]
Help adapted as skineable

Signed-off-by: littlesat <>

6 years agoChoiceList - set default y-coordinate to zero. It can be set to non zero value in...
ims [Sun, 18 Jan 2015 20:46:32 +0000 (21:46 +0100)]
ChoiceList - set default y-coordinate to zero. It can be set to non zero value in skin.

Signed-off-by: littlesat <>

6 years agoepgcache: Remove unused getNextTimeEntry methods
Mike Looijmans [Sun, 18 Jan 2015 12:47:52 +0000 (13:47 +0100)]
epgcache: Remove unused getNextTimeEntry methods

Two flavors of the getNextTimeEntry methods were never used anywhere,
remove them.

6 years agoepgcache.h: Use std::tr1::unordered_map instead of __gnu_cxx::hash_map
Mike Looijmans [Sun, 18 Jan 2015 12:12:49 +0000 (13:12 +0100)]
epgcache.h: Use std::tr1::unordered_map instead of __gnu_cxx::hash_map

Fix the compiler warning about __gnu_cxx::hash_map being deprecated by
replacing it with std::tr1::unordered_map.

6 years agoepgcache.cpp: Fix possible lock scope error and hide channel_map_lock
Mike Looijmans [Sat, 17 Jan 2015 19:49:06 +0000 (20:49 +0100)]
epgcache.cpp: Fix possible lock scope error and hide channel_map_lock

No need to export channel_map_lock to the outside world, hide it in a static.

The channel_map_lock apparently protects m_knownChannels, but why it sometimes
locks and sometimes doesn't is a riddle. In DVBChannelStateChanged it looks
weird, as it aquires a lock but doesn't release it until after unlocking the
"channel_active". Looks as if a scope is missing here, add it.

6 years agoQuickSubtitleConfigMenu: Auto adjust screen size
littlesat [Sat, 17 Jan 2015 16:33:42 +0000 (17:33 +0100)]
QuickSubtitleConfigMenu: Auto adjust screen size

When no fps are displayed resize the screen to the number of topics
available in the config list.

6 years agoVirtualKeyboard skineable
ims [Sat, 17 Jan 2015 14:07:21 +0000 (15:07 +0100)]
VirtualKeyboard skineable

Signed-off-by: littlesat <>

ims [Sat, 17 Jan 2015 14:24:28 +0000 (15:24 +0100)] - replaced SCOPE_SKIN_IMAGE with SCOPE_CURRENT_SKIN

Signed-off-by: littlesat <>

6 years agoservicemp3: Do not show new subtitles when playing is paused
Littlesat [Sat, 17 Jan 2015 14:57:44 +0000 (15:57 +0100)]
servicemp3: Do not show new subtitles when playing is paused

Previously subtitles could play over and over again when in pause so
you saw one subtitle displayed going away and coming back in a
cycle. When we do not go for showtime when in pause we do not see
this 'flikkering' anymore

6 years agoMake the size of the subtitles undependent from the skin size
Littlesat [Sat, 17 Jan 2015 14:40:50 +0000 (15:40 +0100)]
Make the size of the subtitles undependent from the skin size

e.g. in 1920x1080 skins the subtitles are very small in comparision with
1280x720 skins. Now the fontsize will be compensated so they look in size
the same in both type of skins. Also the border is taken into account.
So when changing to a 1920x1080 skin you do not need to alter the fontsize
for subtitles

6 years agoStreamline the code around the pango (external) subtitles
Littlesat [Sat, 17 Jan 2015 14:17:24 +0000 (15:17 +0100)]
Streamline the code around the pango (external) subtitles

6 years agoBring back alternative coloring for pango (external) subtitles
Littlesat [Sat, 17 Jan 2015 13:45:25 +0000 (14:45 +0100)]
Bring back alternative coloring for pango (external) subtitles

And in addition add for the fontswitch a separate config

6 years agoAuto adjust slider height in configLists
Littlesat [Sat, 17 Jan 2015 13:10:37 +0000 (14:10 +0100)]
Auto adjust slider height in configLists

e.g. when the height is heigher for 1080 skins

6 years agoepgcache.cpp: Allow other Python threads to run during EPG import
Mike Looijmans [Sat, 17 Jan 2015 09:41:39 +0000 (10:41 +0100)]
epgcache.cpp: Allow other Python threads to run during EPG import

When importing EPG data into the cache from within Python, the GIL
can be released while the data is being processed. This should
improve the GUI responsiveness when for example the EPG importer
plugin is transferring data to the EPG cache.

6 years agoRefactor parseDVBtime
Mike Looijmans [Sat, 17 Jan 2015 08:42:57 +0000 (09:42 +0100)]
Refactor parseDVBtime

Avoid optional parameters and provide proper signatures so the conversions
can all be done in one place.

6 years agofallback tuner: fix for alternatives sometimes shown as fallback service.
Erik Slagter [Sat, 17 Jan 2015 09:27:30 +0000 (10:27 +0100)]
fallback tuner: fix for alternatives sometimes shown as fallback service.


6 years agoepgcache.cpp: Factor out calculate_crc_hash method
Mike Looijmans [Fri, 16 Jan 2015 19:01:09 +0000 (20:01 +0100)]
epgcache.cpp: Factor out calculate_crc_hash method

Instead of repeating the code, put it into a static method.

6 years agoConfigList: Make slider/text seperation configurable by skin
littlesat [Fri, 16 Jan 2015 17:42:59 +0000 (18:42 +0100)]
ConfigList: Make slider/text seperation configurable by skin

6 years agoPluginList: Scale the plugin icon
littlesat [Fri, 16 Jan 2015 17:16:22 +0000 (18:16 +0100)]
PluginList: Scale the plugin icon

6 years agoAdapted SelectionList to fully skineable
ims [Fri, 16 Jan 2015 15:51:10 +0000 (16:51 +0100)]
Adapted SelectionList to fully skineable

Signed-off-by: littlesat <>

6 years agoPluginlist - use SCOPE_CURRENT_SKIN instead SCOPE_CURRENT_IMAGE for icons
ims [Fri, 16 Jan 2015 15:29:41 +0000 (16:29 +0100)]
Pluginlist - use SCOPE_CURRENT_SKIN instead SCOPE_CURRENT_IMAGE for icons

Signed-off-by: littlesat <>

6 years agoadapt ServiceInfo as skineable
ims [Fri, 16 Jan 2015 14:50:13 +0000 (15:50 +0100)]
adapt ServiceInfo as skineable

Signed-off-by: littlesat <>

6 years agoPluginlist - do not use parameter itemheight for font1
ims [Fri, 16 Jan 2015 15:03:11 +0000 (16:03 +0100)]
Pluginlist - do not use parameter itemheight for font1

Signed-off-by: littlesat <>

6 years agoAdapted PluginList to fully skineable
ims [Fri, 16 Jan 2015 13:02:10 +0000 (14:02 +0100)]
Adapted PluginList to fully skineable

Signed-off-by: littlesat <>

6 years agoAdapted ChoiceList to fully skineable
ims [Fri, 16 Jan 2015 13:04:48 +0000 (14:04 +0100)]
Adapted ChoiceList to fully skineable

Signed-off-by: littlesat <>

6 years agoAdapted FileList to fully skineable
ims [Fri, 16 Jan 2015 13:05:57 +0000 (14:05 +0100)]
Adapted FileList to fully skineable

Signed-off-by: littlesat <>

6 years Add parameter section
littlesat [Fri, 16 Jan 2015 10:17:50 +0000 (11:17 +0100)] Add parameter section

This is helpfull to finetine some dimentions in the code to be able to make finetuning in e.g. Lists
Very nice for Full-HD skins

6 years agoapplySkin improve performance with using try/except
littlesat [Fri, 16 Jan 2015 10:12:08 +0000 (11:12 +0100)]
applySkin improve performance with using try/except

As suggested by Milo...

6 years agoRevert "configurable parameters for plugin browser."
littlesat [Fri, 16 Jan 2015 10:06:24 +0000 (11:06 +0100)]
Revert "configurable parameters for plugin browser."

This reverts commit ba639aaac59ec5d16bdcf415636cc27dbc3a2f7e.

As we discovered a better way to do this

6 years agoRevert "applySkin: avoid to use eval, use local().get(attrib)(value) instead"
littlesat [Fri, 16 Jan 2015 10:06:01 +0000 (11:06 +0100)]
Revert "applySkin: avoid to use eval, use local().get(attrib)(value) instead"

This reverts commit c06cd4649f5376f844aee429f4075dfe35067d26.

As we discovered a better way to do this

6 years agoRevert "applySkin improve performance with using try/except"
littlesat [Fri, 16 Jan 2015 10:04:24 +0000 (11:04 +0100)]
Revert "applySkin improve performance with using try/except"

This reverts commit 3ce7b462c9702cb7a869759bbbbfa11496ebb14e.

As we discovered a better way to do this

6 years agoRevert "FileList: Add itemHeight, font and iconMargin skin attributes"
littlesat [Fri, 16 Jan 2015 10:04:00 +0000 (11:04 +0100)]
Revert "FileList: Add itemHeight, font and iconMargin skin attributes"

This reverts commit 31c382adc67ead4300abeb219f861d15e3172fcb.

As we discovered a better way to do this

6 years agoRevert "Adapted FileList as fully skineable. Parameters in comment in file"
littlesat [Fri, 16 Jan 2015 10:03:33 +0000 (11:03 +0100)]
Revert "Adapted FileList as fully skineable. Parameters in comment in file"

This reverts commit c551819db94efe27f07084e3f65691700852cf20.

As we discovered a better way to do this

6 years agoRevert "prepared SelectionList for full skineable"
littlesat [Fri, 16 Jan 2015 10:03:15 +0000 (11:03 +0100)]
Revert "prepared SelectionList for full skineable"

This reverts commit dde7661ee181ad445033e76db94405c7d3bcabbb.

As we discovered a better way to do this

6 years agoRevert "Pluginlist - fixed plugins icon position, class instead globals, skin paramet...
littlesat [Fri, 16 Jan 2015 10:02:19 +0000 (11:02 +0100)]
Revert "Pluginlist - fixed plugins icon position, class instead globals, skin parameters in comment"

This reverts commit 6efe885377e92c094b8a92251945c72438fff9d6.

As we discovered a better way to do this

6 years agoRevert "Solve typo included in the three previous commits from IMS"
littlesat [Fri, 16 Jan 2015 10:01:39 +0000 (11:01 +0100)]
Revert "Solve typo included in the three previous commits from IMS"

This reverts commit 68d9f8c75d7939a120067e90ae2aa9afb36bfc91.

As we discovered a better way to do this

6 years agoRevert "Try to solve GSOD with Dreamexplorer after latest FileList changes"
littlesat [Fri, 16 Jan 2015 10:00:09 +0000 (11:00 +0100)]
Revert "Try to solve GSOD with Dreamexplorer after latest FileList changes"

This reverts commit 7560fdcfda8f1a4ae79e1480447124bf4df0df7d.

As we found a better method

6 years agofallback tuner: if a fallback tuner service is being recorded,
dima73 [Fri, 16 Jan 2015 09:46:33 +0000 (10:46 +0100)]
fallback tuner: if a fallback tuner service is being recorded,
show it as red instead of the fallback tuner service colour.

Signed-off-by: Erik Slagter <>

6 years agoTry to solve GSOD with Dreamexplorer after latest FileList changes
littlesat [Thu, 15 Jan 2015 11:03:01 +0000 (12:03 +0100)]
Try to solve GSOD with Dreamexplorer after latest FileList changes

And solve an additional issue where removing elements from a list while iterating

6 years agoSolve typo included in the three previous commits from IMS
littlesat [Thu, 15 Jan 2015 10:21:32 +0000 (11:21 +0100)]
Solve typo included in the three previous commits from IMS

- self.skinAttributes((attrib, value))
+ self.skinAttributes.remove((attrib, value))

6 years agoPluginlist - fixed plugins icon position, class instead globals, skin parameters...
ims [Thu, 15 Jan 2015 08:54:47 +0000 (09:54 +0100)]
Pluginlist - fixed plugins icon position, class instead globals, skin parameters in comment

Signed-off-by: littlesat <>

6 years agoprepared SelectionList for full skineable
ims [Wed, 14 Jan 2015 22:11:38 +0000 (23:11 +0100)]
prepared SelectionList for full skineable

Signed-off-by: littlesat <>

6 years agoAdapted FileList as fully skineable. Parameters in comment in file
ims [Wed, 14 Jan 2015 22:00:46 +0000 (23:00 +0100)]
Adapted FileList as fully skineable. Parameters in comment in file

Signed-off-by: littlesat <>

6 years agoNimManager: improve performance with using try/except
Athanasios Oikonomou [Wed, 14 Jan 2015 20:58:59 +0000 (22:58 +0200)]
NimManager: improve performance with using try/except

Signed-off-by: littlesat <>

6 years agoAVSwitch: improve performance with using try/except
Athanasios Oikonomou [Wed, 14 Jan 2015 20:51:23 +0000 (22:51 +0200)]
AVSwitch: improve performance with using try/except

Signed-off-by: littlesat <>

6 years agoFileList: Add itemHeight, font and iconMargin skin attributes
littlesat [Wed, 14 Jan 2015 21:03:27 +0000 (22:03 +0100)]
FileList: Add itemHeight, font and iconMargin skin attributes

Might be helpfull for 1080 skins

6 years agoHardwareInfo: use try catch instead checking if file exist
Athanasios Oikonomou [Wed, 14 Jan 2015 18:20:14 +0000 (20:20 +0200)]
HardwareInfo: use try catch instead checking if file exist

Also remove old device name detection using cpu info

Signed-off-by: littlesat <>

6 years agoapplySkin improve performance with using try/except
littlesat [Wed, 14 Jan 2015 18:46:20 +0000 (19:46 +0100)]
applySkin improve performance with using try/except

As suggested by Milo...

6 years agoapplySkin: avoid to use eval, use local().get(attrib)(value) instead
ims [Mon, 12 Jan 2015 22:15:27 +0000 (23:15 +0100)]
applySkin: avoid to use eval, use local().get(attrib)(value) instead

and note to abbreviations

Signed-off-by: littlesat <>

6 years agoconfigurable parameters for plugin browser.
ims [Mon, 12 Jan 2015 22:00:35 +0000 (23:00 +0100)]
configurable parameters for plugin browser.

setItemNameFont, setItemDescrFont, setNameXYH, setDescrXYH, setIconXYWH

Signed-off-by: littlesat <>

6 years agoServiceList: Try to solve endless stuff with recording indicator
Littlesat [Tue, 13 Jan 2015 23:09:45 +0000 (00:09 +0100)]
ServiceList: Try to solve endless stuff with recording indicator

In the alternatives check ++it was done, while it shoud be actually i++
Thanks Dima for reporting

6 years agosubtitles: added workaround for rendering fault when dialog
Erik Slagter [Tue, 13 Jan 2015 19:19:53 +0000 (20:19 +0100)]
subtitles: added workaround for rendering fault when dialog
colouring is enabled, rewrap is off and alignment is center.

6 years agoepgcache.cpp: Fix the unaligned uint32_t* access
Mike Looijmans [Tue, 13 Jan 2015 18:51:43 +0000 (19:51 +0100)]
epgcache.cpp: Fix the unaligned uint32_t* access

creating a byte array and then casting that to an uint32_t* is very very bad,
in particular when you do that at a 10-byte offset.

Refactor the eventData struct to store the 10 bytes in one array, and the
list of CRC codes into another. This does not even increase the size of the

This solves the unaligned access, and also cleans up a few very ugly loops.
As a result, this code should now run correctly on e.g. ARM systems that cannot
do unaligned access, and it should run faster too on all systems.

It can even still read and write epg.dat files in the same format as before.

6 years agoAlternative services priority: make No priority option translatable
blzr [Mon, 12 Jan 2015 23:31:14 +0000 (00:31 +0100)]
Alternative services priority: make No priority option translatable

Signed-off-by: littlesat <>

6 years agouse SCOPE_CURRENT_SKIN instead SCOPE_CURRENT_IMAGE for icons
ims [Mon, 12 Jan 2015 21:52:58 +0000 (22:52 +0100)]

Signed-off-by: littlesat <>

6 years agoTimerSanityCheck: Reduce incorrect conflicts
dima73 [Mon, 12 Jan 2015 21:44:02 +0000 (22:44 +0100)]
TimerSanityCheck: Reduce incorrect conflicts

Based on Schimmerreiter patch on oe-a

Signed-off-by: littlesat <>

6 years agoInfoBarGenerics: remove unused import
Athanasios Oikonomou [Mon, 12 Jan 2015 21:32:08 +0000 (23:32 +0200)]
InfoBarGenerics: remove unused import

Signed-off-by: littlesat <>

6 years agoAVSwitch: store check value directly on SystemInfo
Athanasios Oikonomou [Mon, 12 Jan 2015 21:17:16 +0000 (23:17 +0200)]
AVSwitch: store check value directly on SystemInfo

Signed-off-by: littlesat <>

6 years agoRevert "AVSwitch: use fileExists instead try catch check file not exists"
Athanasios Oikonomou [Mon, 12 Jan 2015 21:07:19 +0000 (23:07 +0200)]
Revert "AVSwitch: use fileExists instead try catch check file not exists"

This reverts commit 04b5930be7c59f2f1bed17c2ac2dfc3a5568d404.

Signed-off-by: littlesat <>

6 years agoAdd sanity check if the timer status is changed
dima73 [Mon, 12 Jan 2015 19:37:06 +0000 (20:37 +0100)]
Add sanity check if the timer status is changed

e.g open single EPG and press green button(Change timer) --> open ChoiceBox(timer state = StateWaiting) pause 20 sec. and run Disable timer(timer state = StateRunning)--> ups! bug

Signed-off-by: littlesat <>

6 years agoapplySkin: avoid to use eval, use local().get(attrib)(value) instead
littlesat [Mon, 12 Jan 2015 19:06:58 +0000 (20:06 +0100)]
applySkin: avoid to use eval, use local().get(attrib)(value) instead

6 years agoepgcache.cpp: Remove the public lies from eventData.
Mike Looijmans [Mon, 12 Jan 2015 18:20:08 +0000 (19:20 +0100)]
epgcache.cpp: Remove the public lies from eventData.

All the members of eventData are being accessed directly in this file, so
don't lie and just name eventData a struct since it's all public anyway.

make CacheSize unsigned.

Write a note about the unaligned access (which proves that no one ever tried
to run this on an ARM which would barf at unaligned access attempts) but
don't address it because I intend to redo this descriptor stuff anyway.

6 years agofor EPGList added skin parameters setEventItemFont and setEventTimeFont
ims [Mon, 12 Jan 2015 14:40:03 +0000 (15:40 +0100)]
for EPGList added skin parameters setEventItemFont and setEventTimeFont

Signed-off-by: littlesat <>

6 years agoAVSwitch: use fileExists instead try catch check file not exists
Athanasios Oikonomou [Sun, 11 Jan 2015 17:40:07 +0000 (19:40 +0200)]
AVSwitch: use fileExists instead try catch check file not exists

Signed-off-by: littlesat <>

6 years agoSetup missing AAC downmix when proc entry exists
Athanasios Oikonomou [Sun, 11 Jan 2015 14:34:20 +0000 (16:34 +0200)]
Setup missing AAC downmix when proc entry exists

Generic Multi channel downmix is now writing downmix/passthrough
also in /proc/stb/audio/aac when AAC entry exists.

In A/V Settings menu we can now set downmix/passthrough seperately for AAC.

Finally when AAC entry exists SystemInfo["CanDownmixAAC"] will be true.

Signed-off-by: littlesat <>

6 years agoSetup missing DTS downmix when proc entry exists
Athanasios Oikonomou [Sun, 11 Jan 2015 13:59:07 +0000 (15:59 +0200)]
Setup missing DTS downmix when proc entry exists

Generic AC3/DTS is only writing to /proc/stb/audio/ac3 but many STB
have a separate entry for DTS /proc/stb/audio/dts.

When DTS entry exists we need to also set downmix when used from AudioSelection menu.
So AC3/DTS downmix was renamed to generic Multi channel downmix.

In A/V Settings menu we can now set downmix/passthrough seperately  for AC3 and DTS.

Finally when DTS entry exists SystemInfo["CanDownmixDTS"] will be true.

Signed-off-by: littlesat <>

6 years agoTimerEdit: Streamline some code (hopefully last time)
littlesat [Sun, 11 Jan 2015 21:35:34 +0000 (22:35 +0100)]
TimerEdit: Streamline some code (hopefully last time)

6 years agoteletext subtitles: fix words sometimes being joined
Erik Slagter [Sun, 11 Jan 2015 10:34:40 +0000 (11:34 +0100)]
teletext subtitles: fix words sometimes being joined
together without proper whitespace.

Sometimes teletext subtitles are delivered with colour
attribute characters between the words, instead of spaces.
This is perfectly legal because on a hardware teletext
decoder, colour attributes also occupy a character cell.

Enigma2 appears to apply an optimisation where colour
attributes that change to the current colour (so actually
no change) are skipped. This is okay, but this makes the
colour attribute as whitespace to be dropped altogether,
without replacing them as whitespace.

Removed the optimisation altogether because it doesn't
make much sense anymore, it's probably a left-over from
(much) older code. The removal doesn't seem to break
anything, please report if it does.

6 years agoepgcache.cpp: Turn DescriptorPair into a struct
Mike Looijmans [Sun, 11 Jan 2015 08:48:38 +0000 (09:48 +0100)]
epgcache.cpp: Turn DescriptorPair into a struct

Instead of a std::pair sprinkling meaningless "first" and "second"
everywhere, replace DescriptorPair with a proper struct. This greatly
improves readbility of the code. Make the DescriptorMap a typedef.

And a bit of cosmetics (whitespace).

6 years agoepgcache: Move internal structs and defines to cpp file
Mike Looijmans [Sat, 10 Jan 2015 18:50:45 +0000 (19:50 +0100)]
epgcache: Move internal structs and defines to cpp file

No need to export these to other classes, only epgcache.cpp uses them.
Help clarify the code, and what does matter to the outside. And reduce
compile time dependencies when playing around with the implementation.

6 years agosubtitles: change option description as it appears to update localisation.
Erik Slagter [Sat, 10 Jan 2015 18:47:52 +0000 (19:47 +0100)]
subtitles: change option description as it appears to update localisation.

6 years agoTimerEdit: Streamline some code by only once configure the list
littlesat [Sat, 10 Jan 2015 18:59:47 +0000 (19:59 +0100)]
TimerEdit: Streamline some code by only once configure the list