VDR Plugin 'skindesigner' Revision History --------------------------------------- 2014-09-27: Version 0.0.1 - Initial revision. Version 0.0.2 - added some more tokens with more detailed audio information in displaychannel -> statusinfo - added hasVPS for current scheduling in displaychannel -> epginfo - added common channel logo path for all skins - changed skin handling so that every skin is directly shown in VDR OSD Menu - added Theme support, each skin can now have various themes - fixed a crash if no skindesigner skins are found and plugin setup menu is called from another skin - added {durationhours} and {durationminutes} tokens in several view elements - added discusage icons to menu header view element so that it discusage can be displayed in every menu view - added numeric day, month and year tokens in different view elements - support for global variables type "double" - added setup options to configure rerun display behaviour - changed display of menu lists, do flush first after complete rendering - added support for custom tokens in dislaychannel - added vps token in menudetailepg - implemented cSDDisplayMenu::GetTextAreaFont() - introduced new viewelement audioinfo in displaychannel - added setup option to choose Menu Item display method between "at one go" and "after one another" - fixed bug that new skin was not properly loaded sometimes when skin was changed in OSD Setup menu - fixed bug that new font was displayed first after VDR restart when font was changed in OSD Setup menu - display always newest recording of folders in recordings list, thanks@ Lars Hanisch for providing the patch - added extented recording information - added token {nummenuitem} as number of item for every list, value starts with 1 - fixed bug that x and y of subviews was not respected - if a subview is completely not set in a skin, the default menu is used - fixed a bug if displaydetailedtext is called without correct menucat (mailbox plugin) - implemented function drawslope, see Wiki for documentation - using default menu list in case an invalid MenuCategory is set - added device info in displaychannel, example in metrixHD - improved menu icon display, additionally using menu cat - changed devices list, device numbers start with 0 - fixed bug that hasposter is only true if poster really exists - no absolute pathes allowed for image type "image", path has to start with {ressourcedir} Version 0.0.3 - added tokens for current video and audio bitrate in displaychannel. Thx @rofafor for the original code in the femon plugin and _Martin_ for extracting the code in skinflatplus - changed skin metrixHD to display bitrate infos - added "active" Token for cutting marks so that a mark can be displayed in a dedicated way if current position in replay exactly hits the mark - added {channelname}, {channelid}, {channellogoexists} for all schedules list and current views - added printf function for , see Wiki for documentation - removed code for displaying bitrates in displaychannel again because of incompatibility with dvbapi Plugin - optimized performance when creating a menu list - fixed Bug that displaychannel was not shown after closing displaymenu with "backspace" (with active menuorg plugin) - fixed Bug with menuselection Patch - added tokens {month}, {monthname} and {year} in displaymenutimers listitem and currentitem - added dedicated tokens for posters and banners in in displaychannel and displayreplay - added Plugin Interface - fixed crash when clearing a message in displaychannel and displayreplay - fixed positioning of scaled video window if borders are configured Version 0.0.4 - added SVG Support - thanks to Manuel Reimer! Version 0.0.5 - added {channelnumber} and {channelname} Tokens in displaymenudetailepg detailheader - fixed {hasicon} Token in displaymenu header - added {newmails} Token in displaychannel statusinfo, mailbox plugin has to be installed - clearing displaymessage if it is called without text - changed handling of channel logos, width and height are now mandatory Version 0.0.6 - fixed Bug that channel info was not shown when displaying reruns with epgsearch - using VDRs OSD Language instead of system language - added compatibility to librsvg >= 2.36.1 - added onpause and onpausemodeonly in displayreplay - added {channellogoexists} Token everywhere where {channelid} is available Version 0.0.7 - fixed bug that global double vars are not working Version 0.0.8 - added {channelnumber} Token in displaymenuschedules - displaying default menu list if menu category is set to another category but SetItem() is called Version 0.1.0 - fixed display of color buttons in detailed views - fixed possible Nullpointer access in displaymenurootview - added currentschedule viewelement in displaymenumain - fixed bug that wrong channel was shown in header of whatson if entering from whatsonnow - added customtokens view element in displaymenumain - added automatic determination of custom int tokens Version 0.1.1 - added "temperatures" view element in displaymenumainview to display cpu and gpu temperature in main menu (scripts to get temperatures borrowed from skinflatplus). scripts to get temperatures have to be adapted according the system setup. - added "time" view element in displaychannelview, displayreplay view and displaymenuviews to display current time with seconds precision - added {currenttab}, {prevtab}, {nexttab} Tokens in view elements - fixed bug that in displaytracks the audio tracks are not positioned correctly - fixed some minor bugs - added skin "blackhole" - added customtokens view element in displayreplay - optimised some settings in skin blackhole Version 0.1.2 - display only active remote timers in main menu - fixed two possible null pointer accesses in displaymenurootview - fixed bug that EPGSearch Favorites Menu was not displayed correctly, introduced "whatsonfavorites" Token in displaymenuschedules - fixed again display of channel in schedules header - added now and next in blackhole channels menu - fixed bug that epg quicksearch menu was not displayed properly - added weatherforecast templates - some fixes for plugins which use skindesigner template interface Version 0.1.3 - added {epgname} token for recordings in currentview and detailedview. - fixed crash when start recording with extrecmenu or remotetimers Version 0.1.4 - fixed token volpercent in nopacity and metrixhd - added "empty" operator additionally to "isset" to check in a condition if a string token is set - added token {nummenuitem} for plugin menu lists - fixed bug that custom int tokens were not considered in conditions - added possibility for skinners to define a skin setup, skin setup can be done in plugin setup menu - made skin blackhole configurable, adapted xml files Version 0.1.5 - removed suppression of first DisplayChannel call after VDR start - fixed "flickering" bug with vdr2.1.7 - fixed bug that osd language was not set correctly which caused one additional skin caching at startup Version 0.1.6 - fixed bug that onpause view potentially starts during setting cutting marks - made all globals variables private - introduced globals.xml in skinpath, theme.xml in theme path. theme.xml adds its vakues and potentially overrides valués from globals.xml - check icons, menuicons and skinparts additionally directly in skin folder to allow default images which can be used for all skins - fixed bug that setup variables are sometimes not identified in case two or more skin names start identically Version 0.2.0 - fixed Bug that double vars were not handled correctly - fixed Bug that calling mplayer plugin via keymacros.conf causes segfault Version 0.2.1 - fixed bug that global tokens were not parsed correctly - added finnish translation - some more nopacity optimizations - thanx@utility - added possibiliy to use submenus in the skin setup menus - reloading active skin directly after closing setup menu so that changes of setup parameters are immediately in use Version 0.2.2 - added replay onpause view in blackhole skin - implemented SetTitle() in displayreplay - fixed header icon for plugin menus - added function "drawtextvertical" - implemented advanced plugin interface - added tvguideng templates for all skins Version 0.3.0 - checking setup conditions for viewelements - fixed FadeOut bug - fixed crash when opening and closing main menu consecutively - fixed bug detecting menu item numbers in main menu - fixed recording progress bar in nopacity - added viewelement in main menu - added possibility to hide root menu from a subview template - moved access to cControl to main thread to avoid crash in onpauseview - added recording icons to metrixHD - fixed colors in tvguideng timeline in nopacity darkred Version 0.3.1 - Fixed hide root menu from a subview template - Fixed translation of grids - adapted tvguideng templates Version 0.3.2 - fixed crash in drawing devices - fixed crash if number of dvb devices changes - added possibility to detach dedicated viewelements in displaychannel and displaymenumain that they start in an own thread - introduced background="true" attribute in viewelements. These areas will only be drawn once. - fixed bug in creating osd - fixed bug when creating pixmaps Version 0.3.3 - added viewelement with information about 5 newest recordings in main menu - fixed bug that parameters with both dynamic tokens and relative width, height, posx or posy values are not parsed correctly - fixed bug also for loops - added possibility to draw vertical text bottomum and topdown - translate drawtextvertical - added viewelement in displayreplay to display the time the currently replayed recording ends - added viewelement in displaymenu to display the sort mode of the currently displayed menu. can be used in any list menu, implementation in displaymenu.xml is default - use recording info for viewelement in main menu if recording is replayed. New token {islivetv} indicates this. - added Token {percentseen} to listelements in menurecordings. For VDR Version < 2.1.8 {percentseen} is set to -1. - added Token {timers[isremotetimer]} to in main menu - added parameter mode to viewelement . if mode="light" no signal information will be fetched to improve performance. Version 0.3.4 - fixed backward compatibility to VDR version < 2.1.1 where cRecording::IsInUse() was introduced - automatically detect type of image if no file extension is available - introduced libskindesignerapi Version 0.4.0 - fixed bug that time was not correctly drawn if a submenu implements its own time display - fixed bug that date was drawn every flush in displayreplay - fixed bug in metrixhd timers menu - fixed bug that datetime was not correctly drawn if a submenu implements its own datetime display - adapted Makefiles to work also in a LCLBLD environment - reverted Makefile changes in parts - added category indicator token to default menus Version 0.4.1 - added locks around cTextWrappers to avoid crashed when concurrently accessing fonts - changed build and install process Version 0.4.2 - fixed bug that datetime was not drawn correctly in menus - fixed bug that string tokens are not evaluated in area conditions - added possibility to draw a debug grid in views - added more info if debugImage is activted in config - added possibility for blinking images, texts, rectangles, ellipses and slopes - adapted libskindesignerapi makefile for LCLBLD Version 0.4.3 - added strequal, strnotequal, strcontains, strnotcontains functions to compare strings in conditions - fixed sort order in lastrecordings viewelement - added tokens for progressbars in displamenudefault