MIDI Control Change for Blind Users

Yes, that is correct.

In the example, it prompts you for the explicit value. If you want the explicit value to always be 64, replace the Prompt for User Input action with a Set Variable to Calculation action and set the My MIDI Value variable to 64.

Thank you again for your help,

As I progress through my project, I realize that I should be able to prevent certain macro from exceeding the value 20, when I use the shortcut allowing to increase the value by 1.

(Cloud Low End, CC 38, Value 0 to 20)

Is it possible to do this with the variable you created?

Regards,

Mat'

Sure, use the If Then Else action, and a Calculation condition, and only increment the My MIDI Value variable if the condition My MIDI Value < 20 is true.

Thank you for your explanations.

Unfortunately I can't reproduce the action.

Could you perhaps share the macro with me, starting from your last example?

  • I may not have done things in the right order because when I increase the value by 1, the system voice (Speak Text) continues to indicate the value 21, 22… etc. (As the value should not exceed 20, I would like the system voice to stop speaking)

  • When I use the shortcut allowing to decrease the value by 1, the system voice (Speak Text) does not pronounce the numbers -1, -2… etc. (This is the behavior I expect)

On the other hand, when I go to check the value retained by Keyboard Maestro in the My MIDI Value variable, it indicates -1 to -2 ...

  • Is it possible to set a limit value retained by the My MIDI Value variable? (0 - 20) Having a fixed start and end, lets never go wrong.

  • Does the order of actions matter? (Priority, execution speed… etc.) Set Variable “My MIDI Value” To Calculation “My MIDI Value + 1” / Send MIDI channel 4 controller 31 change to My MIDI Value / Speak Text “% Variable% My MIDI Value% ”/ If All Conditions Met Execute Actions

I would like to share my most recent macro group with you, but I don't understand how to fit it into my last topic.

I select the macro group, I select share via the forum, it offers me to create a new topic ...

Thank you again for the help you bring to my project!

Best Regards,

Mat'

Hi Mat',

You can share your macro by

  1. exporting it from KM using the File - Export Macro option

  2. upload it using the 'Upload' option in the box where you type your reply. I hope you can find it. It doesn't have a shortcut key (I can imagine that would have helped...)

Hope this helps.

René

Something like this:

MIDI Example Macros.kmmacros (4.4 KB)

thank you very much for your help Peter!

I understand better why I couldn't get the macro to work by following your explanations.

  • I think there is a problem with VoiceOver on Keyboard Maestro, when I select Execute the following actions then No Action, I select from the Set Variable to Calculation list.

It is impossible to my knowledge for a VoiceOver user to select the action.

  • You must necessarily have a sighted person to perform a drag and drop.

Maybe other VoiceOver users on this forum can explain how to proceed?

Regards,

Mat'

You can double click items in the action category selector.

Or you can right/control click on the No Action and select an action from that popup menu.

Or you can right/controlclick on the No Action, and select "Auto Show Insert Action by Name" and then you can click on the No Action, and select the action by typing its name and pressing return.

Hello Peter,

I have just tested with this manipulation, and it works:

VO, Shift + Space press twice

1 Like

Hello Peter,

I have almost finished my project but am having some difficulty with macro groups.

(I had to create 15 macro groups, some macros have the same shortcut)

For the macro group A (mgA) example:

  • mgA, mgB, mgC… mgN, mgO.

I have observed differences between Enable/Disable and Activate/Deactivate.

My 15 macro groups are Enable.

When I turn certain macro groups Activate and Deactivate, everything is fine.

On the other hand, when I restart my Mac all the macros which were Deactivate are Activate again.

Can Keyboard Maestro retain Activate / Deactivate status?

Thank you in advance for your help,

I found the solution to my question with the command:

Set Macro or Group Enable

Hi,

Is it possible to send a MIDI Program change with Keyboard Maestro? I am not sure how to do that.

Do I have to use Send MIDI Packet and write Send MIDI packet 11004 000A?

(4 for the channel, 00A is the first factory preset of the pedal)

I found this explanation on the web:

The MIDI message used to specify the instrument is called a "program change" message. It has one STATUS byte and one DATA byte:

  • Status byte : 1100CCCC
  • Data byte 1 : 0XXXXXXX

where CCCC is the MIDI channel (0 to 15) and XXXXXXX is the instrument number from 0 to 127.

Thanks again for your help.

Regards,

Mat'

Yes, for anything other than a note on or off, or a control change, you have to send a raw packet.

I don't know the packet format well enough to confirm what the packet is for a program change, but presumably it is documented.

Hello Peter,

Best wishes for the new year!

I was able to find how to send a Program change, I did not understand that it was necessary to convert to hexadecimal.

Many thanks for your help, this software is really fantastic!

I have a question regarding the Show Macro Group for One Action:

  • I followed the macros classification procedure 01)Test, 02)Test… 99)Test

the numbers disappear correctly.

  • On the other hand, my macro 100)Test remains identical:

the number 100) does not disappear.

Is this normal? Would it be possible to modify it in a future version?

I use this action to display a lot of factory presets.

Thanks in advance.

Best Regards,

Mat'

Correct - the format for sorting characters is xx) where x’s are individual characters.

So you can have 00) to 99), and aa) to zz) and pretty much any other characters there.

But no, you cannot use xxx) as a sorting character.

Use A0)Z9) for further groups.

Hello Peter,

I have a question regarding the action: Show Macro Group for One Action.

My macro group example:

00)Test A

01)Test B

02)Test C

  • I run the Test B macro, I would like Keyboard Maestro to remember this selection.

If I open the macro group again, I would like Test B to be marked as selected.

  • If I open the macro group again, I run Test C:

It is marked as selected and Test B is deselected.

I tried the action: Mark Macro.

I can't get it to work, or maybe VoiceOver can't see it's marked ?

Best Regards,

Mat

Palettes do not have a concept of a selection.

But you can mark macros using the Mark Macro action.

So Test A could mark itself, and unmark Test B and Test C, and similarly for the other two.

Hello Peter,

I have a question regarding the action: Show Macro Group for One Action.

My macro group example:

00)Test A

01)Test B

02)Test C

  • I run the Test B macro, I would like Keyboard Maestro to remember this selection.

If I open the macro group again, I would like Test B to be marked as selected.

  • If I open the macro group again, I run Test C:

It is marked as selected and Test B is deselected.

peternlewis:

Palettes do not have a concept of a selection.

But you can mark macros using the Mark Macro action.

So Test A could mark itself, and unmark Test B and Test C, and similarly for the other two.

I have tested several times, but VoiceOver is not able to read whether the macro is marked or not.

I think this is a label issue for VoiceOver.

Would it be possible in a future version to correct this?

The best solution would be:

When the macro is Marked, VoiceOver says: Selected (or Marked).

When the macro is not marked, VoiceOver does not say anything.

(It would be very tiring to hear VoiceOver repeat Unselected/Unmarked in front of each macro)

Or better yet, use the Mac system, as with the checkboxes, allowing the VoiceOver user to choose whether it is spoken before or after the macro!

If not, would it be possible in a future version to create this type of selection?

This is really important for a Blind person to better find their way when there is a large number of macros.

Best Regards,

Mat'

2 Likes

Noted.

I will see what I can do to improve it.

Done for the next major version.

When marked, the palette entry VO says "Title, Marked, button". When unmarked, it just says "Title, button".