ChurchApps / FreeShow

FreeShow is a free and open-source, user-friendly presenter software.
https://freeshow.app
GNU General Public License v3.0
571 stars 86 forks source link

Autofit textboxes not matching output resolution #1003

Closed Dexiion closed 2 weeks ago

Dexiion commented 2 weeks ago

Describe the bug On my church we have a LED wall pannel with a resolution of 768x480, If we present selecting only the output screen on the setting we get two black bars one on the top and another on the bottom.

I tried to fix this by using a Style and using the resolution and the media fit option, but this is not beeing applied to the text boxes/timers/cameras/images that you add as media, etc, It is applying to the backgrounds (videos or images) only.

Is this the expected performance? Is there any way to apply this to all the content of the slide and not only the media?

Screenshots (Optional) https://github.com/user-attachments/assets/f7abeb36-30af-4acc-8387-155c480c9ae6

Version (Optional)

vassbo commented 2 weeks ago

You have to create new templates (show item styles) with new textbox positions, matching your new 768x480 resolution.

Dexiion commented 2 weeks ago

There is no way of doing it in general for all the output? Why the resolution and "media fit" only applies to backgrounds and not to all the slide? Could this feature be done?

vassbo commented 2 weeks ago

You can do it generally by setting a template in the output style!

The slide items has to stay consistent and are based on a coordinate system. I know there's probably some other way to do it, I might also add a custom scale button to rescale textboxes if they do not fit the set area.

Dexiion commented 2 weeks ago

Well if I apply a template on the output style I will lose all the other templates that I have.

I checked how ProPresenter does and they have this config where you can stretch the output to where you want. So the only thing I had to do was to set the output to the 768x480 screen and then use this to stretch the output from the top and the bottom to not get the blackbars

https://github.com/user-attachments/assets/e81152f8-5ddd-4e64-9fde-0fa052b1804b

Would be very useful having this and could save so much time for people who have weird resolution screens 😄

vassbo commented 2 weeks ago

FreeShow does not rely on virtual screen like ProPresenter, so text content can't be stretched the same as the media fit works.

In your first video example the text was way too big in the bottom rigth corner, so even this stretch feature would not be able to fix that, if you are with me?! But I'll see what I can do about this, probably an auto resize button if the template/slide items do not match the current output resolution!

Dexiion commented 2 weeks ago

Sorry I think I didn't explain myself well.

What I wanted to say is that would be nice to have for example on the Style section a configuration like the crop option but that you can stretch.

https://github.com/user-attachments/assets/6b9da083-57a7-4c4c-9a28-615ae433d99a

So as you can see on the video this will be my output setup (The OBS is to show you how it is looking on the output at realtime). So you can do what I did on the OBS to stretch to the top and to the bottom to fit the screen (also you could do it to the right and to the left)

I will try to figure if I can do it and do a PR but I do not promise nothing 😂

vassbo commented 2 weeks ago

I understood that, you can already do that for media with the "Media fit" option!

But it's not as simple as stretching the (text) content like ProPresenter, because they have a virtual video output, while we rely on real time SVG fonts etc. So each textbox would have to be resized in that case, but then again the font size etc. would not change!

Dexiion commented 2 weeks ago

Well so we will have no other option but to use OBS and resize It in there. But would be awesome If we could do it on FreeShow. Thanks man and sorry for the inconvenience 😄