ChurchApps / FreeShow

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

Stage View is not being displayed #456

Closed abhishikthraj closed 4 months ago

abhishikthraj commented 5 months ago

In the new update v1.1.5, I'm unable to view my stage view. All I see is a blank screen

vassbo commented 5 months ago

Okay, I'll check it out. The web view should work fine, if there is an issue with the main stage output.

abhishikthraj commented 5 months ago

Toggling it off and then on helped. I will update you if there is any other issue further with this. I don't think there is anything else for now.

vassbo commented 5 months ago

Okay, perfect! 😊

abhishikthraj commented 5 months ago

On thing to add to it is that, it worked on my other laptop only when I cleared thumbnail cache for some reason. No idea how that is related.

abhishikthraj commented 5 months ago

Sorry, can you reopen this and have a look... I had to do the above steps every time after the startup

vassbo commented 5 months ago

Okay, did you try creating a new stage layout? Does the same problem occur there?

abhishikthraj commented 5 months ago

No I'm talking about the same layout. I didn't change it.

abhishikthraj commented 5 months ago

Alright then, if you think it works with a new layout then I'll create one then

vassbo commented 5 months ago

I'm not sure, you can try.

abhishikthraj commented 5 months ago

Sure

celilo commented 4 months ago

I see this is not closed. I was having the same issue and it turned out to be a settings issue, which I'm betting coincides with the originally submitted issue.

My assumption is that the feature works as follows:

This works only if the output in "Settings -> Outputs" is set to enabled. I disabled that output because, when enabled, an unused display is created in the upper right of the interface. Even though the stage display shows in interface when the assigned output is set to disabled, it is actually disabled. The current solution is to leave the associated output enable, despite the resulting interface clutter.

Is there a reason that a new stage display is added rather than simply displaying the stage layout in its assigned output?

celilo commented 4 months ago

One other piece to add. Even though the above scenario provides a working stage display (The slide text displays and changes with the slide), the Stage displays are, when enabled, always set to the last sequential windows screen. I have four physical displays as follows: 1=Primary display (User interface), 2=Stage display1, 3=Stage display2, 4=Audience (projectors). The outputs associated with my stage layouts are assigned to displays 2 and 3. Regardless, they assign themselves to display 4 when enabled on the stage tab. After enabling, I have to manually go to settings and reassign them to displays 2 and 3, respectively so that they display on the proper physical displays.

vassbo commented 4 months ago

Okay, let's get this straight:

Hope this makes sense.

celilo commented 4 months ago

Sorry in advance for the lengthy narrative, but I wanted to be precise. Some of this is perhaps a bug and some of this is related to my own expectation of how this feature should work. I realize that the second part of that may be different from your own perspective:) Here's what I am experiencing with screenshots.

To create a stage output window you just need to go into the stage layout "Slide" options and enable the "Output screen", no more steps required!

When I do not assign an output, the current slide text does not display. Some other fields do, so this may be specific to slide text. The slide text is displayed if I go the the URL under connections. This seems to be a bug. Maybe a caching issue?

1-StageLayout3EnabledWithNoAssignedOutput-NoCurrentSlideTextDisplayed

But you might need to set the "Output" dropdown right over to your main output, or the output you want this stage layout to mirror. (The stage output window position can be changed from the "Outputs" settings.)

If I assign an output, the slide text appears.

2-StageLayout3EnabledWhenAssignedToExistingOutputStageBalcony -CurrentSlideTextDi-splayed

I assigned "StageLayout" to output "Stage-Balcony" on the Stage tab, but the stage layout is not assigned to the output designated in the stage settings. Instead, it is always assigned to my last numbered display, display 4 in my case. The following screenshot shows the "Stage-Balcony" display assignment.

3-StageBalconyOutpuAssignedToDisplay2

This screenshot shows that "StageLayout" is actually assigned to Display4, despite the choice of "Stage-Balcony" in the stage tab. I can manually change the screen assignment in settings to set the stage layout to show on the desired display.

4 - DespiteBeingAssignedToStageBalconyOnDisplay2-OutputIsAssignedToDisplay4

My remaining confusion:

What is the point of the output assignment in the stage tab if it does not result in the stage output utilizing the assigned display? If I activate multiple stage layouts and the assigned display is ignored, all of the stage layouts end up stacked on the same physical display, such that only the stage layout at the top of the stack is visible. Currently one must manually change the assigned output after the stage output is created. It's counterintuitive and most users are going to be confused, especially church volunteers.

You can enable/disable the outputs in the settings, but you might not need to, just make sure to activate/deactivate the windows in the top right.

I understand the enable/disable outputs option. A disabled output still appears in the interface. This makes complete sense for an output that is in active use. For example, disabling the output to my primary projector allows me to quickly blank the output that the audience is viewing. In the case of the outputs that I've created for my stage displays, nothing usable actually displays on them. They are dummy outputs that are required to provide screen coordinates for the stage layouts. They do not serve any purpose in the UI and are simply wasting valuable screen space and serving as a source of confusion.

I do see a potential use for these outputs. Assuming that these are layered behind the stage layout that is utilizing the same output coordinates, they could be used to switch the stage display to quickly display the audience slide output. However, you can't click to disable the stage outputs like all of the other outputs. We do this currently with ProPresenter when showing videos to the audience. The choir and others can't see the projector output, but they can watch on the stage display.

My original point was that the stage layout should not be treated differently than all of the other outputs. It makes sense to see each stage layout appear in the output to which it is assigned. You could even assign multiple stage layouts to the same display and have functionality to quickly change which layout appears on the top of the stack. This would work well with automation.

I've garnered significant software experience from many roles and I'm just feeding back in hopes of providing a different perspective that might help improve usability. Thanks for all that your contributing to FreeShow.

vassbo commented 4 months ago

Okay, thanks. Let me try to explain better.

You have created duplicate output windows of the stage outputs, you don't need the "Stage-Balcony" and "Stage-Sanctuary" outputs, because you have activated the "Output screen" toggle: image

The "Output" here in your case should be set to "Audience" I guess, because this is where the text content is taken from (not your other stage outputs). It automatically chooses one of your outputs which seems to have no text content! As explained previously the "Output screen" toggle here will create a main output for you, that you can use and edit in the settings (That's why you need to edit the StageLayout window, instead of the unnecessary "Stage-Balcony". image

Hope this makes sense! :)

celilo commented 4 months ago

The "Output" here in your case should be set to "Audience" I guess, because this is where the text content is taken from

Thank you!

I finally understand how it's supposed to work. Your above remark was the key to me understanding the function of the settings on the Stage Tab. My confusion was that I interpreted the output dropdown as the place to display the stage and not the source for the stage. Maybe something as simple as this would make it more clear.

StageOutput-SourceModded

I see why it's necessary to specify the source since FreeShow allows a per slide "Specific Output" to be specified, meaning that that the actual content and not just the style can be different on each output. That's a bit of a new concept coming from ProPresenter.

I still need the other two outputs because I sometimes need to place the full audience content on the physical stage monitor. I'm working remotely, so I haven't tested to see how this works on the physical monitors; I'm not sure how the layering model works in this scenario.

vassbo commented 4 months ago

Nice, I will update the text to be more clear.