ChurchApps / FreeShow

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

Automatic Stage View Selection based on Current Show Category #1013

Closed Dcanadian closed 1 week ago

Dcanadian commented 1 week ago

Feature Description

Thanks so much @vassbo for all the hard work put into this app! I literally cannot thank you enough for such an awesome and free app. ❤️

So, for my church's song service, I like to put up a specific stage layout that uses the text from the current slide and the next slide to give the praise team a better idea of what is going on. However, the same stage view doesn't work for presentations and slides during the other parts of the service, so I usually end up quickly changing the stage output to a simpler "current output" view for the non-singing parts of the service.

What I'd like is the option to have the stage output automatically change in the stage show output based on the type of show being presented. I've tried to create an action to do this for me, but I couldn't find an option that would differentiate between the slides. I was thinking that it might be possible to either create an action or add an output setting to change the stage view output based off of the category that the show is in. This would mean that when I switch from a show in my "presentations" category to a show in my "hymnal" category the stage will switch from a presentation-tailored one to a hymn-tailored one.

What are your thoughts on this? Does this workflow already exist?

mwb9aa commented 1 week ago

I did something similar for our scriptures, and the steps might work for you.

  1. Create two stage layouts, one for songs (current/next text) and one with the current output. I think you already did this.
  2. In the Functions tab of the drawer create two actions that change the stage output by ID. One action changes the stage layout to current/next text. The other action changes stage output to the current output layout.
  3. Drag the current/next action onto the first slide of each show that needs to have that layout. For example, each song. Drag the current output action to the first slide of each show that needs the current output layout.

When the user clicks on the first slide, the action will play and change the stage layout.

Bonus: A slide can have more than one action on it at the same time.

vassbo commented 1 week ago

Thank you @Dcanadian. Does the method provided by @mwb9aa work for you?

thebiblelover7 commented 1 week ago

I believe that @Dcanadian is meaning to add the ability to apply an action/macro to the first slide of the show depending on which category it is in. That way, you don't have to go through every show of the category to add it (which is very time-consuming when you have at least 600 songs.

Dcanadian commented 1 week ago

Yes, @thebiblelover7 , you beat me to it! 😀 I am wondering if it can become a feature to have that macro. The method @mwb9aa mentioned seems like a good solution, but I think that if possible, we should look into making this a simple and slick feature.

mwb9aa commented 1 week ago

My steps are just a workaround. I think this feature is almost implemented, with just a few more pieces in place, I think we can have the features @thebiblelover7 and @Dcanadian are requesting.

I can create a template in the function drawer. I can create actions to change my stage layout by ID. I can add the actions to my group template by Right-clicking the template->Action->Run Action. I can create a group and add the template to the group in Settings->Groups. I can put this global group in my Show.

However, I don't think the run action is actually working. It is not working on either computer I am using at the moment.

*You can use an existing group, then there is no need to add it to every show because it is already in each show.

I think the bug is that run action on a template is not actually working.

vassbo commented 1 week ago

@mwb9aa Actions/backgrounds on a template is only applied to slides when the template is applied to a show, not when the slides/groups/style template is automatically applied.

I think "Category action" is the way to go.

vassbo commented 1 week ago

https://github.com/ChurchApps/FreeShow/releases/tag/v1.3.1

mwb9aa commented 2 days ago

@vassbo I used this feature Sunday, It worked well. Thank you so much for all of your hard work.

mb

Dcanadian commented 2 days ago

@mwb9aa, how did you implement that? I couldn't figure it out. I don't have a lot of experience using "Actions," so I'd love to learn how you set yours up.

mwb9aa commented 2 days ago

@Dcanadian Apologies if my "teacher voice" comes out and I explain something you already know. My wife says it comes out a lot.

  1. Create categories (or use existing ones) in the Shows tab of the Drawer.
  2. Right-click the category (Songs) and choose Category Action.
  3. Pick the action you want to use. You can only choose one action per category. If you want multiple things to happen, you have to configure that in your action.

Actions are series of steps put into a "shortcut". Create actions by navigating to the actions section of the Function tab in the Drawer and clicking New action. @vassbo has given us tons of options, my favorite of which is being able to add multiple Start actions to a single action.

Some common actions broken by category:

  • Select project item by index
  • Select slide by index
  • Next slide
  • Change output style
  • Change stage layout

Once you set up an action, you can click on it to activate it. You can also assign it a custom shortcut keypress (single keys only), a midi note trigger, and can drag the function onto a slide to be triggered whenever the slide goes "live".

In our service, we want the stage output to match the audience output during the announcements slides. So, I have an action set that

Then on any show in the category Ableton, I apply an action with the following actions:

If you have further questions, feel free to send me a dm.