Need some scripting help

Discussion in 'PangoScript, Universe and Midi Templates' started by RobG, Jul 25, 2018.

  1. RobG

    RobG Active Member

    Hi folks. I have just recently upgraded from QuickShow to Beyond Advanced so that I can utilize PangoScript. I am making some progress but having some trouble figuring some things out.

    Initially I will not be selecting individual cue's. I will be selecting pages and turning VLJ on and off. Later I will get more involved with my programming.

    That said, here is what I want to be able to do. I am using a midi controller that has no template so I am creating it from scratch (AKAI MPD226):

    1. Hit a pad and go to a specific page. I have the button working to go to the page but I can't figure out how to set the pad to a color that stays on.

    2. When I hit another pad to go to a different page, I want the color from the first pad to go out and the color for the new pad to light and stay on.

    3. There are a few cues that I want to be able to trigger any time. So I want to be able to:
    a. Select Page (I know how to do this)
    b. Select Cue (I think I know how to do this)
    c. Start the cue playing (which would also light the associated pad)
    d. When I hit the pad a second time the cue would stop playing and the light on the pad would go out.

    I would be eternally grateful if someone could teach me how to do these few things. I have reconfigured my whole DJ setup to use midi controllers for almost everything and I am trying to get the Beyond stuff set up by Saturday so I won't need an extra monitor to run it. If someone good with PangoScript would be willing to work with me, I would even be willing to pay something for your time and effort. Once I see how a couple of these things are done, I can then pick up and go through all the iterations of the same thing that will be needed.

    If you want to reach me outside of the forum as well, please feel free to give me a call at 925-586-8571. I am in northern California in the Pacific time zone.

    I hope someone will have the ability and time to jump in and help me.

    Thanks in advance,
    Rob
     
  2. RobG

    RobG Active Member

    OK, partial update: with respect to item #3 above, I have worked out how to select a page, then select a cue, and then toggle the cue on and off. What I can't figure out is how to toggle the pad light along with that.

    Oh, also, I tried to copy and paste the inline PangoScript help to a Word document but I was not able to copy the text. Has anyone figured out how to get the help text out of the program and into a document for printing?
     
  3. Bob@Pangolin

    Bob@Pangolin Staff Member

    Hi Rob,

    If you do scripting, the light of the button will need to be inside the script. (usually another midi signal you need to send to the controller).

    See the "midiout" in the example code below which turns of a led by sending 0x00.
    If it had 0x7F instead of 0x00, it would have turned the light on.

    Code:
    //This code activates two different functions under the same button on different midi layers
    
    midiout 0x90, 0x67, 0x00
    if (getmididevicelayer=1) goto Layer1
    if (getmididevicelayer=2) goto Layer2
    exit
    
    Layer1:
    DisplayPopup "script on midi layer 1.";
    CaptureToClipboard
    exit
    
    Layer2:
    DisplayPopup "Script on midi layer 2";
    PasteToCue
    exit
    
    Alternatively you can also use the midi surface function to send information from BEYOND to the controller.

    Screen Shot 2018-07-26 at 17.48.09.png

    You can also load the apc40 MKII template from the c:\BEYOND\Midi\ directory and copy/paste scripts and button assignments from that one.


    --

    Regarding saving the help file,

    Please open up the PangoScript editor and click "tools"
    This is where you can save the help file.

    Screen Shot 2018-07-26 at 17.55.55.png
     
  4. Bob@Pangolin

    Bob@Pangolin Staff Member

    The pad to color;

    When you hit the pad, you will see a code in the lower left corner of the midi editor.

    Screen Shot 2018-07-26 at 18.01.19.png

    In this case the button is sending 90 20 7F.

    Now lets create a small script for this:

    Code:
    midiout 0x90, 0x20, 0x7f;
    If i execute the above line in the pangoscript editor. The led will go on, but it will not turn off.

    If i create a new script with the line

    Code:
    midiout 0x90, 0x20, 0x00;
    The light can be turned off.

    A simple midi script could be:

    Code:
    midiout 0x90, 0x20, 0x7f;
    blackout
    midiout 0x90, 0x20, 0x00;
    // this code will turn a specific light on, while holding the button down and blackout the lasers. When releasing the button it turns the light off again.
    // The same thing I could have achieved in "Midi surface - Buttons" by using the Blackout function.
     
  5. Bob@Pangolin

    Bob@Pangolin Staff Member

    Select a page;

    Code:
    SelectPage 5
    //Select an individual page by number (tab index)

    Select a cue;

    Code:
    SelectCue "Cue01"
    //Select a cue by name. Make sure the name is identical!

    You can select a page and or cue, but why just not start it?

    Code:
    StartCue 5,1
    //starts cue 1 on page 5

    If you want a specific button to burn, use the previous post its example to turn the led on and off.

    Note that its probably easier to change the grid layout in the config of BEYOND to match your APC and then use the MIDI surface Main grid function of BEYOND to select and start cues. Then page, button and light assigning will be automated when you shift between pages.

    Screen Shot 2018-07-26 at 18.18.43.png
     
  6. RobG

    RobG Active Member

    Bob, thank you so much for taking the time to give me all of this valuable information. It is greatly appreciated! I have everything I need now to do exactly what I wanted to do.

    Rob
     
  7. Bob@Pangolin

    Bob@Pangolin Staff Member

    Let us know if there are more questions!