Cuperino / QPrompt-Teleprompter

Teleprompter software for all video creators. Built with ease of use, productivity, control accuracy, and smooth performance in mind.
https://qprompt.app
GNU General Public License v3.0
355 stars 22 forks source link

Allow resizing selected text #173

Open Cuperino opened 1 year ago

Cuperino commented 1 year ago

Suggested by @24se7en in #175.

Also the text options: now you can only set the layout of the complete songtext instead of selecting some text and make them smaller or bigger (like for choir) now the artist see same layout

Example: Text Options Like Winplus

Cuperino commented 1 year ago

There are technical limitations and design concerns for which I haven't added this, but you're at least the third professional teleprompter operator to request this feature, so I'm leaving this in the queue.

If the user only had a few select size options to choose from, would that be alright? @24se7en @videosmith

videosmith commented 1 year ago

If you are referring to removing the Font Size slider, then no, that is necessary in my work.If you are referring to some sort of Modifier to selected text at the current slider size, that maybe sufficient.

Cuperino commented 1 year ago

I was referring to the second one, some sort of modifier to selected text. Sorry for the confusion, and thank you for answering!

-- Javier O. Cordero Pérez Full Stack Web Developer Qt Software Developer

videosmith commented 1 year ago

Suggested by @24se7en in #175.

Also the text options: now you can only set the layout of the complete songtext instead of selecting some text and make them smaller or bigger (like for choir) now the artist see same layout

Example: Text Options Like Winplus

In reference to the first requested feature, can the Bar Indicator be modified for this?

In reference to the second requested feature, I've swapped to fonts with different sizes to currently accomplish this workflow.

videosmith commented 1 year ago

screen

Cuperino commented 1 year ago

In reference to the first requested feature, can the Bar Indicator be modified for this?

It wouldn't work, not only because they're in two self contained components, but because whichever approach is used should be tightly linked to the text's position and synchronizing this position between components would result in unnecessary CPU load, albeit small.

The best way to implement #175 is to use a shader on the layer that displays the text. Only the cursor's position would have to be updated by the CPU, and the GPU would take care of the rest. The shader would invert the colors for the desired area. Since a shader needs to be incorporated anyway to implement #32. Maybe the same shader could handle the two features and reduce the overhead from CPU-GPU interaction.

In reference to the second requested feature, I've swapped to fonts with different sizes to currently accomplish this workflow.

Ouch. I'm sorry. I'll see if I can add this to the 1.2 early access builds soon. There's just so much to do that it can be overwhelming. I'm considering to pause development of all new features until I've fully automated the build process with server infrastructure. The income from Patreon would cover the costs and it would free a good amount of time.

videosmith commented 1 year ago

Really appreciate all your efforts! Thank you.

24se7en commented 1 year ago

I love your work and Qprompt software its realy great.... When i get more jobs i will gonna pay more on Patreon for your excellent work

videosmith commented 1 year ago

This partially works. I needed a "dual language" script for a Spanish interpreter on an English job. I had the source files created in LibreOffice Writer (current version). Set Background color, text color and font sizes in that document. Then exported as HTML for import into QPrompt.
Globally resized everything proportionally in QPrompt. Editing in QPrompt retained imported/resized fonts for each line.

A portion of the formatting was ignored (first line size - included a Dummy line above that to fix). missing spaces between words, etc.)

However it did import mostly as desired. (see pic and attached source files).

screen01 SourceDocuments.zip

Cuperino commented 1 year ago

Thanks for sharing those files @videosmith. They've helped me better understand how QPrompt could support custom font sizes.

The solution is to apply these sizes as points instead of pixels. I need to figure out what I need to re-implement in Qt for this to happen. This goes beyond overriding Qt's setFontPointSize method...

videosmith commented 1 year ago

Let me know if I can provide further assistance.

videosmith commented 1 year ago

Any thoughts on the word spacing issue?

Cuperino commented 1 year ago

Any thoughts on the word spacing issue?

Yes. HTML removes duplicate spaces and replaces them with a single space. Now, this occurs because but when removing a line's ending, Qt is replacing the end line characters with nothing instead of adding a space. This is probably done to prevent styling errors, which can happen when you have spaces between objects.

