C.Y.M wrote:
Anssi Hannula wrote:
C.Y.M wrote:
When using vdr-1.3.25, I cant seem to find the code in text2skin to display the recording summary properly. The summary just comes up blank. When I do not use text2skin, then it works just fine. The conversion of summary.vdr to info.vdr went fine. Can anyone give me a hint?
Skin plugins require a patch. From 1.3.25 changelog:
- The "Summary" button in the "Recordings" menu has been renamed to
"Info", and the page it brings up now shows the recording's information, much like the EPG event page. Therefore it now no longer uses the skin's SetText() function, but rather the SetRecording() function. Skin plugins may need to adjust that function accordingly (see skinsttng.c, for instance).
I saw the changelog, but I was not sure how do go about it. The change in skinssttng.c was about 32 additional lines. Does someone already have a patch for text2skin? I guess I need to look at display.[ch] some more.
I *think* I have an small understanding now of why the summary of recordings are not displayed. In particular, I'm referring to the Enigma skin with text2skin 1.0.
If we examine the Enigma.skin file, notice the following line:
--SNIP--
<scrolltext condition="not(equal({MenuTitle:clean},trans('Summary')))" x1="10" x2="-106" y1="35" y2="-36" font="VeraMono.ttf:22,85" color="MenuTxtFG">{MenuText}</scrolltext>
--SNIP--
This means that "MenuText" is the function called when selecting the summary of a recording.
After some more digging, display.c shows that mText is returned when calling MenuText from the following code:
--SNIP--
case tMenuText: return mText;
--SNIP--
Next we look for the origin of mText which is supplied by the following function:
--SNIP--
void cText2SkinDisplayMenu::SetText(const char *Text, bool FixedFont) { if (mFallbackDisplay != NULL) { mFallbackDisplay->SetText(Text, FixedFont); return; }
UpdateLock(); if (Text == NULL) Text = ""; if (mText != Text) { mText = Text; SetDirty(); } UpdateUnlock(); }
--SNIP--
Ok, so what to do next? Well, my guess would be to change the following line:
case tMenuText: return mRecording;
This in turn would reference "cText2SkinDisplayMenu::SetRecording" instead of "cText2SkinDisplayMenu::SetText".
Am I getting close? I am no expert at this and any help would be greatly appreciated..
Best Regards,