Using rules to type variable numbers in Premiere

jessepeej

2020-05-21 22:17:10

Hello! I just purchased Pro because I knew the ability to make more complicated rules should be able to get me to where I'd like in premiere. Which is this: I want the value of the knobs on my Akai MPK Mini to correspond to values typed into Adobe Premiere.

In order to edit the color temperature of my Blackmagic Raw files, I had set up Classic to follow a series of keystrokes to get to the right variable in premiere, and enter a custom value. This required me writing a new trigger for every value, and was obviously going to become a big time sink.

There's probably a more elegant solution for changing the values, but premiere only visually updates upon pressing enter, so here's what one of my triggers looked like:

F Shift(5)  Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab 150 Enter

I just want to set it up for something like this:

F Shift(5)  Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab (Variable Number) Enter

I tried assigning the Value of a control change to a variable (pp) and entering pp into my outgoing keyboard command, which only printed: pp.

I'm sure this isn't a tough fix, right?

Thanks!


Attachments:

sdfsfed.png
asdfsdff.png

Steve-Bome Forum Moderator

2020-05-21 22:44:59

Hi,

You will need to be careful with timing of your keys as many applications cannot keep up if you enter them together. For your tabs, you might want to use a repeating timer and set a delay between each output.

For entering a number, I came up with the attached solution. In my case, I click the mouse where I want on the screen and then enter the number, but as you probably know, screen locations can change so your method of using combinations of tabs will likely be more reliable. You then store the number into a variable and I have a routine that takes any 3 digit number and converts it to keystrokes. If the number has leading zeros, they will be suppressed. It is only set up to work for values between 0 and 127. If I remember, I scaled that to 0-100 as applictions like premier might find that more friendly.

I've attached it here. 

 

Good Luck!

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz


Attachments:

CC-Mouse-to-text-box-and-enter-number.bmtp

jessepeej

2020-05-21 23:52:46

Taking what you have here, my best care scenario would be:

1: Moving the knob at all toggles a key sequence to move to the right variable - but only a single time.
2: After each value is generated, an \"Enter - Tab - Shift(Tab)\" is entered to allow the change to be effected, and reselected.
3: Setting the scale (1=2000. 127=5700, for example)

If I\'m able to figure out those three principles in the abstract I think I could get where i need to go. Thanks for your help.

Is there any way to paste text into the keystroke window?

Also, the biggest problem with my method of manually setting the parameters myself was that it was taking a while for me to seek, for example, the 10 o clock position, take note of the midi command, and then enter in my own variable. Is there a way for me to just enter \"1\" or \"127\" instead of \"B1 04 50?\" My understanding of these values is very fresh so I\'m sure this is pretty basic knowledge. (Edit: Figured this out!)

Steve-Bome Forum Moderator

2020-05-22 01:39:18

Taking what you have here, my best care scenario would be:

1: Moving the knob at all toggles a key sequence to move to the right variable - but only a single time.
2: After each value is generated, an "Enter - Tab - Shift(Tab)" is entered to allow the change to be effected, and reselected.
3: Setting the scale (1=2000. 127=5700, for example)

 

For 1 you set a global variable when you start the sequence, you continue, but when you continue to turn the knob if the global variable is set, you ignore the knob turn. When the sequence is done, you set the global variable back to 0 allowing knob input again. Setting the global variable back to 0 will be the last thing you need to do in your event list.

For 2, you can take the global variable even further and the second part of the sequence happens when the global variable is 2 instead of 1.  So:

Variable is 0 - Accept knob input. Start turning knob, set variable to 1, finished with first sequence set variable to 2, and so on, when the sequence is done set it back to 0

For 3, see the tutorial on scaling. If entering a 4 digit number you will need to modify my script to allow for another character.  If you need alpha characters you can add them and maybe use their ascii values as a way to select them.

Scaling

If I'm able to figure out those three principles in the abstract I think I could get where i need to go. Thanks for your help.

Is there any way to paste text into the keystroke window?

The text/keystroke goes to wherever your current pointer position is. If it is a text box, it should rececognize it as such.

 

Also, the biggest problem with my method of manually setting the parameters myself was that it was taking a while for me to seek, for example, the 10 o clock position, take note of the midi command, and then enter in my own variable. Is there a way for me to just enter "1" or "127" instead of "B1 04 50?" My understanding of these values is very fresh so I'm sure this is pretty basic knowledge. (Edit: Figured this out!)

B1 04 50 are the MIDI hex codes for CC  (B) on  MIDI Channel 2 (1), 04 (CC Number), 50  (value in hex which is 80 decimal).

 

jessepeej

2020-05-23 23:15:25

Okay, thanks! I think instead of the value generating script I'm ok with entering the values myself, because unlike most premiere sliders these have very specific values. Exposure goes from -5 to +5. Tint goes from -150 to +150. And if I can get them to move in broad strokes every 10 values or so that saves on overloading the key commands.

So if I can trigger the move to variable with a global trigger, it will clean up the process of indicating that a value of 50 should move me to Exposure +1 for example. Right now all the tabs get kinda messy and make it hard to make adjustments.

So this was my attempt to feel out setting this global variable, excuse how inexperienced I am :p

1. Incoming Midi Control Change > Any value > Set Value to pp
2. If PP<0  then GG=1
3. If GG=1  then...
4. Disable Processing

Does that make any sense? Appreciate your help. Oh and my question about pasting into the keystroke window actually referred to the outgoing keystroke window of BMTP. I kept getting stuck in situations where backspace was added to the command list instead of deleting keystrokes, and having to clear everything and start the key command from scratch. Thanks again!

Steve-Bome Forum Moderator

2020-05-24 02:01:41

Hi, I don\'t recommend sending keystrokes to MT  text boxes. Usually MT Pro is set to ignore incoming and outgoing keystrokes so that you don\'t mess stuff up while editing in the tool itself.  Yes, the keystrokes need to be exact though as it will capture the exact keystrokes you type in, including spaces, etc.  I\'m still concerned about the timing of tabs and instead of putting multiple tabs in the outgoing message to use a timer and iterate through the number of tabs you want with a delay between each keystroke.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz