Jump to content


Photo

Teletext improvements


  • Please log in to reply
104 replies to this topic

#1 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 23 November 2013 - 16:23

Hi together,

 

I'm working on a teletext improvement (most likely on Monday you get more informations ;) ).

 

But I have a little problem:

In lib/components/tuxtxtapp.cpp I see this:

int eTuxtxtApp::startUi()
{
	if (fbClass::getInstance()->lock() >= 0)
	{
  ...

So I guess that the "e2" framebuffer should be locked and the teletext should get exclusive access to the framebuffer (the same for the LCD and the remote). So only the teletext should be displayed in the OSD nothing else.

But the teletext don't get exclusive access to framebuffer. E.g. for subtitles Littlesat has build a workaround in the plugin to hide the subtitles (http://sourceforge.n...lugin/plugin.py):

...
self.subtitle = infobar and infobar.selected_subtitle
if self.subtitle:
   infobar.enableSubtitle(None) 
...

Am I wrong with the exclusive access? Or is it a bug?


Edited by betacentauri, 23 November 2013 - 16:24.

Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #2 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 23 November 2013 - 22:08

the subtitle rendering is probably missing a

m_dc->islocked()

check.
Each painter / dc operation is checking the lock, it seems.
That's how the issue should have been fixed I think.

Re: Teletext improvements #3 littlesat

  • PLi® Core member
  • 57,166 posts

+698
Excellent

Posted 23 November 2013 - 22:21

Good point pieterg.... I just did stop the subtitles and re-enable them again a few months ago due to the reported wide effectes when subs were running and tuxtxt was opened... I nether thought about this....

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Teletext improvements #4 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 23 November 2013 - 23:06

When teletext is enabled, you cannot use e.g. volume keys and you cannot mute. Also reassigning keys is difficult, because it has to be done in C code. I don't like that.
So I'am writing a patch to enable that. I have deleted the line
eRCInput::getInstance()->lock();
in tuxtxtapp.cpp so that the "e2" remote still works. Then I added a section to keymap.xml and added a ActionMap to tuxtxt plugin. The plugin then sends the keys to the tuxtxt C part.
That all works, but when I now press volume up/down I see artifacts on the screen. I guess that the volume bar is still displayed and causes the artifacts. The same applies to mute button or other not assigned buttons.
So I think that the isLocked check is missing somewhere...

I try to post the patches tomorrow.

Edited by betacentauri, 23 November 2013 - 23:08.

Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #5 theparasol

  • Senior Member
  • 4,157 posts

+198
Excellent

Posted 23 November 2013 - 23:52

Just a request since you are now working on teletext, a part my wife uses all day. She complains about the auto advancing of subpages (1/6 -> 2/6 -> 3/6 -> 4/6 -> 5/6 -> 6/6)

Is it possible to shut this auto advance off, its very annoying: you are reading and all of sudden: next page. shifting between pages with <- and -> is much more comfortable while reading!

 

Regarding to the artifacts: if teletext is on and my server is querying the box the spinners start to turn for quite some time. Those busy spinners are also causing artifacts. Perhaps an additional pointer where to look for cause of these artifacts. 


@Camping: ZGemma H.2S, Technisat Multytenne 4-in-1 @Home: Edision Mini 4K, Wave Frontier T55, EMP Centauri EMP DiSEqC 8/1 switch, 4x Inverto Ultra Black single LNB


Re: Teletext improvements #6 littlesat

  • PLi® Core member
  • 57,166 posts

+698
Excellent

Posted 24 November 2013 - 07:18

The advanced subtitle is intended and part of teletext. Once you select a subtitle manually it will not advance anymore.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Teletext improvements #7 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 24 November 2013 - 08:49

When teletext is enabled, you cannot use e.g. volume keys and you cannot mute.

So I'am writing a patch to enable that.

Does that mean that the Teletext-functions that were assigned to Volume Up/Down and mute no longer work?
Or are they going to be assigned to other buttons?

Re: Teletext improvements #8 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 24 November 2013 - 09:04

With the patch you can assign every teletext functionality to almost every button you like.
I guess volume up/down is currently screen mode switching and zoom. This still works with my patch.
Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #9 littlesat

  • PLi® Core member
  • 57,166 posts

+698
Excellent

Posted 24 November 2013 - 09:07

But it does both then... zoom and modeswitch + volume and mute.... and changing volume and mute destroys the teletext OSD.


Edited by littlesat, 24 November 2013 - 09:07.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Teletext improvements #10 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 24 November 2013 - 10:28

Yes, but destroys is a little bit overstated. You see some artifacts on screen which disappear after a few seconds. So it isn't very bad but also not very nice.
Unfortunately I'm not really familiar with gdi part. I hope someone can help finding the problem.
Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #11 littlesat

  • PLi® Core member
  • 57,166 posts

+698
Excellent

Posted 24 November 2013 - 10:37

When using a button for tuxtxt you should arrange that in addition the volume/mute is changed as well....


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Teletext improvements #12 MiLo

  • PLi® Core member
  • 14,055 posts

+298
Excellent

Posted 24 November 2013 - 20:02

Another approach would be to get rid of the framebuffer lock, and have tuxtxt render into its own off-screen pixmap. Then blit that to the main screen whenever needed. The blit operation is hardware assisted, and won't noticably slow things down.

This would also allow teletext to be rendered 'anywhere' on screen.
Real musicians never die - they just decompose

Re: Teletext improvements #13 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 24 November 2013 - 20:34

Agreed, that sounds like a more generic aproach.
One which also allows OSD-over-teletext, and more such effects.

Re: Teletext improvements #14 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 24 November 2013 - 20:37

Who has time for it ;)


Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #15 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 24 November 2013 - 20:46

It wouldn't actually require that any changes in the tuxtxt render routine.
'just' a flag which signals e2 that an updated frame is available.
However, the pan could be removed as well, saving 50% of the framebuffer memory, as updates are always applied on a back-buffer. Now that means rather big changes in the render routines...

Re: Teletext improvements #16 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 24 November 2013 - 20:49

If somebody wants to test, here are the files.

Warning: It's a little bit difficult to test. At best make a backup before test and afterwards flash back backup.

If you don't want to do it, you should know what you are doing!!! Make backup of enigma.pyo, keymap.xml, libtuxtxt.so.0.0.0, libtuxtxt32bpp.so.0.0.0, plugin.pyo and move the files back to original place after test (and delete the new py files).

 

Unzip the files and copy them to:

enigma.py to /usr/lib/enigma2/python/

keymap.xml to /usr/share/enigma2/

libtuxtxt.so.0.0.0 to /usr/lib/

libtuxtxt32bpp.so.0.0.0 to /usr/lib/

plugin.py to /usr/lib/enigma2/python/Plugins/Extensions/Tuxtxt/
 

Then start included enigma2 (not the installed one)!

 

Patches will follow in a few minutes.

Attached Files


Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #17 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 24 November 2013 - 21:03

Here are the patches. One against tuxtxt git and one against enigma2 git.

 

Please don't commit it immediately! Other teams are using your tuxtxt git and if they are using the latest tuxtxt version without the e2 patch, teletext won't work! So please take a look at the patches and if they are fine, I'll inform some teams so that they have a change to apply the patch too.

 

Attached Files


Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #18 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 6 December 2013 - 18:38

Did somebody look at my patches? Are there any improvement proposals?


Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: Teletext improvements #19 littlesat

  • PLi® Core member
  • 57,166 posts

+698
Excellent

Posted 6 December 2013 - 18:51

Sorry it was not clear to me if there were still some changes in functionality and/or side effects with this commit...
You added a warning....

Edited by littlesat, 6 December 2013 - 18:52.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Teletext improvements #20 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 6 December 2013 - 19:03

It can have side effects in images from other teams. That's why I wrote the warning.

If you(PLi team) say that you like the patch and will commit it, I'll inform the other teams. If you say, change this and that, I'll try to fix that first.
Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04


2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users