companion
companion copied to clipboard
Page Number Button Action
Describe the feature Add limited internal functions to the Page Number button to allow directed page control without losing the current feedback, i.e. the page name if set.
Usecases
Maybe I'm missing something as I can find almost all the pieces separately...I'm trying to be able to take the Page Number button and put a "hidden" command on it to take me back to an assignable base page (basically the Set to Page command) effectively creating a home button. There are a couple ways to do this like adding the Set to Page function to the page number button, but I ultimately see this as being a universal function (rather than a page by page function) using the existing Page Number buttons (so it is part of a default page layout), set in the settings tab with an enable/disable field and a page number to switch to field.
I know similar functionality can be done now, but I see the current options as a workaround. For example I could do this by making the page number button a regular button with the Set to Page command, but this has it's own issues making it less than desirable. The primary reason I wish to avoid this type of option is having to program the button on every page individually. The second issue follows off that and is I haven't been able to find the variable to assign to the button title (if one exists) which will automatically change the name to the current page name (like the Page Number button currently does.) This means that not only would I need to program the button on each page, but I'd have to manually edit the title anytime I changed the title of the page it was on.
I am not a fan of adding actions to the page number button type. Perhaps instead we could do one of:
- Make the page when pressed be configurable per button. perhaps a customisable default in the settings tab
- Expose page names as variables
I am not a fan of adding actions to the page number button type.
A fair opinion, and not one I totally disagree with. I'm only suggesting that one specific action, not any action or even multiple actions. Right now it is an exceedingly useful button especially for someone like myself where, among other things, I have multiple copies of most of my pages page configured for different instances based on which location in my facility I happen to be working at. All the same, it doesn't currently do anything besides show the page title and feels like a waste of space sometimes. Being able to put that "home page" function on it will add usability beyond displaying the title to the button and I think Companion as a whole by not using up a separate button or having to manually configure something on each page. And for anything more than that one action, I agree a regular button should be used.
- Make the page when pressed be configurable per button. perhaps a customisable default in the settings tab
Not sure what you mean by this. Last time I used the Set to Page command, it was customizable by button. If you're talking about the Page Number button specifically, I'm even more confused as that sounds kind of like exactly what I'm talking about and you just said you weren't a fan of adding actions. In any event, for the Page Number button specifically, I had actually thought about going that one step farther and making the page configurable per button with a global default and I wouldn't argue against it. In my personal opinion however, I don't see the need. I see this as the up and down buttons operate as is and the number button doubles as a "Home" button taking you to some "default" page (configurable globally on the settings page) which is setup with, in my thought process, regular buttons with Set to Page commands though ultimately it could have whatever buttons one wishes just like any other page. I don't know enough about coding and Companion to know how much more difficult it would be to add the per page option and since I didn't need it anyway I figured the single global value would be easier.
- Expose page names as variables
This would be very useful. For my specific personal use case, I consider it a workaround but could see its potential for other uses as well. As a workaround, this one step would allow me to do what I want to now using the existing tools by using replacing the Page Name button with a regular button whose title is set to that variable. It still has to be programmed individually for each page and would have to be reset if the page it wiped (reset to default), hence why I consider it a workaround, but at least once it is programmed if I were to do something like change a page title, it would track. In the end what I'm envisioning would be part of the Page Name button by default and would (or wouldn't depending on the situation) be affected by a page reset accordingly.
Ill admit, my wording yesterday was truly awful, which wont help.
The problem is that those buttons do not use actions. There is some logic which sees that it was a pagenum button that was pressed, and does the jump instead of the normal button press logic. I don't particularly want to change that, as I expect that doing so will cause some bugs to creep in around how presses are handled. I remember there being issues at some point with this and release being fired on the new page. But it could be changed if it can be thoroughly tested.
So if we want to preserve the existing logic, that means no to actions, but we could easily move the currently hardcoded page to jump to, to be defined on either the button or in the config. If we want to do the work to replace the current behaviour with using the action version, then the easiest solution by far would be to change these special types to be purely visual, and allow for any action to be added to them.
Neither of these are hard to do, its just a matter of choosing the right solution
Ok, if I'm reading this correctly then my request may be more of a question then as it almost sounds like it might already do exactly what I want it to. I thought I checked everywhere and properly searched the help files, but I can't find anywhere to get the page number button to do anything else. What am I missing? The up and down button go to the next and previous page as expected (and I'm not suggesting that part change), but the only thing I've ever gotten the page number button to do it display the page number (well technically the page name which defaults to its number.)
If I'm not missing anything, then the way I'm reading your response is exactly what I'm thinking...an "action" (or whatever you want to call it) built into the page number button, similar to the next/previous page commands of the up and down buttons, which takes that surface back to a globally defined page (in setup) which acts as a "home page." I'm calling it an action because you press the button and an action is performed, but I'm not thinking in terms of the actions you would find on a regular button, nor anything that exposed to the user. I am thinking more in the realm of that background logic you are talking about.
I may have just found part of my "problem" with getting the Page Name button to "do something"...I'm not using it with the Elgato software. I'm usually only using Companion. I was playing with using both together today however (there are some things I've been experimenting with over the last couple days that don't have Companion modules (or an appropriate API that I know how to access) such as the Unity Intercom Client but do have Streamdeck plug-ins) and the Page Number button was indeed taking the surface back to page 1 when pressed. In that application, it would still be nice to be able to choose the page (I've been using 99 not 1) but otherwise is exactly what I was looking for and I can just as easily use page 1.
Getting back to my original request, I'd still like similar functionality when using Companion alone (that is currently my normal mode of operation as mentioned.) If it should be working there too, then some sort of guidance on what I may be doing wrong.
Thanks
The page number has always taken you back to page 1. It does that both with companion directly, and when used with the elgato software. It doesnt work in the web buttons, which is a different and much more complex issue.
hmmm...definitely only ever worked for me today when I went through the Elgato software and the plug in and not when I have it connected directly.
...and of course I just plugged it into a different computer that still only has Companion on it, and it is suddenly working. I'll keep an eye on that I guess and if I can figure out how to repeat it and/or it does it again, I'll report it as a bug.
In the meantime, I think we just simplified this...the functionality I'm looking for is there, it would just be nice to be able to assign the page. And the other related option would be to expose the page name variable so one can use it on regular buttons to do something custom.
I'd like to see the [Page] button send the current surface to its Startup Page. This would apply to all [Page] buttons on the surface. Or, maybe add a new field in Settings for the surface to define to which page the [Page] button goes.
Julusian I love your idea of using "Expose page names as variables" i think that is perfect for replacing folder-like structures whereby you could reference pages by name, go here, or go there. it is much more logical than using numbers and user-friendly for a lamen person to understand, (just know that down the track, there will be more requests to advance this feature like an internal action using a drop-down list of custom names of pages)
onto my original thought. Is it possible for anyone to add a "template" for each page, (not talking about importing but rather editing the default locations for page number, page up & page down. OR what i really like is to default onto the dial of a SD+
There is a related issue https://github.com/bitfocus/companion/issues/2748 which wants to customize the styling of these buttons a little.
I have proposed a solution there, which would also help here. The proposal is that the current behaviour of these buttons can now be fully replicated from scratch in a normal button. So perhaps going forward these page number buttons should be replaced with a couple of 'presets' which produce these pre-configured buttons.
While that wouldn't directly fix this issue, it would change what this is asking for.
Additionally, there is now (in the betas) an option in the 'surface: set to page' action which will set the specified surface to its 'startup' page.