3.10.0.5 beta / 3.11 alpha
4 posters
Page 4 of 10
Page 4 of 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Re: 3.10.0.5 beta / 3.11 alpha
- The VU scale dropdown is now available for scripted faders.
- The issues with custom designs in scripts are solved.
- About the "Generic 100%" dB option in the dropdown:
dB files can be of two sorts, either covering a 0-127 value span or a 0-16383 value span. The dropdown is populated with high-resolution files in the Mackie actions since the Mackie protocol uses a high-resolution control for this. The Generic Midi button can have both high-res and low-res controls, and to keep things simple, I have opted to populate the dropdown with low-res files. If the control is high-res, I scale it down. I got the high-res "Generic 100%" file from a user and included it in the package. I haven't created a low-res version, and that's why it isn't included in the dropdown in the Generic Midi button. The "Percent" option basically does the same thing. Should a low-res "Generic 100%" dB file still be included?
Version 3.10.0.339
Re: 3.10.0.5 beta / 3.11 alpha
Admin wrote:The vpot is moved with the {value:} action. I don't know what code to show, but say you want to move the vpot one step up; you do like this:
[(vpot:*){value:#@e_vpotvalue + 1#}]
Perfect example, thanks!
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
Admin wrote:
For some mysterious reason, the VU output from Cubase uses a curve like this:
Cubase doesn't output anything other than "0" until the level is above 20% (visually) on the scale, so I can do nothing to visualize the low levels better.
Yes, it seems that this curve has no sense. I will post a thread in Cubase forum asking for this behaviour.
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
If I select “Cubase/Nuendo 6dB” in the VU scale of a scripted fader that is combined with another scripted fader, that selection is not updated in the two combined scripted faders. As it is a green label, I suppose it should update the selection in both buttons.Admin wrote:
- The VU scale dropdown is now available for scripted faders.
- The issues with custom designs in scripts are solved.
- About the "Generic 100%" dB option in the dropdown:
The changes of custom designs works perfectly now.
The "Generic 100%" dB question is not clear to me. The current "Percent" option is low-res or high-res?
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
It would be useful to have an option for vpots when rotate direction is set to "both ways" to turn the direction automatically when the vpot arrives to the minimum or to the maximum position.
In this case, if the vpot is rotated pressing the button, the direction would change automatically when releasing the button.
If the vpot is rotated due receving midi values from the DAW, the direction would change automatically when midi value is 0 or 127.
The idea is that when the vpot is at the minimum it has no sense to have the counterclockwise direction. And when it is at the maximum it has no sense to have the clockwise direction. In both cases, pressing the button doesn't do nothing, so it would have sense to change the direction automatically and avoid to make a double press to change the direction manually.
This behaviour could be enabled/disabled with a checkbox like "Change direction automatically at max/min position".
In this case, if the vpot is rotated pressing the button, the direction would change automatically when releasing the button.
If the vpot is rotated due receving midi values from the DAW, the direction would change automatically when midi value is 0 or 127.
The idea is that when the vpot is at the minimum it has no sense to have the counterclockwise direction. And when it is at the maximum it has no sense to have the clockwise direction. In both cases, pressing the button doesn't do nothing, so it would have sense to change the direction automatically and avoid to make a double press to change the direction manually.
This behaviour could be enabled/disabled with a checkbox like "Change direction automatically at max/min position".
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
The midi values sent from Midi Remote for the VU meter seems to be by design and not a bug. Here is the link to the forum where I have posted the question. There are some interesting replies:
https://forums.steinberg.net/t/midi-remote-meter-all/916851/17
https://forums.steinberg.net/t/midi-remote-meter-all/916851/17
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
Admin wrote:The vpot is moved with the {value:} action. I don't know what code to show, but say you want to move the vpot one step up; you do like this:
[(vpot:*){value:#@e_vpotvalue + 1#}]
Let's say I want to set the speed to 0, and I want to rotate the vpot from 0 to 127 holding the button pressed (as speed was higher than 0).
What should be the code to rotate the vpot while the button is pressed if the speed is set to 0?
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
The auto-change direction is an interesting idea.
I also had a question in the Cubase forum and came to the same conclusion.
Regarding the question of how to rotate the vpot when the speed is set to 0, I would say you don't.
The speed=0 option came from a request you had to be able to send a custom command without moving the vpot or fader. You can, of course, set the vpot/fader position to any value you want in the script, but since there are no loop constructions, you can only set a single value (as a response to a (vpot) event). I would say that if you want movement, you should have a speed set; if you don't want movement, you set speed=0,
I also had a question in the Cubase forum and came to the same conclusion.
Regarding the question of how to rotate the vpot when the speed is set to 0, I would say you don't.
The speed=0 option came from a request you had to be able to send a custom command without moving the vpot or fader. You can, of course, set the vpot/fader position to any value you want in the script, but since there are no loop constructions, you can only set a single value (as a response to a (vpot) event). I would say that if you want movement, you should have a speed set; if you don't want movement, you set speed=0,
Re: 3.10.0.5 beta / 3.11 alpha
I want to control two knobs with one vpot. I am using two buttons for doing that. The 1st button is a script to select what knob must the vpot control:
[(press) {@button:1} {text:VPOT\n=\nTHRESHOLD}]
[(press) {@button:2} {text:VPOT\n=\nRATIO}]
The 2nd button is the scripted v-pot:
[(vpot:*) (@button:1) {cc:12,1,#@e_vpotvalue#} {text:#@e_ccvalue#}]
[(vpot:*) (@button:2) {cc:12,2,#@e_vpotvalue#} {text:#@e_ccvalue#}]
[(cc:12,1,*) (@button:1) {value:#@e_ccvalue#} {text:#@e_ccvalue#}]
[(cc:12,2,*) (@button:2) {value:#@e_ccvalue#} {text:#@e_ccvalue#}]
Everything works fine when I use only the stream deck buttons. But when I move the knobs in the DAW, the vpot seems to not remember the new midi values, and send the old midi values.
Here is a video showing this behaviour:
https://youtu.be/H22l77pgegQ
[(press) {@button:1} {text:VPOT\n=\nTHRESHOLD}]
[(press) {@button:2} {text:VPOT\n=\nRATIO}]
The 2nd button is the scripted v-pot:
[(vpot:*) (@button:1) {cc:12,1,#@e_vpotvalue#} {text:#@e_ccvalue#}]
[(vpot:*) (@button:2) {cc:12,2,#@e_vpotvalue#} {text:#@e_ccvalue#}]
[(cc:12,1,*) (@button:1) {value:#@e_ccvalue#} {text:#@e_ccvalue#}]
[(cc:12,2,*) (@button:2) {value:#@e_ccvalue#} {text:#@e_ccvalue#}]
Everything works fine when I use only the stream deck buttons. But when I move the knobs in the DAW, the vpot seems to not remember the new midi values, and send the old midi values.
Here is a video showing this behaviour:
https://youtu.be/H22l77pgegQ
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
jordikt wrote:Everything works fine when I use only the stream deck buttons. But when I move the knobs in the DAW, the vpot seems to not remember the new midi values, and send the old midi values.
- There is a bug in the vpot multi-command parser. The vpot multi-command should only be triggered while the button is pressed. The CC commands should not be sent just by changing the variable, as they are right now. I have found and fixed that problem.
- The fact that it does not use the correct value when you have moved the control in Cubase is actually a generic bug in the script engine that has always been there. I must decide how to handle that.
jordikt likes this post
Re: 3.10.0.5 beta / 3.11 alpha
I'm celebrating Sweden's national day with a new alpha release. I should probably start calling it a beta release soon, since it is getting close to being feature-complete.
Timers use the same syntax as variables but are prefixed with "t_" or "timer_." This is a breaking change if you have variables with those prefixes, so they need to be renamed to continue to be treated as variables, not timers.
Another potentially breaking change is that variable content is not limited to 0-127. Since timer values can be much larger, limiting math functions to the 0-127 range makes no sense. Variables can now be in the range 0-2,147,483,647.
All timers are global.
Event:
(@t_whatever:1000)
This event will trigger 1000 ms after the timer starts. A single value must be used; the timer event cannot take transitions, ranges or the "*" value.
Actions:
Actions are used to start and stop a timer. Four distinct actions are available:
{@t_whatever:start} The action will start the timer from whatever value it has.
{@t_whatever:pause} The action will pause the timer.
{@t_whatever:reset} The action will stop the timer and reset the timer value to 0.
{@t_whatever:loop} The action will start the timer in "loop mode". Loop mode means that the timer will run until it reaches the first registered event, fire the event, reset the timer, and start over. An event like (@t_whatever:1000) will be triggered once every second. A timer in loop mode can have only one event limit, i.e., you cannot have one event triggering at 1000 and another at 2000. Since the timer will restart when it reaches the 1000 event, it will never reach the 2000 event.
Timer actions cannot set a value to a timer; only the four actions listed above are available.
References:
Timer values are referenced the same way as variables.
{text:#@t_whatever#} will display the current value in milliseconds since the timer started.
Examples:
[(press){@t_hello:reset}{@t_hello:start}{text:Hello}]
[(@t_hello:2000){text:World}]
This script will show the text "Hello" when the button is pressed, and 2 seconds later, change the text to "World". (as a side note: the script in the example doesn't stop the timer; it will continue to run until it reaches the max value, about 25 days later, at which time it will stop)
===============
[(press){@helloCounter:0}{@t_hello:reset}{@t_hello:loop}{text:Hello}]
[(@t_hello:1000){@helloCounter:#@helloCounter+1#}{text:#@helloCounter#}]
[(press){@t_hello:pause}]
This script will show the text "Hello" when the button is pressed. Since the timer is set to loop mode, it will show an increased value every second after that. At the next button press, it will stop.
===============
I haven't tested how timer events work in multi-commands, so there may be some glitches there.
Version 3.10.0.376
- The "scripted button" option is now available for the Generic Midi button.
- The problem where the scripted vpot didn't react to value changes made in Cubase is fixed.
- VPots have a new setting to auto-switch direction at the ends. (by the way - scrub wheel buttons are probably a mess. I've made a lot of changes for VPots and haven't checked how they affect scrub wheels)
- Timer functionality is added to the script. It may be subject to change, depending on your feedback. Currently, you have this:
Timers use the same syntax as variables but are prefixed with "t_" or "timer_." This is a breaking change if you have variables with those prefixes, so they need to be renamed to continue to be treated as variables, not timers.
Another potentially breaking change is that variable content is not limited to 0-127. Since timer values can be much larger, limiting math functions to the 0-127 range makes no sense. Variables can now be in the range 0-2,147,483,647.
All timers are global.
Event:
(@t_whatever:1000)
This event will trigger 1000 ms after the timer starts. A single value must be used; the timer event cannot take transitions, ranges or the "*" value.
Actions:
Actions are used to start and stop a timer. Four distinct actions are available:
{@t_whatever:start} The action will start the timer from whatever value it has.
{@t_whatever:pause} The action will pause the timer.
{@t_whatever:reset} The action will stop the timer and reset the timer value to 0.
{@t_whatever:loop} The action will start the timer in "loop mode". Loop mode means that the timer will run until it reaches the first registered event, fire the event, reset the timer, and start over. An event like (@t_whatever:1000) will be triggered once every second. A timer in loop mode can have only one event limit, i.e., you cannot have one event triggering at 1000 and another at 2000. Since the timer will restart when it reaches the 1000 event, it will never reach the 2000 event.
Timer actions cannot set a value to a timer; only the four actions listed above are available.
References:
Timer values are referenced the same way as variables.
{text:#@t_whatever#} will display the current value in milliseconds since the timer started.
Examples:
[(press){@t_hello:reset}{@t_hello:start}{text:Hello}]
[(@t_hello:2000){text:World}]
This script will show the text "Hello" when the button is pressed, and 2 seconds later, change the text to "World". (as a side note: the script in the example doesn't stop the timer; it will continue to run until it reaches the max value, about 25 days later, at which time it will stop)
===============
[(press){@helloCounter:0}{@t_hello:reset}{@t_hello:loop}{text:Hello}]
[(@t_hello:1000){@helloCounter:#@helloCounter+1#}{text:#@helloCounter#}]
[(press){@t_hello:pause}]
This script will show the text "Hello" when the button is pressed. Since the timer is set to loop mode, it will show an increased value every second after that. At the next button press, it will stop.
===============
I haven't tested how timer events work in multi-commands, so there may be some glitches there.
Version 3.10.0.376
Re: 3.10.0.5 beta / 3.11 alpha
1. New scripted button in Generic Midi seems to work correctly.
2. Confirmed that scripted vpot reacts perfectly to the changes made in Cubase. It also works perfectly with variables as multi-events.
3. Auto change direction in the vpot works like a charm. Two possible modifications:
- Now the direction is changed when the vpot reaches the min/max values while the button is pressed. IMO it would be better to change the direction when the button is released.
- The label takes two lines. You could shorten the sentence or change margins. Some ideas to make it shorter: "Auto change direction at min/max" or "Auto switch direction at limits".
4. I don't use scrub wheels in my setup, but I have tested it a little bit. I guess that scrub wheel must be an infinite wheel (no stop at minimum, no stop at maximum). In this case, the auto change option should be removed from scrub wheel options. If I press the scrub wheel button, it stops after completing two laps. Pressing it again, it does the same. I suppose that's not the correct behaviour.
5. I will try the timer this weekend. Just some questions:
- All actions can "create" a new timer, or only some of them?
- It would be necessary an action to remove a timer? Could the timers consume a lot of resources?
2. Confirmed that scripted vpot reacts perfectly to the changes made in Cubase. It also works perfectly with variables as multi-events.
3. Auto change direction in the vpot works like a charm. Two possible modifications:
- Now the direction is changed when the vpot reaches the min/max values while the button is pressed. IMO it would be better to change the direction when the button is released.
- The label takes two lines. You could shorten the sentence or change margins. Some ideas to make it shorter: "Auto change direction at min/max" or "Auto switch direction at limits".
4. I don't use scrub wheels in my setup, but I have tested it a little bit. I guess that scrub wheel must be an infinite wheel (no stop at minimum, no stop at maximum). In this case, the auto change option should be removed from scrub wheel options. If I press the scrub wheel button, it stops after completing two laps. Pressing it again, it does the same. I suppose that's not the correct behaviour.
5. I will try the timer this weekend. Just some questions:
- All actions can "create" a new timer, or only some of them?
- It would be necessary an action to remove a timer? Could the timers consume a lot of resources?
jordikt- Posts : 294
Join date : 2024-02-10
Re: 3.10.0.5 beta / 3.11 alpha
Admin wrote:
- The VU scale dropdown is now available for scripted faders.
- The issues with custom designs in scripts are solved.
- About the "Generic 100%" dB option in the dropdown:
dB files can be of two sorts, either covering a 0-127 value span or a 0-16383 value span. The dropdown is populated with high-resolution files in the Mackie actions since the Mackie protocol uses a high-resolution control for this. The Generic Midi button can have both high-res and low-res controls, and to keep things simple, I have opted to populate the dropdown with low-res files. If the control is high-res, I scale it down. I got the high-res "Generic 100%" file from a user and included it in the package. I haven't created a low-res version, and that's why it isn't included in the dropdown in the Generic Midi button. The "Percent" option basically does the same thing. Should a low-res "Generic 100%" dB file still be included?
Version 3.10.0.339
I just created a "low-res" Generic CC100% file.
How can I test this on my system? Can I just include the path in a config file for the generic Midi Action? And which one is it?
Joerg- Posts : 142
Join date : 2021-09-03
Re: 3.10.0.5 beta / 3.11 alpha
Hello,Admin wrote:This doesn't work as connection detection. Background scripts will respond to incoming messages as long as the Stream Deck software runs, regardless of whether any devices are connected. Connecting or disconnecting a device changes nothing.jordikt wrote:
-Create or edit a Background Script in Global Settings of the Midi Plugin in Stream Deck to reply to the note on/off received with another Midi message
Can the new timer functionality be used to circumvent the above limitation ?
thx538- Posts : 130
Join date : 2023-10-23
Re: 3.10.0.5 beta / 3.11 alpha
jordikt wrote:Now the direction is changed when the vpot reaches the min/max values while the button is pressed. IMO it would be better to change the direction when the button is released.
That could be a good idea.
jordikt wrote:The label takes two lines. You could shorten the sentence or change margins. Some ideas to make it shorter: "Auto change direction at min/max" or "Auto switch direction at limits".
It is one line in Windows, so I didn't realize it was split into two lines on Mac.
jordikt wrote:If I press the scrub wheel button, it stops after completing two laps. Pressing it again, it does the same. I suppose that's not the correct behaviour.
No, that's one of the problems I expected with the scrub wheel.
jordikt wrote:
- All actions can "create" a new timer, or only some of them?
- It would be necessary an action to remove a timer? Could the timers consume a lot of resources?
All actions and events create timers if they don't exist.
I would say that it isn't necessary to remove timers. In fact, there is no way to remove a timer; you can stop it but not remove it. There is a background service that wakes up every millisecond to check if any timer events should be triggered. Even if there were several "unused" timers, the performance and resource impact of this background service is negligible.
Re: 3.10.0.5 beta / 3.11 alpha
Joerg wrote:I just created a "low-res" Generic CC100% file.
How can I test this on my system?
Create the folder "dBCurves" in your "Trevliga Spel" folder and put the file there. Once there, it should be available in the dropdown.
Re: 3.10.0.5 beta / 3.11 alpha
thx538 wrote:Can the new timer functionality be used to circumvent the above limitation ?
No. Unless I implement specific script statements for device connected/disconnected, there is no reliable way to handle that.
Re: 3.10.0.5 beta / 3.11 alpha
Hmm, I failed to get it up and running. looks like I am doing something wrong. Any ideas?Admin wrote:Joerg wrote:I just created a "low-res" Generic CC100% file.
How can I test this on my system?
Create the folder "dBCurves" in your "Trevliga Spel" folder and put the file there. Once there, it should be available in the dropdown.
Joerg- Posts : 142
Join date : 2021-09-03
Re: 3.10.0.5 beta / 3.11 alpha
Are those files really located in the folder:
"C:\Users\_yourusername_\Documents\Trevliga Spel\dBCurves"?
"C:\Users\_yourusername_\Documents\Trevliga Spel\dBCurves"?
Re: 3.10.0.5 beta / 3.11 alpha
Yes, that's why I asked. The path in the screenshot isn't the one I asked about.
Re: 3.10.0.5 beta / 3.11 alpha
In case you use OneDrive Sync (like me ) that is exactly how your home folder looks like. This hasn't been a problem up till now.Admin wrote:Yes, that's why I asked. The path in the screenshot isn't the one I asked about.
"C:\Users\_yourusername_\Documents\Trevliga Spel\dBCurves"
equates
"C:\Users\_yourusername_\OneDrive\Documents\Trevliga Spel\dBCurves"
Joerg- Posts : 142
Join date : 2021-09-03
Re: 3.10.0.5 beta / 3.11 alpha
OK. If the files are in the correct folder but aren't included in the dropdown, it probably means something is wrong with them. Send me the files, and I can take a look at them.
Re: 3.10.0.5 beta / 3.11 alpha
Admin wrote:OK. If the files are in the correct folder but aren't included in the dropdown, it probably means something is wrong with them. Send me the files, and I can take a look at them.
I included the 1.DRAFT of the low-res CC based value display file. This still needs to be optimized.
The second file is the standard high-res mapping
from C:\Users\Anwender\AppData\Roaming\Elgato\StreamDeck\Plugins\se.trevligaspel.midi.sdPlugin\dBCurves. I copied this one into the home folder just to check whether I would see it in the drop-down menue.
- Attachments
Joerg- Posts : 142
Join date : 2021-09-03
Page 4 of 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Page 4 of 10
Permissions in this forum:
You cannot reply to topics in this forum