-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathHISTORY
496 lines (444 loc) · 22.1 KB
/
HISTORY
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
VDR Plugin 'graphlcd' Revision History
-------------------------------------
2024-01-26: Version 1.0.7
- Fix crash if a player reports zero FPS
2021-03-10: Version 1.0.6
- [pbiering] move display connect related cod into Start() to avoid crash on stop caused by fatal issues in other plugins detected during Inititalize() phase
2021-02-15: Version 1.0.5
- [pbiering] move thread cancel in new introduced Stop() function (hint by VDR maintainer)
2021-02-08: Version 1.0.4
- [pbiering] add support for new feature: NumRecordings and ListRecordings
- [pbiering] extend reelbox.skin for using NumRecordings and ListRecordings (up to 3)
- [pbiering] fix Wformat-truncation Wliteral-suffix. log levels
2021-01-24: Version 1.0.3
- [pbiering] fix deadlock for vdr >= 2.4.4 (at least found here) in case of deleting a channel
2021-01-28
- Import reviewed 'ReelBox' frontpanel skin
2021-01-17
- Fix name inconsistency between read and write of setup config value "ShowReplayLogo"
2020-08-19: Version 1.0.2
- Fixed VDR version detection in Makefile
2018-11-10: Version 1.0.1
- Improved "trim" function which doesn't cause negative size_type values
2018-04-08: Version 1.0.0
- Skin support
- Support for current VDR versions
- Makefile adapted to match the new "standard" with current VDR versions
- Many other fixes and new features, not listed here :P
2010-03-01: Version 0.1.6
- added UTF8 support (vdr-graphlcd-0.1.5-utf8_i18n.diff)
- added include path graphlcd-base/ in Makefile
- added -L./graphlcd-base/glcddrivers/ & glcdgraphics/ in Makefile if graphlcd-base is not installed system-wide
- changed FRAMESPERSEC to DEFAULTFRAMESPERSECOND (vdr-1.7.x)
- modified Makefile for vdr-1.7.13
2007-02-25: Version 0.1.5
- added some missing includes
- do LCD initialisation in display thread instead of during plugin initialisation to fix some issues with direct port accesses (thanks to TomJoad from vdr-portal.de)
2007-02-04: Version 0.1.4
- support APIVERSION introduced with vdr 1.3.47
- test if ChannelNumber is 0 in cGraphLCDState::SetChannel
- Added french translations (thanks to Pierre Briec)
- use cPlugin::MainThreadHook method to do periodic querying of replay status. So, patching vdr is no longer needed.
- fixed volume handling for vdr 1.4.2 and up
- now use cFont::WrapText instead of local one
- got rid of global lcd and display objects, they are local variables of the plugin class now.
- display thread should be proper canceled now
- logonames.alias for VDR 1.3 and up is the default now
- increased lineheight in some bitmap fonts to look good with new WrapText function
- extra space between menu lines when lineheight is greater than totalheight
- replaced uint64 with uint64_t
- replaced unsigned long long with uint64_t
2006-01-15: Version 0.1.3
- Don't replace newlines with spaces in text items any longer.
- Rewritten cGraphLCDDisplay::WrapText(). It is much faster now.
- Increased time to wait for display task to start (thanks to Andreas
Brachold).
- Explicitly set the current channel to prevent a crash if no channel logo was
set (thanks to Andreas Brachold).
- Added support for VDR version 1.3.38 and up (thanks to Andreas Brachold).
- Added logos for cable and terrestrial channels and modified some of the old
(thanks to Stefan Hußfeldt).
2005-09-17: Version 0.1.2
- split off drivers to GraphLCD base package (libglcddrivers)
- split off graphics and font handling to GraphLCD base package
(libglcdgraphics)
- split off tools to GraphLCD base package
- adopted the plugin's code to use the new driver and graphics API
- removed low level driver settings from the plugin's setup page. They
are now located in the driver lirbrary's configuration file.
- display class: grouped current state values into some structures
- using a mutex for exclusive access on current state values
- moved current vdr state structures to new class cGraphLCDState based
on old cGraphLCDStatus class.
- completely rewritten logo list implementation
- further code revising
- added channel IDs for logonames.alias.1.3 for the DVB-T channels in Berlin
and probably other areas in Germany (thanks to Andreas Brachold)
- now compiles with gcc 2.95 and 3.x
- added missing #includes
- made the plugin more thread-safe by making the global state variable
a member of the display class and correcting the initialization order.
- added possibility to switch on backlight at user activity and switch it off
at user inactivity (thanks to Andreas Brachold). Can be enabled or disabled
in setup menu.
- added additional space between progress bar and logo on small LCDs (thanks
to Andreas Brachold).
- added loopmode display in mp3 replay mode (thanks to Wolfgang Fritz).
- replaced usleep with cCondWait::SleepMs() for vdr version 1.3.14 or greater
- adapted to changes in vdr 1.3.18
- now using verdana fonts converted by genfont as default for large displays.
- moved plugin initialisation to cPluginGraphLCD::Initialize and added a wait
for the start of the display thread to cPluginGraphLCD::Start to don't miss
first channel switch (thanks to wofritz from vdrportal.de)
- added rumanian translations (thanks to Lucian Muresan)
- Added support for Freetype2 fonts based on the patch by Lucian Muresan.
-- the fonts used by the plugin are no longer specified through symbolic
links to the font files but in a config file named fonts.conf that is
located in the graphlcd config directory (where logonames.alias is)
-- the entries in the fonts.conf file are defined in a URL like way, a prefix
gives the type of the font and a absolute or relative path gives the
font file, plus the size in case of freetype2
-- I provided several sample fonts.conf files as a replacement for the old
symbolic links
- Fixed length of timebar in case event lasts longer.
- Added a patch for VDR 1.3.29 and up that adds a new method Tick() to the
cStatus class. This method is called from vdr's main task every second. The
patch should apply to older versions too, maybe small changes are needed.
- Now querying the replay state in the cStatus::Tick() method if available.
- Now loading config file in cPluginGraphLCD::Initialize and not in
ProcessArgs. So it is possible to view the help page without specifying
config file and display.
- Rearranged includes to prevent an compiler error regardings the swap
function.
- Added a check for EIT scanner activity in cGraphLCDState::ChannelSwitch
function to prevent showing channel logos during replay.
- Added a check for file extension in replay type identification (thanks to
Andreas Brachold).
- Added channel logos for Radio Eins (thanks to Andreas Brachold).
2004-09-26: Version 0.1.1
- fixed vdr 1.2 service id compile error
- fixed t6963 driver: added range check in Set8Pixels, now all sizes should
work
- new driver: gu256x64-3900, should support other sizes too (thanks to
Ralf Müller)
- Added, replaced and removed some channel logos (thanks to Marco Birkholz)
- Now using a channels unique channel ID (without Source, VDR-1.3) or service
ID (VDR 1.2) instead of channel names to identify the channel logo.
-- During this I have renamed almost all channel logos so it is needed to
replace your old /<vdr config directory>/plugins/graphlcd/ completely.
-- There are now two logonames.alias files, one for vdr 1.2 and the other one
for vdr 1.3, you maybe have to recreate the link, p. e.
"ln -sf logonames.alias.1.3 logonames.alias" if you have a vdr 1.3 version.
- added finnish translations (thanks to Rolf Ahrenberg)
- fixed sed1520 driver: removed a unnecessary ReverseBits (thanks to Andreas
'randy' Weinberger)
- modified gu140x32f driver
-- added possibility to choose type of wiring in setup menu (thanks to
Andreas Brachold)
- modified sed1330_2 driver
-- added support for several different types of wiring the lcd to the parallel
port, this is selectable in setup menu
-- added support for 6800 and 8080 mode for all wirings, selectable in setup
menu
- removed sed1130 driver and replaced it with sed1330_2
- updated serdisplib support (thanks to Wolfgang Astleitner)
-- look in README.serdisplib for details
- fixed 100 percent CPU usage during volume changes if volume display is
disabled (thanks to Christoph Haubrich, Andreas Brachold)
- fixed cGraphLCDDisplay::WrapText (thanks to Lars Altenhain)
- fixed "special" ownership of logonames.alias files (thanks to Django from
vdrportal.de)
2004-05-22: Version 0.1.0
- modified hd61830 driver:
-- fixed bug in partly update
-- modified write method
- replaced sed1330 driver with roland praml's original patch
- modified sed1330 driver:
-- renamed control line names to reflect the controller's
specification a bit more
-- modified WriteCmd and WriteData
- modified sed1330_2 driver (thanks to Heinz Gressenberger and Roland Praml)
-- renamed control line names to reflect the controller's
specification a bit more
-- modified WriteCmd and WriteData
-- added possibility to change oscillator frequency through setup menu
-- added experimental support for 8080 operation mode (undef MODE6800 in
sed1330_2.c to test it)
-- commented out sleep calls, probably not needed any longer (please test this)
- added framebuffer device driver (thanks to Stephan Skrodzki)
-- README tells you how to use it
- added serdisplib driver (thanks to Wolfgang Astleitner)
-- README.serdisplib tells you how to use it
- fixed a bug in serdisplib driver that caused some flickering
(thanks to Wolfgang Astleitner)
- new GU256x64-372 driver (thanks to Andreas 'randy' Weinberger)
- fixed an error in T6963 driver's partial refresh when using auto mode
- new image driver that writes an image sequence in pbm format to /tmp
- made round rectangle type 4 looking rounder (thanks to Andreas
'randy' Weinberger)
- text item display (programme information) now also contains title
and subtitle
- added up/down scrolling to text item display
-- fixed a bug with long texts in text items (thanks to Andreas Brachold)
- fixed cGraphLCDSetup::CopyFrom: copy of ShowMenu was wrong
- fixed cGraphLCDSetup::CopyFrom: missing ModifiyReplayString
- simplified the display of the replay string
-- more than two lines are possible if they fit on screen
- modified uSleep and nSleep when using wait method 0: now tests if
value is greater than 0 before sleeping at least one microsecond
- added scroller widget, a single scrolling text line
-- extended Text, Char and CharProp of cGraphLCDLib to support this
-- using it for program information (present title and subtitle)
-- scroll speed (time interval and pixel increment) configurable in
setup menu
- fixed DisplayProgramm for small LCD's, no overlapping program
information texts with logo or symbols (thanks to Andreas Brachold)
- fixed german translation of month march (thanks to Andreas Brachold)
- added new, replaced some and deleted some old channel logos
(thanks to Hannes Stein for collecting, sorting and renaming the logos
from Holly, Hulk, Lola, C. Born, himself and providing a new
logonames.alias)
- added a lot of splash screens for 140x32, 128x64 and 240x128 LCD's
(thanks to Hannes Stein)
- included DisplayReplay Patch from Andreas Brachold
-- scrolling ReplayMessage
-- display of a replay-dependent logo (selectable in setup menu, replay
type identification has to be enabled for this)
-- improved display of time bar and indexes according to display size
-- just showing minutes and seconds for replays shorter than one hour
-- simplified DisplayProgramm
- further code revising and cleaning:
-- using STL string instead of char array strings for font and graphlib
functions
- some compilation fixes (thanks to Tobias Grimm)
- the Makefiles now have a proper install target (thanks to Tobias Grimm)
- fixed some memory leaks in logolist.c and some of the drivers
(thanks to Andreas Brachold)
- showpic: now does a clean exit after "kill" (thanks to Andreas Brachold)
- showpic: new command line parameter -t (timing) to select low level wait
method (thanks to Christian Gmeiner)
- fixed possible overlapping of replay string and progress bar with logo
(thanks to Andreas Brachold)
- support for animated logos (thanks to Andreas Brachold)
-- extended plugin, convpic and showpic to support this
-- convpic now can read and write animations in tuxbox-aniplay-format
-- included some new animated replay logos
- now using usleep() instead of low level sleep functions from drivers/fct.h
in display.c (this reduces cpu load when gettimeofday wait method is used)
- new setup parameter "Identify replay type" that makes replay logos possible
without forced modifying of the replay's text
- revised README a little bit
2004-03-06: Version 0.0.9
- reworked driver interface:
- all drivers in one library
- static and dynamic linking of drivers possible (look for STATIC_DRIVERS
in Makefile)
- moved low level parallel port code to the new class cParallelPort
- cleaned up driver's code
- adopted plugin and showpic to this new interface
- gu140x32f updates (thanks to Andreas Brachold)
- brightness control through setup works now
- timing setup works now
- fixed cGraphLCDSetup::CopyFrom (thanks to Andreas Brachold)
- removed memory leak in GraphLCDSetup (thanks to Andreas Brachold)
- now using driver ID instead of driver name for driver creation
(thanks to Andreas Brachold)
- setup menu: only show entries that are relevant for current driver
(thanks to Andreas Brachold)
- added replay string modification, selectable in setup menu
(thanks to Andreas Brachold)
- showpic: now clearing LCD buffer before displaying image, fixes error
when displaying image sequences (thanks to Andreas Brachold)
- showpic: no double GraphLCDSetup any longer, wait settings now used
(thanks to Andreas Brachold for reporting this one)
- fixed segfault when font is not correctly loaded (Thanks to Andreas
Brachold)
- code revising and cleaning (not completed):
- extracted setup menu code from graphlcd.c to menu.c/menu.h
- extracted status monitor code from graphlcd.c to status.c/.h
- extracted logo code from graphlib.c/.h to logo.c/.h and
logolist.c/.h and using list and vector containers from STL for
storing the data
- showpic and plugin now share the same logo source code
- general: using new/delete instead of malloc/free (not completely yet)
- using STL's vector and string for storing menu entries
- general: using STL string instead of char array strings
- sleep functions from fct.c/.h and other are now part of driver library
(no double files)
- string functions from fct.c/.h are now in strfct.c/.h
- added new wait method using gettimeofday for kernel 2.6 users (thanks to
Henning 'fawkes')
- new default wait method: nanosleep_rr (same as in 0.0.7)
- updated ks0108 and sed1520 driver (thanks to Andreas Weinberger)
- drawing errors fixed
- code cleanups, adopted to new coding style
- ks0108: support for displays greater than 128x64
- removed double ReverseBits from ks0108, sed1330 and sed1520 drivers
- new alternative sed1330 driver, supports more sizes, choose with "sed1330_2"
(modified original driver, thanks by to Heinz Gressenberger)
- please test it, maybe we can join these two
- improved volume display (thanks to Andreas Weinberger)
- now disappears correctly after approx. one second
- if muted, a symbol will be shown in symbol area and volume bar
- slightly modified display, bar has variable height now
- added RoundRectangle Method to graphic library
- both colors are possible now
- adopted display code to use this new function
- new logos for medium displays (thanks to Hannsens)
- fixed displaying wrong channel, logo, programme when a recording on primary
device starts (thanks to burki for reporting this one)
2004-02-25: Version 0.0.8
- added support for parport device
- added support for VDR version 1.3 (tested with 1.3.4)
- added display of free devices, selectable in setup menu
(thanks to Thomas Keil)
- inverted and round color buttons
- driver reset after certain setup changes
- choose the size of logos in setup (no, auto, medium, large)
- new 'compressed' mode for symbols (show only enabled symbols)
- Volume controls
- use of iopl() instead ioperm() (allows ports > 0x3ff)
- delayed update of the display in menu
- removed useless 'Good-Bye picture'.
You have to call showpic in shutdown script instead.
- display name of recording without subdirectories
- new SED1520 driver (thanks to Andreas 'randy' Weinberger).
- alias list for program names (logonames.alias)
- new SED1330 driver (thanks to Roland Praml).
- increased performance by using Set8Pixels() instead of SetPixel()
in Char() and CharProp()
- increased speed in menus (you might apply an included patch against
vdr to improve the speed even more...)
- added a cache for logos to reduce harddisk operations.
- a value of 0 for Refresh disables the complete refresh of the LCD
- added a setup option to disable the output to the LCD completely
- fixed bug displaying long SVDRP Messages (that couldn't be splitted
to more lines of text, because they didn't have any spaces)
- fixed bug with Rec icon. If multiple recordings were active and
one recordings has stopped, the Rec icon has been cleared although
the others recordings were still active. (thanks to Steffen Schoewitz
for reporting and fixing it)
- select alternative wiring for T6963 (WIRING_WINDOWS)
with setup parameter (plugin) and commandline parameter (showpic)
- improved timing of T6963 driver (thanks to Good)
- further improved timing of T6963 driver
- T6963 status check selectable in setup menu
- added auto mode support for T6963, selectable in setup menu
- added font select 8x8 support for T6963, selectable in setup menu
(thanks to Andreas 'randy' Weinberger)
- changed way of T6963 control line setting (thanks to Andreas 'randy'
Weinberger)
- changed clipping method (thanks to Andreas Brachold)
- new Noritake GU140x32f driver (thanks to Andreas Brachold).
- new classification of LCD sizes:
tiny: 0..48
small: 49..61
medium: 62..127
large: 128..
- more logos (contributed by Carsten Born and Andreas Brachold)
- plugin development and hosting is taken over by Andreas Regel
2003-06-30: Version 0.0.7
- the file format of the logos and the pictures have been replaced
with a new format: *.GLCD
- 'Good-Bye picture'
- added some tools:
convpic: a tool to convert *.BMP + *.TIFF images to *.GLCD format.
(TIFF: uncompressed, RGB-encoded, 2-color
BMP : uncompressed, RGB-encoded, 2-color, WindowsBMP format)
showpic: a tool to show an image on the LCD.
The image must be in *.GLCD format. (use convpic to convert)
crtfont: a tool to create fonts.
(see appropriate README files for more info)
- included 'sources' for logos and fonts
- fixed problem, if logo was bigger than LCD size.
- macros in one line
- added external triggered symbols
- setup parameters are explained in the README
- the usage of different fonts are explained in the README
- now Set8Pixels() is used in Char() and CharProp()
(increases performance)
- replaced strncpy with own fct strncopy.
2003-06-05: Version 0.0.6
- fixed segfault on exit of mp3 plugin.
- added a timebar to show the progress
of the current program.
- added color buttons
- possibility to disable Date/Time bar in menus
- don't switch back to replay screen when the menu is
active and the next mp3 is going to be played.
- update values of setup entries
(for this, a patch for vdr-1.2.0 is required.
Patch vdr with vdr-1.2.0-setup_menu_patch.diff in patches subdirectory.
Attention: this patch has NOT been tested with other plugins!)
- fixed cursor position when a setup item has been changed.
- better calculation of Tabs
- use symlinks for fonts. This allows to replace the fonts easily:
small displays ( vertical size < 64 ):
f_s_l.fnt : large font
f_s_n.fnt : normal font
f_s_s.fnt : small font
f_s_sym.fnt: symbols
medium displays ( vertical size 64..127 ):
f_m_l.fnt : large font
f_m_n.fnt : normal font
f_m_s.fnt : small font
f_m_sym.fnt: symbols
large displays ( vertical size >= 128 ):
f_l_l.fnt : large font
f_l_n.fnt : normal font
f_l_s.fnt : small font
f_l_sym.fnt: symbols
- alternative font for 128x64 (ln -s f8n_alt.fnt f_m_n.fnt)
2003-05-23: Version 0.0.5
- fixed display if second card does epg scan
(thanks to Andreas 'randy' Weinberger)
- fixed position of the symbols on small lcds
(thanks to Andreas 'randy' Weinberger)
- possibility to en-/disable display of menus per setup
- fixed problem in the T6963 driver when the LCDs horizontal size
was not a multiple of 6
(thanks to Andreas 'powARman' Regel)
- alternative wiring for T6963 (used by some Windows programs)
If You have this wiring, You must compile with:
eg: GRAPHLCD_DRIVER=T6963 GRAPHLCD_WIRING=WINDOWS make plugins
(thanks to Andreas 'powARman' Regel)
- allow to enter the port in hex (eg: vdr -P"graphlcd -p 0x278" )
(thanks to Sascha Volkenandt)
- creates graphlcd.man in .../PLUGINS/man directory
- small changes for vdr-1.1.32
- show different Recording Symbols to show which card is recording
currently.
- added output of Messages
- added output of Summaries
2003-05-08: Version 0.0.4
- display of menus (requires vdr >= 1.1.30)
- 'round' edges
2003-04-25: Version 0.0.3
- new KS0108 driver (thanks to Andreas 'randy' Weinberger).
You have to specify the driver during compile:
eg: make plugins GRAPHLCD_DRIVER=KS0108
- uses different fonts & logos for smaller displays
- changed layout for 128x64 displays
- changed format of font files (=> new crtfont-0.1.2)
- removed swab(). SwabByte() uses table instead of calculating
2003-04-16: Version 0.0.2
- new T6963 driver (thanks to Andreas 'powARman' Regel).
You have to specify the driver during compile:
eg: GRAPHLCD_DRIVER=T6963 make plugins
- support for smaller displays.
- now it's customizable in the setup menu, what parts should
be displayed. The currently available parts are:
- Date/Time bar
- Channel bar
- Logo
- Symbols
- Program information
- fonts with special characters like french accents.
- port + size of LCD are customizable.
(allocate LCD buffer dynamically)
- 2 lines for long titles (in Recording mode)
- Clear OSDProgramme, if no EPG data is available.
- refresh display, when title has changed.
- do not abort, if logo file could not be read successfully.
2003-01-08: Version 0.0.1
- Initial revision.