Skip to content

Commit

Permalink
Merge pull request #132 from phunkyfish/unique-channels-and-radio-groups
Browse files Browse the repository at this point in the history
Unique channels and radio groups
  • Loading branch information
phunkyfish authored Nov 21, 2018
2 parents d77458b + a514cbe commit 6ceabe2
Show file tree
Hide file tree
Showing 37 changed files with 1,473 additions and 363 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ set(VUPLUS_HEADERS src/client.h
src/enigma2/extract/ShowInfoExtractor.h
src/enigma2/utilities/CurlFile.h
src/enigma2/utilities/DeviceInfo.h
src/enigma2/utilities/DeviceSettings.h
src/enigma2/utilities/LocalizedString.h
src/enigma2/utilities/UpdateState.h
src/enigma2/utilities/FileUtils.h
Expand Down
65 changes: 44 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,50 @@ VuPlus PVR client addon for [Kodi] (https://kodi.tv)
### Connection
Within this tab the connection options need to be configured before it can be successfully enabled.

* **Enigma2 hostname or IP address**: The IP address or hostname of your enigma2 based settop box.
* **Enigma2 hostname or IP address**: The IP address or hostname of your enigma2 based set-top box.
* **Web interface port**: The port used to connect to the web interface
* **Use secure HTTP (https)**: Use https to connect to the web interface
* **Username**: If the webinterface of the settop box is protected with a username / password combination this needs to be set in this option.
* **Password**: If the webinterface of the settop box is protected with a username / password combination this needs to be set in this option.
* **Username**: If the webinterface of the set-top box is protected with a username / password combination this needs to be set in this option.
* **Password**: If the webinterface of the set-top box is protected with a username / password combination this needs to be set in this option.
* **Enable automatic configuration for live streams**: When enabled the stream URL will be read from an M3U file. When disabled it is constructed based on the filename.
* **Streaming port**: This option defines the streaming port the settop box uses to stream live tv. The default is 8001 which should be fine if the user did not define a custom port within the webinterface.
Webinterface Port: This option defines the port that should be used to access the webinterface of the settop box.
* **Streaming port**: This option defines the streaming port the set-top box uses to stream live tv. The default is 8001 which should be fine if the user did not define a custom port within the webinterface.
Webinterface Port: This option defines the port that should be used to access the webinterface of the set-top box.
* **Use secure HTTP (https) for streams**: Use https to connect to streams
* **Use login for streams**: Use the login username and password for streams

### General
Within this tab general options are configured.

* **Fetch picons from web interface**: Fetch the picons straight from the Enigma 2 STB
* **Use picons.eu file formate**: Assume all picons files fetched from the STB start with `1_1_1_` and end with `_0_0_0`
* **Icon path**: In order to have Kodi display channel logos you have to copy the picons from your settop box onto your OpenELEC machine. You then need to specify this path in this property.
* **Update interval**: As the settop box can also be used to modify timers, delete recordings etc. and the settop box does not notify the Kodi installation, the addon needs to regularly check for updates (new channels, new/changed/deletes timers, deleted recordings, etc.) This property defines how often the addon checks for updates.
* **Fetch picons from web interface**: Fetch the picons straight from the Enigma 2 set-top box.
* **Use picons.eu file formate**: Assume all picons files fetched from the set-top box start with `1_1_1_` and end with `_0_0_0`
* **Icon path**: In order to have Kodi display channel logos you have to copy the picons from your set-top box onto your OpenELEC machine. You then need to specify this path in this property.
* **Update interval**: As the set-top box can also be used to modify timers, delete recordings etc. and the set-top box does not notify the Kodi installation, the addon needs to regularly check for updates (new channels, new/changed/deletes timers, deleted recordings, etc.) This property defines how often the addon checks for updates.
* **Update mode**: The mode used when the update interval is reached. Note that if there is any timer change detected a recordings update will always occur regardless of the update mode. Choose from one of the following two modes:
- `Timers and Recordings` - Update all timers and recordings.
- `Timers only` - Only update the timers.

### Channels
Within this tab options that refer to channel data can be set.

* **Fetch only one TV bouquet**: If this option is set than only the channels that are in one specified TV bouquet will be loaded, instead of fetching all available channels in all available bouquets.
* **TV bouquet**: If the previous option has been enabled you need to specify the TV bouquet to be fetched from the settop box. Please not that this is the bouquet-name as shown on the settop box (i.e. "Favourites (TV)"). This setting is case-sensitive.
* **Zap before channelswitch (i.e. for Single Tuner boxes)**: When using the addon with a single tuner box it may be necessary that the addon needs to be able to zap to another channel on the settop box. If this option is enabled each channel switch in Kodi will also result in a channel switch on the settop box. Please note that "allow channel switching" needs to be enabled in the webinterface on the settop box.
Within this tab options that refer to channel data can be set. When changing bouquets you may need to clear the channel cache to the settings to take effect. You can do this by going to the following in Kodi settings: `Settings->PVR & Live TV->General->Clear cache`.

* **Zap before channelswitch (i.e. for Single Tuner boxes)**: When using the addon with a single tuner box it may be necessary that the addon needs to be able to zap to another channel on the set-top box. If this option is enabled each channel switch in Kodi will also result in a channel switch on the set-top box. Please note that "allow channel switching" needs to be enabled in the webinterface on the set-top box.
* **TV bouquet fetch mode**: Choose from one of the following three modes:
- `All bouquets` - Fetch all TV bouquets from the set-top box.
- `Only one bouquet` - Only fetch the bouquet specified in the next option
- `Favourites group` - Only fetch the system bouquet for TV favourites.
* **TV bouquet**: If the previous option has been has been set to `Only one bouquet` you need to specify the TV bouquet to be fetched from the set-top box. Please not that this is the bouquet-name as shown on the set-top box (i.e. "Favourites (TV)"). This setting is case-sensitive.
* **Fetch TV favourites bouquet**: If the fetch mode is `All bouquets` or `Only one bouquet` depending on your Enigma2 image you may need to explicitly fetch favourites if you require them. The options are:
- `Disabled` - Don't explicitly fetch TV favourites.
- `As first bouquet` - Explicitly fetch them as the first bouquet.
- `As last bouquet` - Explicitly fetch them as the last bouquet.
* **Radio bouquet fetch mode**: Choose from one of the following three modes:
- `All bouquets` - Fetch all Radio bouquets from the set-top box.
- `Only one bouquet` - Only fetch the bouquet specified in the next option
- `Favourites group` - Only fetch the system bouquet for Radio favourites.
* **Radio bouquet**: If the previous option has been has been set to `Only one bouquet` you need to specify the Radio bouquet to be fetched from the set-top box. Please not that this is the bouquet-name as shown on the set-top box (i.e. "Favourites (Radio)"). This setting is case-sensitive.
* **Fetch Radio favourites bouquet**: If the fetch mode is `All bouquets` or `Only one bouquet` depending on your Enigma2 image you may need to explicitly fetch favourites if you require them. The options are:
- `Disabled` - Don't explicitly fetch Radio favourites.
- `As first bouquet` - Explicitly fetch them as the first bouquet.
- `As last bouquet` - Explicitly fetch them as the last bouquet.

### EPG
Within this tab options that refer to EPG data can be set. Excluding logging missing genre text mappings all other options will require clearing the EPG cache to take effect. This can be done by going to `Settings->PVR & Live TV->Guide->Clear cache` in Kodi after the addon restarts.
Expand All @@ -61,26 +80,26 @@ Information on customising the extraction and mapper configs can be found in the

* **Extract season, episode and year info where possible**: Check the description fields in the EPG data and attempt to extract season, episode and year info where possible.
* **Extract show info file**: The config used to extract season, episode and year information. The default file is `English-ShowInfo.xml`.
* **Enable genre ID mappings**: If the genre IDs sent with EPG data from your STB are not using the DVB standard, map from these to the DVB standard IDs. Sky UK for instance uses OpenTV, in that case without this option set the genre colouring and text would be incorrect in Kodi.
* **Genre ID mappings file**: The config used to map STB EPG genre IDs to DVB standard IDs. The default file is `Sky-UK.xml`.
* **Enable genre ID mappings**: If the genre IDs sent with EPG data from your set-top box are not using the DVB standard, map from these to the DVB standard IDs. Sky UK for instance uses OpenTV, in that case without this option set the genre colouring and text would be incorrect in Kodi.
* **Genre ID mappings file**: The config used to map set-top box EPG genre IDs to DVB standard IDs. The default file is `Sky-UK.xml`.
* **Enable Rytec genre text mappings**: If you use Rytec XMLTV EPG data this option can be used to map the text genres to DVB standard IDs.
* **Rytec genre text mappings file**: The config used to map Rytec Genre Text to DVB IDs. The default file is `Rytec-UK-Ireland.xml`.
* **Log missing genre text mappings**: If you would like missing genre mappings to be logged so you can report them enable this option. Note: any genres found that don't have a mapping will still be extracted and sent to Kodi as strings. Currently genres are extracted by looking for text between square brackets, e.g. [TV Drama], or for major, minor genres using a dot (.) to separate [TV Drama. Soap Opera]

### Recordings & Timers

* **Recording folder on receiver**: Per default the addon does not specify the recording folder in newly created timers, so the default set in the settop box will be used. If you want to specify a different folder (i.e. because you want all recordings scheduled via Kodi to be stored in a separate folder), then you need to set this option.
* **Use only the DVB boxes' current recording path**: If this option is not set the addon will fetch all available recordings from all configured paths from the STB. If this option is set then it will only list recordings that are stored within the "current recording path" on the settop box.
* **Recording folder on receiver**: Per default the addon does not specify the recording folder in newly created timers, so the default set in the set-top box will be used. If you want to specify a different folder (i.e. because you want all recordings scheduled via Kodi to be stored in a separate folder), then you need to set this option.
* **Use only the DVB boxes' current recording path**: If this option is not set the addon will fetch all available recordings from all configured paths from the set-top box. If this option is set then it will only list recordings that are stored within the "current recording path" on the set-top box.
* **Keep folder structure for records**: If enabled do not specify a recording folder, when disabled (defaut), check if the recording is in it's own folder or in the root of the recording path
* **Enable generate repeat timers**: Repeat timers will display as timer rules. Enabling this will make Kodi generate regular timers to match the repeat timer rules so the UI can show what's scheduled and currently recording for each repeat timer.
* **Number of repeat timers to generate**: The number of Kodi PVR timers to generate.
* **Enable autotimers**: When this is enabled there are some settings required on the STB to enable linking of AutoTimers (Timer Rules) to Timers in the Kodi UI. On the STB enable the following options (note that this feature supports OpenWebIf 1.3.x and higher):
* **Enable autotimers**: When this is enabled there are some settings required on the set-top box to enable linking of AutoTimers (Timer Rules) to Timers in the Kodi UI. The addon attempts to set these automatically on boot. To set manually on the set-top box enable the following options (note that this feature supports OpenWebIf 1.3.x and higher):
1. Hit `Menu` on the remote and go to `Timers->AutoTimers`
2. Hit `Menu` again and then select `6 Setup`
3. Set the following to option to `yes`
* `Include "AutoTimer" in tags`
* `Include AutoTimer name in tags`
* **Automatic timerlist cleanup**: If this option is set then the addon will send the command to delete completed timers from the STB after each update interval.
* **Automatic timerlist cleanup**: If this option is set then the addon will send the command to delete completed timers from the set-top box after each update interval.

### Timeshift
* **Enable timeshift**: What timeshift option do you want:
Expand All @@ -94,7 +113,11 @@ Within this tab more uncommon and advanced options can be configured.

* **Put outline (e.g. sub-title) before plot**: By default plot outline (short description on Enigma2) is not displayed in the UI. Can be
displayed in EPG, Recordings or both. After changing this option you will need to clear the EPG cache `Settings->PVR & Live TV->Guide->Clear cache` for it to take effect.
* **Send deep standby command**: If this option is set then the addon will send the DeepStandby-Command to the settop box when Kodi will be closed (or the addon will be deactivated), causing the settop box to shutdown into DeepStandby.
* **Send powerstate mode on addon exit**: If this option is set to a value other than `DISABLED` then the addon will send a Powerstate command to the set-top box when Kodi will be closed (or the addon will be deactivated).
- `Disabled` - No command sent when the addon exits
- `Standby` - Send the standby command on exit
- `Deep standby` - Send the deep standby command on exit. Note, the set-top box will not respond to Kodi after this command is sent.
- `Wakeup, then standby` - Similar to standby but first sends a wakeup command. Can be useful if you want to ensure all streams have stopped. Note: if you use CEC this could cause your TV to wake.
* **Custom live TV timeout (0 to use default)**: The timemout to use when trying to read live streams
* **Stream read chunk size**: The chunk size used by Kodi for streams. Default 0 to leave it to Kodi to decide.

Expand Down
35 changes: 11 additions & 24 deletions pvr.vuplus/addon.xml.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon
id="pvr.vuplus"
version="3.14.1"
version="3.15.0"
name="Enigma2 Client"
provider-name="Joerg Dembski and Ross Nicholson">
<requires>@ADDON_DEPENDS@</requires>
Expand Down Expand Up @@ -175,6 +175,16 @@
<disclaimer lang="zh_TW">這是測試版軟體!其原創作者並無法對於以下情況負責,包含:錄影失敗,不正確的定時設定,多餘時數,或任何產生的其它不良影響...</disclaimer>
<platform>@PLATFORM@</platform>
<news>
v3.15.0
- Added: Support for Radio Groups
- Added: Create unique list of channels instead of a copy of each channel per group, fixes #101
- Fixed: hdd free space is wrong, fixes #122
- Added: Device Settings - AutoTimer and Padding
- Added: PowerstateMode on exit, fixes #128
- Fixed: Store timer state on update, fixes #131
- Fixed: Updates not occuring at specified time and immediate update on timer event, fixes #130
- Added: Support different update modes for timers and recordings, fixes #125

v3.14.0
- Added: Externalised season/episode and genre config to allow users support other formats/languages, closes #118
- Added: Server OpenWebIf version now reported by addon
Expand All @@ -186,29 +196,6 @@ v3.13.0
v3.12.6
- Fixed: Windows build fix
- Fixed: tsbuffer.ts never got deleted, fixes #115

v3.12.5
- Fixed: Large refactor for code organisation
- Added: Disk space, only for mounts configured for recordings - Requires OpenWebIf 1.3.5, fixes #112

v3.12.4
- Fixed: Used space instead of free space in GetDriveSpace - fixes #109
- Added: Genre id support from OTA feeds - Requires OpenWebIf 1.3.5

v3.12.3
- Fixed: Refactoring - Changed Directory structure, split out classes and added getters/setters #102
- Fixed: Updated readme without VU+ entries - Courtesy of Hedda
- Fixed: New temporary icon

v3.12.2
- Fixed: Refactoring - Conventions: includes, namesapce naming, public private order in class definition
- Fixed: GetInitialEPGForGroup called for each CHANNEL while initial EPG Update - #86

v3.12.1
- Added: New setting for Prepending outline to plot
- Added: New setting for stream read chunk size
- Fixed: cosmetic error when recordings folder is empty #10
- Fixed: Rename "VuPlus" PVR client addon to Enigma2 or something else for Kodi? #28
</news>
</extension>
</addon>
13 changes: 13 additions & 0 deletions pvr.vuplus/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
v3.15.0
- Added: Support for Radio Groups
- Added: Create unique list of channels instead of a copy of each channel per group, fixes #101
- Fixed: hdd free space is wrong, fixes #122
- Added: Device Settings - AutoTimer and Padding
- Added: PowerstateMode on exit, fixes #128
- Fixed: Store timer state on update, fixes #131
- Fixed: Updates not occuring at specified time and immediate update on timer event, fixes #130
- Added: Support different update modes for timers and recordings, fixes #125

v3.14.1
- Added: updated language files from Transifex

v3.14.0
- Added: Externalised season/episode and genre config to allow users support other formats/languages, closes #118
- Added: Server OpenWebIf version now reported by addon
Expand Down
Loading

0 comments on commit 6ceabe2

Please sign in to comment.