Imaginary-Teleprompter icon indicating copy to clipboard operation
Imaginary-Teleprompter copied to clipboard

Text Jumps

Open pjbarbour opened this issue 3 years ago • 1 comments

Sometimes when I start teleprompting, the text jumps and the screens don't match, i.e. what I see on the control screen differs slightly from what is on the talent screen. Any ideas?

pjbarbour avatar Aug 20 '20 15:08 pjbarbour

Hello @pjbarbour,

This bug has been bothering us for quite a while. It is a flaw of architectural decisions we made while planning the software. I'm currently working on a solution to this problem on v3.0, which is a complete re-write of the software.

While it is not possible to 100% get rid of this problem in v2.x, it is possible to mitigate it in such a way that it's almost unnoticeable.

Broken proportionality assumption

Imaginary Teleprompter’s instance synchronization works under the assumption that both screens are prompting contents of equal proportions. When this assumption is broken the prompter will suffer from larger, noticeable, jumps. The assumption may be broken when:

  1. When there’s word warping errors because screen resolutions are vastly different,
  2. when contents are pasted from a third party word processor and the original font sizes are preserved instead of disregarded,
  3. when scripts are too long (more than an hour of content),
  4. and when the scripts contain small images that won’t scale to the full width of a screen, ... When any of these happen, one instance may display contents across an area that’s proportionally longer than the other instance‘s, breaking the equal proportions assumption and thus causing this jump bug.

More on the 1st possible cause

Regarding the first case, modern fonts vary in strength, width, and serif hinting detail as their overall font-size changes, it sometimes occurs that a word is not wrapped to the next line in one instance and wrapped to the next line in the other. This breaks the assumption that both instances’ contents are proportional.

Solution to 1st possible cause

The word wrapping issue can be prevented using two monitor set to the exact same width in their resolutions. Something like 1920x1080 and 1920x1200 works because they share the same width of 1920.

More on the 2nd possible cause

We cannot test all possible sources of text for pasting. We’ve tested some versions of LibreOffice, WPS Office, and Microsoft Office and there seems to be no issue when pasting contents from them. Google Docs losses more formatting properties that it should when pasting from there. All regular text editors, except for Microsoft’s Notepad, should also give no trouble when pasting contents from them. Pasting from other teleprompter software is not supported.

Solution to 2nd possible cause

Get rid of all formatting that may cause problems by pasting contents first into a text editor, such as TextEdit, Notepad++, Gedit, Kwrite, and Sublime Text. Then copy the contents from the text editor and paste them into Imaginary Teleprompter.

More on the 3rd possible cause

An unavoidable delay in communication between teleprompter instances also leads to continuous de-synchronization. The program performs an occasional re-synchronization once every X velocity changes, which causes an occasional jitter in one of the instances. In your case, because the proportionality assumption is broken, the re-synchronization results in big jumps that result in bigger jumps with the next re-sync.

Larger screen resolutions and larger font sizes result in greater precision errors when synchronizing, and thus a more noticeable jitter. Jitters are also more noticeable if you’re running a 32 bit version of Imaginary Teleprompter (Windows and Linux only), because the reduced number of bits is more prone to rounding approximation errors.

Solutions to 3rd possible cause

The rounding issue is impossible to eliminate without rewriting the software’s architecture and loosing some of the functionality that set it apart from alternatives. We’ve seriously considered splitting and rewriting the project into two separate programs.

  • The most optimal solution to eliminate all jitter, and what TV studios that use Imaginary Teleprompter do, is buy a dedicated display mirroring box and not use the multi instance synchronization features built into the software.

Suboptimal solutions include:

  • Reducing the length of your scripts into segment chunks.
  • Using the same resolution or a similar enough resolution on both displays.
  • Using a lower screen resolution, 1366x768. Resolutions close to 780 pixels in width are recommended.
  • Using a mid-range or faster CPU, with at least 4 threads and a decent graphics card.

Solution to 4th possible cause

  1. Avoid using pictures in your prompts,
  2. or use large resolution images.
  3. If you don’t want pictures to occupy the entire screen width, place them in a cell inside a multi-column table.

When the proportionality assumption isn't broken

When the proportionality assumption is not broken and you still see jitter, it is likely that you're system needs more CPU. Please note that due to rounding errors, 32 bit versions of Imaginary Teleprompter are more prone to jitter being noticed. You should try the suboptimal solutions to the 3rd possible cause if you're running on a low resources device. I should emphasize they really help in those instances.

I hope this information is useful to you. Feel free to write again if you are unable to mitigate the problem.

Disclaimer: A large portion of this answer was taken from a tech support e-mail to one of our users.

Cuperino avatar Aug 20 '20 17:08 Cuperino