Posts by Krzysztof Korzeniowski



    Mouse(1, 'move', 150, 30)
    Mouse(1, 'press', 'Left')
    Mouse(1, 'release', 'Left')

    will simulate a mouse leftbutton-click on screen 1 @ x250, y30 from top-left corner

    Be aware that (to my understanding), the Mouse API function will operate a secondary virtual mouse (without visible cursor), not your actual physical mouse and cursor, which will stay unaffected by all this

    Thx Andreas again - i think - i can now make some fun with mouse !

    I thought about integrating the Microsoft Dial to control the encoders, and here arises the question: can you control the encoder selection or control the encoder values using a keyboard shortcut in MA3? Or has MA kindly blocked that for us too?

    Because I doubt that a request to add support for the Microsoft Dial would be considered!

    You know what, I have a dot2 1k node and also a ma3 2k node, and many MIDI controllers. I handle them very well, but I still miss dot2, especially updates for this platform. MA2 still receives updates, but dot2 has been completely abandoned...

    I am working on various MIDI control solutions, such as LED feedback, motorized faders, Stream Deck, etc. I plan to develop a certain idea that will allow visual modification of dot2 controls, so that you can place custom graphics or animations on the executors... but that’s still a long way off.

    Regarding loading effects into the programmer, I agree - it's broken. Many things were supposed to be added and fixed, but in the latest update, we got macros and a few fixtures, which was a joke after such a long wait. Saving the show to MA3 also doesn't work, and LUA is disabled, even though it's built-in. I don't know why that happened. Even the possibility to use keyboard shortcuts wasn't added, although many people requested it. I'm furious because dot2 doesn't receive any updates, just like MA2, even though it's no longer in production, just like dot2.


    I'm not a programmer, but there's a need that allowed me to learn certain solutions which I've been publishing for several years now—a free solution. It's a Node.js code that communicates with web remote in versions for dot2 and ma2, converting all the necessary data on the fly to control the software and automatically highlight the keys. In the MA3 version, the Action Buttons view and direct control of specific faders or executors via MIDI are missing. So, I came up with a dual solution—a program that processes OSC-MIDI data in both directions and a plugin that sends the necessary feedback data. You can see the first version for MA3 and APC Mini MK2—I'm currently working on the colors. 😜
    ma3 Akai apc mini mk2 - YouTube

    Thank you, Andreas – as always, I can count on you. Could you also advise on how to read the current Page?

    "I am still waiting for MA to wake up and realize that they have an excellent product that can still be developed further - look at other companies that offer small lighting consoles, such as QuickQ from Chamsys, Obsidian Onyx, or now AVO.

    Look at the Avo Diamond 7 - that's how the dot2 could look in a new version - or maybe dot3?"

    Diamond 7-215 | Avolites

    [Blocked Image:]

    Hi, my name is Kim, and i new to the MA family. And some days ago i borrowed a 2port onpc pro node from a friend, but when i tried to connect the data leds won't light up, then when i returned to my friend the same happend on his pc. I use the grandMA2 onPC, the node blink when indentify is pressed, is in the lastest version, the session both of the node and my pc is 1, the ip of the node is:, the ip of my pc (and of my friend) is:

    If u use ArtNet - u need setup IP addres to 2.x.x.x pool

    ex PC LAN



    Start session

    Enable Artnet Out

    If u use MAnet - try direct connection - without router or switch

    ps: why ? free universes ? lol

    Hello - today I am presenting my solution for controlling MA3 onPC using the Akai APC mini mk2 MIDI controller.

    My previous solutions were based on web remote communication, but that is no longer possible because MA3 uses a video stream.

    For communication, I use my Node.js code, which handles sending and receiving OSC messages and MIDI control. On the MA3 side, there is a plugin running that sends OSC messages (thank you, Andreas!).

    With this setup, I have managed to achieve what I did with dot2 and MA2, which is controlling Action Buttons across multiple pages.

    To accomplish this, I created a view composed of several playbacks, displaying only the bottom buttons for each wing 1-6.

    The exception is Wing 1, which also displays the faders.

    I don't know if there is something in MA3 like in dot2, which allows a global fix (but one that can be applied only to a specific group of buttons/faders?), so the faders are FIXed so that you can still control them after switching the PAGE. This issue doesn't exist in my solution for BCF2000, as it has motorized faders that update elegantly.

    The program is very simple and free.

    Currently, I have achieved feedback for LED controls, control of Executors by specific number rather than sequence, and of course, control of the Grand Master and BO, as well as switching PAGEs 1-8, which is quite a lot.

    If Andreas can tell me how to get information about the color of Appearances and pages, I will add automatic coloring of the keys on the Akai side, just like I did for dot2 and MA2!

    Feel free to test it out.

    ma3 Akai apc mini mk2 - YouTube

    And this is PLUGIN

    local executor_table = {101,102,103,104,105,106,107,108,116,117,118,119,120,121,122,123,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,161,162,163,164,165,166,167,168,176,177,178,179,180,181,182,183,201,202,203,204,205,206,207,208}
    local osc_config = 2
    local history_fader, history_status = {}, {}
    local osc_template = 'SendOSC %i "/%s%i,i,%i"'
    local enabled = false
    local Printf, Echo, GetExecutor, Cmd, ipairs, mfloor = Printf, Echo, GetExecutor, Cmd, ipairs, math.floor

    local function send_osc(etype, exec_no, value)
     -- Printf(osc_template:format(osc_config, etype, exec_no, value))
     Cmd(osc_template:format(osc_config, etype, exec_no, value))

    local function poll(exec_no)
     local exec = GetExecutor(exec_no)
     local value = exec and mfloor(exec:GetFader{} * 1.27) or -1
     local last_value = history_fader[exec_no]
     local status

     if not exec then
       status = -1
       status = exec.Object and exec.Object:HasActivePlayback() and 1 or 0

     local last_status = history_status[exec_no] 
     if value ~= last_value then
       send_osc('Fader', exec_no, value)
       history_fader[exec_no] = value
     if status ~= last_status then
       send_osc('Key', exec_no, status)
       history_status[exec_no] = status

    local function mainloop() 
     while enabled do
       for _, exec_no in ipairs(executor_table) do poll(exec_no) end

    local function maintoggle() 
     if enabled then
       enabled = false
       enabled = true
       history_fader, history_status = {}, {}

    return maintoggle 

    If you send an OSC message to trigger an executor without specifying the page number, it will work on the page you currently have selected. It works.

    try It