1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
VDR Plugin 'block' Revision History
-----------------------------------
2010/11/12: Version 0.1.1
Bugfix:
-In some cases plugin wrongly switched to a blacklisted channel, if all
channels on the given transponder were blocked. Fixed.
Features:
-Updated Italian translation. Thanks again to Diego Pierotto.
**************************************************************************
2010/11/05: Version 0.1.0a
Bugfix:
-In Parental Guidance mode while perfoming the search for a whitelisted
channel the plugin deblocked the last channel at either end of the
channel list. Fixed.
**************************************************************************
2010/11/04: Version 0.1.0
New features / Bugfixes:
-Feature: block.conf format and path changed
The blacklist was formerly stored in $VDRCONFIG\plugins. As this is also used by several other plugins
the directory might rapidly become overpopulated. I decided to move the location of block.conf to
$VDRCONFIG/plugins/block. To your convenienve you won't have to move the file manually. It is moved the first
time you start vdr after installing at least version 0.1.0 of the block-plugin.
Please note that during this process the file is also scanned for (case-insensitive) duplicates which will
be sorted out (syslogged as 'WARNINGS') as well as all entries will be marked blacklisted due to the new
blacklist/whitelist feature since version 0.1.0. It doesn't matter if you are upgrading from the taste-plugin
or a former version of the block-plugin, the plugin should choose the right file (if there is one)
automatically. Though the plugin was tested quite a lot, it might be very good idea to create a BACKUP before
you upgrade the block plugin. Nevertheless the plugin itself should create a backup of the old file in
$VDRCONFIG/plugins/block/block.conf.safe-pre0.1.0 automatically.
-Feature: Whitelist function
The most relevant new feature in this version is probably the possibility not only to blacklist entries in
the plugins list but also to whitelist them! This should make the use of the parental guidance feature much
easier for example. In this context the use of regular expressions, partial patterns, blacklist and whitelist
entries easily results in contradictory rules for a particular entry and made it necessary to implement a new
evaluation pathway. The best thing about this is that you still just have to press De-/Block in the vdr main
menu to make use of the plugin. The changes in the evaluation pathway will be applied automatically in the
background. As i think the usage of the plugin is kept as easy as possible, you could skip the description of
the decision pathway. Nevertheless the following describes happens behind the curtains, if a string is checked
for being acceptable or not:
1. First all matching entries are collected.
2. If all rules point to the same condition (blacklisted or whitelisted) this results in returning this particular
condition.
3. If contradictory rules are detected, the plugin falls back to the value of a new option in the plugins setup
which was implemented exactly for these cases: Fuzzy fallback {black|white}.
4. The above rules are overridden if there is a case-insensitive exact string match found in the plugins list.
In this case the plugin will just switch the list property of this match from black to white or vice versa
instead of creating a duplicate. In case the string match is only case insensitive the plugin furthermore
switches the ignore case property of the entry.
To make ultimate use of the plugin (probably makes sense in turn with parental guidance mode and whitelist entries)
you could add a new entry in the plugins list:
[.]*
and set the property Regular Expression to true. This should block every, read carefully, EVERY show on any
channel, except for those being whitelisted. Remember, once Parental Guidance is turned on you are not allowed
to whitelist anything anymore...until you switch it off in vdr's setup file again. Handle with care!
-Feature: New Setup Option 'Fuzzy Fallback' (see whitelist section above)
-Feature: Duplicate entries are not allowed anymore!
At the first import of block.conf the plugin will eliminate all duplicates from your old blacklist. However you do
not have to care about duplicates yourself. The plugin should configure everythin automatically. (please also refer
to the block.conf section above)
-Feature: New key handling in the plugins setup
F4/Blue now changes the black/white attribute of the current entry (see whitelist section above). Please note
that it could take a short time to let the plugin find the right entry internally. This is due to the implementation
of cList in vdr itself.
-Feature: 'New' jumps to an existing 'New entry'
This comes along with the new prohibition of duplicate entries and should increase convenience. As stated in the
last section, it could take some time to let the plugin find the right place. Again this is due to the implementation
of cList in vdr itself.
-Feature: Parental Guidance and main menu entry
If Parental Guidance is active it shouldn't be possible to deblock the current show with the main menu entry.
Any attempt to do this is logged in the syslog.
-Feature: In Parental Guidance mode replay may be blocked
In Parental Guidance mode now also the replay of recorded shows is blocked, if a blacklisted title is
detected. Any attempt to play such a blocked recording also is logged in the syslog. However it is not possible
to block recorded shows directly. You'll have to have a matching list entry by blocking the corresponding show
on Live TV, by manually adding it in the plugins setup or by editing block.conf (vdr restart required).
-Feature: Consideration of empty or no EPG data
Channels with empty EPG or no EPG at all may also be handled by the plugin now. Use regular expressions
or a blank list entry to deal with such stations. (see regular expression in the whitelist section above for an
example). However if your EPG turns out to be buggy or vdr does not update EPG fast enough, such an entry may cause
unwanted behaviour of the block mechanism in rare cases.
-Feature: Italian translation added (thanks to Diego Pierotto)
Due to the new features few strings remain untranslated (though i added some...).
If anyone could help out with this or other translations feel free drop me a line.
-Feature: Added list sorting.
-Feature: Changes are applied immediately.
The plugin now immediately applies any changes to the block rules, eg in case anything in the list is altered
(and saved) in the plugins setup.
-Bugfix: In rare cases shows were not blocked. Fixed.
If the current channel had the same blacklisted EPG title as the last channel the current channel was not blocked.
Fixed. Thanks to igel, who again was the only one reporting this bug.
-Bugfix: Zap direction
The automatical zap direction should now be detected correctly (except it is not possible to determine
which results in direction 'up')
-Bugfix: Changing the zap direction on block events to 'down' should now work (again).
-Bugfix: Unwanted behaviour if OSD is open
A very nasty bug emerged if a block event happened on the underlying channel while the user was doing something
in the vdr OSD menus. In fact the plugin triggered a virtual keypress of the Back which in the worst case could
result in an irresponsive main menu. This bug which was caused by the plugins user interface during the display of
the block message is now fixed. The plugin simply switches channels and does not provide a user interface if
the vdr OSD is open.
-Bugfix: Log message was not ifdef'ed and spammed the syslog on channels with no or empty EPG though LOGGING was off.
**************************************************************************
2010/08/06: Version 0.0.4
New Features:
-The main menu entry now not only adds the title of the current
show to the blacklist, but also permanentely removes the title
if it is already found in the blacklist.
Bugfixes:
-with detection method 'Channel EPG' and while watching
a recorded show VDR stopped playback and switched
to another channel on a block event. Fixed now.
-Channel Up and Channel Down keys were not working at all !!
I did not notice that because these keys are not configured
on my remote and the code seemed pretty much straight-forward.
But it turned out that the key-handling of VDR itself differs
from the one for Up and Down. It was quite hard to find a solution,
but finally I found a workaround in sending Up or Down in case the user
presses Channel Up or Channel Down from the plugin code to VDR ;).
Subsequently these internally sent Up or Down keys are interpreted
by the plugin in the next main thread loop.
Thanks to igel who again was the only one reporting this bug ;).
**************************************************************************
2010/06/15: Version 0.0.3
Added experimental parental guidance functions. Please see README
for details.
Several strings changed / German translation updated.
Bugfixing.
**************************************************************************
2010/06/06: Version 0.0.2
Added a new detection method: Channel EPG
This method scans the running program and not only blocks on zapping but
also makes the plugin switch to another channel on a changeover to a
blacklisted show. In some rare cases several stations do not update
the current EPG signal in sync so unfortunately there might be false
detections. It is possible to change the detection method in the plugins
setup, where 'On Switch' is the old method and 'Channel EPG' the new.
Furthermore it is now possible to change switching directions on a block
event by pressing the (channel) up/down keys on your remote.
Several other minor code changes.
**************************************************************************
2010/04/20: Version 0.0.1b
Initial release.
Fix: 'Ok' now in fact unlocks a blocked broadcast reliably
(switch function was moved to destructor of control.c)
**************************************************************************
2010/04/19: Version 0.0.1
First version.
This version is based on a cvs checkout (20100113) of the orphaned
vdr-plugin taste originally coded by LordJaxom aka Sascha Volkenandt.
Unfortunately the taste plugin did not work on vdr machines lacking a full
feature dvb card. So i tried to change some code to achieve compatibility
with a broader range of configs and finally came up with a new version that
does the job on machines with a ff-card as well as on budget solutions (in
my case the dxr3) and state-of-the-art softdevice configurations. This patch
can be found here:
http://www.vdr-portal.de/board/thread.php?threadid=92550
Tobi then kindly offered me the opportunity to continue the development of
the taste plugin on projects.vdr-developer.org and i asked Sascha how he
feels about that, but he did not answer. So i decided to publish the new
version as a fork called 'block'. This way Saschas work will remain
untouched and i am completely free to continue my work on the plugin.
Differences in the block plugin
-------------------------------
** New features:
-Compatibility with non-ff output including budget and state-of-the-art
softdevice configurations added (channel switch analysis changed)
-Implementation of syslog functions (BLOCK_LOGGING in the Makefile set
to 1 or 0 respectively will switch logging on/off)
ATTENTION: This will add lots of entries to your syslog!
** Patches:
Patches by tomg and mapovi which were written for the taste plugin were
applied to a were applied to a clean cvs checkout of the taste plugin
on 2010/01/13 so that they are permanently build in the block plugin now.
Locale patch:
- fixed clean target of Makefile
- adapted Makefile to current newplugin template
- use translations of main vdr
- exclude old i18n parts by ifdefs
Version compatibility:
Changes for VDR >= 1.5.0 (applicable to VDR >= 1.4.5)
Makefile fix:
added -fPIC to compiler options to prevent FTBFS
Some additional information can be found here:
http://www.vdr-portal.de/board/thread.php?threadid=90293
Thanks to tomg and mapovi for their kind permission to use the patches.
** WWW:
Project homepage: http://projects.vdr-developer.org/projects/plg-block/news
Author contact: Michael Schneider <vdrportal_midas at gmx dot de>
|