The solutions would be to replace line endings with a space (this would be a bad idea in other HTML parsers but not in QPrompt's), or do that only when the next piece of content is known not to be optional spaces followed by a DOM object (a solution which should work with all parsers).

You could work around the issue by adding a space before pressing Enter or Shift-Enter.

24se7en commented 11 months ago

Hi,

Its a few monthas ago but i need the Mac version of Qprompt

Met vriendelijke groet, With best regards, Mit freundlichem Grußen, Bien à vous, Saygılarımızla, 此致 敬礼

Cuperino commented 11 months ago

Hi @24se7en,

I haven't gotten around to implement this feature yet. It's in the pipeline for v1.2, but I have so many items scheduled for 1.2 that I will have to split the release in two, in order to have a working release on time for when 1.2 is scheduled, which is a moving target, but I'm presently aiming towards late December / early January. This is a feature I want to prioritize, but I can't say at this point whether it'll make it to v1.2 or not.

QPrompt's Patreon site offers development builds, with the latest features (v1.2). There should be an update sometime this week, or the next. I'm making builds at a slower pace now, to prioritize getting more features out. https://www.patreon.com/qpromptapp/posts

The current Mac version of QPrompt (v1.1.6) can be found on SourceForge, at: https://sourceforge.net/projects/qprompt/files/v1.1.6/qprompt-v1.1.6-51788eb-macos-clang-x86_64.dmg/download

If you need the latest features but cannot afford Patreon, you can follow the build instructions at: https://github.com/Cuperino/QPrompt/blob/main/build.md

Feel free to ask questions regarding the build process, but please ask your questions over at the forum instead of here, to keep the issue tracker free of clutter. https://forum.qprompt.app (redirects to https://forum.cuperino.com).

We use KDE's Craft build system to create the Mac release builds. Something went wrong with the build system upstream, and is making builds that work but cannot be opened by default because they appear to be corrupted. This issue unfortunately affects all recent versions of QPrompt. You can work around this issue and use QPrompt on MacOS by following these instructions: https://github.com/Cuperino/QPrompt/issues/150#issuecomment-1416922130

I hope this information is helpful to you.

Best regards, Javier

24se7en commented 11 months ago

Dear Javier,

Why i cant setup other fonts and styles in Qpromp like they did on : https://bigstageteleprompter.online/

Will there in near future possibilty of NDI

Met vriendelijke groet, With best regards, Mit freundlichem Grußen, Bien à vous, Saygılarımızla, 此致 敬礼

P.J.A. van den Berg Studio Eleven Autocue Systems

Cuperino commented 11 months ago

Hello @24se7en,

First of, thank you for your questions, and for bringing bigstageteleprompter to my attention. That application has evidently taken inspiration from QPrompt, which I find somewhat fascinating... They've made no copyright violation, as far as I know, but their prompting methodology is sadly inferior, as by using the web browser's scrolling feature they do not have sub-pixel animation, meaning bigstageteleprompter's animation will look jumpy on small resolution screens. I made the same mistake back in 2015, developing Imaginary Teleprompter 1.

To answer your questions:

Why i cant setup other fonts and styles in QPrompt like they did on : bigstageteleprompter . online

Could you please be more specific about what you would like to see? All the font and style features I could find in that app are already present in QPrompt, albeit a bit differently. For example, setting the font highlight and color applies it to the entire app, while QPrompt gives you more granular controls over this, but you have to select the text first, which may be inconvenient to some.

Please file a new issue for each thing you'd like to see in QPrompt, if there is none filed already: https://github.com/Cuperino/QPrompt/issues/new/choose

Will there in near future possibility of NDI

In the near future, honestly no. NDI is a big undertaking, that I'm planning to take in due time, but first we have a large backlog of features that I'm trying to bring down. Patreons such as you can vote on what things I should prioritize, in our Patreon pole. I avoided writing NDI and MOS into the poll recognizing there's no way they would be doable in 2023, also the poll is limited to a maximum of 25 options. The pole to vote on priorities can be found here: https://www.patreon.com/posts/choose-where-is-78344217

Having said this, I'm slowly working towards adding NDI support, and I can see it will likely come into fruition before MOS. Nevertheless, when QPrompt comes out with NDI support, it'll be split into two versions for legal reasons. QPrompt's source code will continue to be free software and open source, but the binaries that have NDI support will not be licensed under the GPL in order to effectively comply with NDI's license agreement. Feel free to read more about this and add to the discussion over at the NDI request thread: https://github.com/Cuperino/QPrompt/issues/41

Now, sorry for insisting on this, but please avoid re-using Issue treads for communications unrelated to the issue, as this creates clutter that makes the issue tracker difficult to navigate. In the future please use the official forum instead: forum.qprompt.app (redirects to forum.cuperino.com), or reach out through Patreon, as you also did. All three methods are equally effective. I will continue responding here so my response is pubic, but I would prefer these conversations to be on the forum, so more people can find them.

Looking forward to hearing again from you!

Best regards, Javier