Am I mistaken or is there really no way to set the state of Virtual Console buttons with OSC directly?
I've searched and searched and I've done all of the suggestions (e.g. create an input profile), but no matter what I send (int, float, string) I'm only ever able to toggle a Virtual Console button using OSC. This can't really be the case can it? I did a LOT of testing to make sure that I'm not missing something here, but I could always be mistaken so I'm definitely open to any suggestions. However, if there's really no way to directly set the state of a virtual console button with OSC that seems like a fairly significant shortcoming.
Thanks in advance!
EDIT: FWIW, I have found a workaround, however kludgy it may be. If I add a fader to the same function as a button, setting the value of the fader with INT(255) and INT(0) will turn the button on and off. Not ideal, but if there's no way to do it with the button, I guess this is the best we've got.
No way to set VC buttons directly with OSC?
- sbenejam
- Posts: 607
- Joined: Sun Apr 12, 2015 6:28 pm
- Real Name: Santiago Benejam Torres
- Contact:
The buttons can set, activated or deactivated with OSC there some hints to get it work as expected, depends on the button type and the program you use to send OSC messages. Normally you can set the buttons in Open Stage Control or in TouchOSC as toggle, momentary, etc.
-
- Posts: 118
- Joined: Wed Apr 15, 2015 8:04 pm
- Real Name: George Qualley IV
Um OK, what “hints”? I’m very familiar with the button types in QLC+. However I think that your suggestion that what I’m using to send OSC is a bit dubious. I really just need to know what data type and message QLC+ expects…sbenejam wrote: ↑Sat Oct 28, 2023 6:21 am The buttons can set, activated or deactivated with OSC there some hints to get it work as expected, depends on the button type and the program you use to send OSC messages. Normally you can set the buttons in Open Stage Control or in TouchOSC as toggle, momentary, etc.
- sbenejam
- Posts: 607
- Joined: Sun Apr 12, 2015 6:28 pm
- Real Name: Santiago Benejam Torres
- Contact:
I'm using TouchOSC and Open Stage Control to send messages to QLC+. In the input profile editor you can check generate extra press/release when toggled in the buttons if needed. Can you post a sample QLC+ project and examples how you are trying to send the OSC messages to QLC+?.
-
- Posts: 118
- Joined: Wed Apr 15, 2015 8:04 pm
- Real Name: George Qualley IV
I’m not sure you’re understanding my issue. I know what the extra press and release does. I use it with my Maschine controller for certain functions. But I want to be able to set a button REGARDLESS of its state, not just toggle it. For example, if the button is on and I send another “On” message (whatever that might be), the button should remain on—not toggle off. This is important because the state of the button may have been updated directly (not using OSC) on the virtual console.sbenejam wrote: ↑Sat Oct 28, 2023 10:52 am I'm using TouchOSC and Open Stage Control to send messages to QLC+. In the input profile editor you can check generate extra press/release when toggled in the buttons if needed. Can you post a sample QLC+ project and examples how you are trying to send the OSC messages to QLC+?.
With all due respect, I’ll tell you how I’m sending the messages but it’s really not relevant here because what I need is a “low level” answer. I need to know specifically which OSC message to send and I can make it happen because I’m doing this from Home Assistant via an AppDaemon python script using the simpleosc python library. And to sniff the messages it’s sending I’m using Protokol. So I can see exactly what’s being sent. So if the message needs to be a string, no problem. An int or a float, again, no problem. I just need to know WHAT thst message is. And, if there is one I’m going to do a pull request to update the documentation so I don’t forget it.
-
- Posts: 118
- Joined: Wed Apr 15, 2015 8:04 pm
- Real Name: George Qualley IV
I’m not sure you’re understanding my issue. I know what the extra press and release does. I use it with my Maschine controller for certain functions. But I want to be able to set a button REGARDLESS of its state, not just toggle it. For example, if the button is on and I send another “On” message (whatever that might be), the button should remain on—not toggle off. This is important because the state of the button may have been updated directly (not using OSC) on the virtual console.sbenejam wrote: ↑Sat Oct 28, 2023 10:52 am I'm using TouchOSC and Open Stage Control to send messages to QLC+. In the input profile editor you can check generate extra press/release when toggled in the buttons if needed. Can you post a sample QLC+ project and examples how you are trying to send the OSC messages to QLC+?.
With all due respect, I’ll tell you how I’m sending the messages but it’s really not relevant here because what I need is a “low level” answer. I need to know specifically which OSC message to send and I can make it happen because I’m doing this from Home Assistant via an AppDaemon python script using the simpleosc python library. And to sniff the messages it’s sending I’m using Protokol. So I can see exactly what’s being sent. So if the message needs to be a string, no problem. An int or a float, again, no problem. I just need to know WHAT thst message is. And, if there is one I’m going to do a pull request to update the documentation so I don’t forget it.
- sbenejam
- Posts: 607
- Joined: Sun Apr 12, 2015 6:28 pm
- Real Name: Santiago Benejam Torres
- Contact:
These are the messages that Open Stage Control sends when you press the buttons. It sends 1 when activate it and 0 when deactivate.
(DEBUG, OSC) Out: { address: '/S1', args: [ { type: 'f', value: 1 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/S1', args: [ { type: 'f', value: 0 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/page1', args: [ { type: 'f', value: 1 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/page1', args: [ { type: 'f', value: 0 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/S1', args: [ { type: 'f', value: 1 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/S1', args: [ { type: 'f', value: 0 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/page1', args: [ { type: 'f', value: 1 } ] } To: 192.168.1.41:7702
(DEBUG, OSC) Out: { address: '/page1', args: [ { type: 'f', value: 0 } ] } To: 192.168.1.41:7702
- sbenejam
- Posts: 607
- Joined: Sun Apr 12, 2015 6:28 pm
- Real Name: Santiago Benejam Torres
- Contact:
Can you post a simple example or QLC+ project?.
I made some tests sending OSC with python and is working. To activate a QLC+ button in Toggle function on/off mode you have to send 1, to deactivate you have to send 1 again.
For a button in Flash mode if you send 1 the the button and it's assigned function are activated until you send 0.
I made some tests sending OSC with python and is working. To activate a QLC+ button in Toggle function on/off mode you have to send 1, to deactivate you have to send 1 again.
For a button in Flash mode if you send 1 the the button and it's assigned function are activated until you send 0.
-
- Posts: 118
- Joined: Wed Apr 15, 2015 8:04 pm
- Real Name: George Qualley IV
I know this. If you read my posts you will see that this is basically the opposite of what I am trying to do. I can TOGGLE things all day long. I want to be able to DISCRETELY set the state of a button...
I appreciate the effort to help, and I'm not trying to be rude, but you don't seem to be understanding my question despite the fact that I have very clearly stated the problem that I'm trying to solve several times now.