Now let's configure the knob on the Concert level. ![]() I'll probably also try this with different controller types later. The settings don't matter much at all (yet) however we set "MIDI Thru" to "Do not pass through" and "Send value to" to "None", just to be on the safe side. I'll add the concert and the script as attachments. This is where we manipulate a controller depending on the counter. Note to Counter round robin.pst Edited Jby gacki But we will build on that in the next part. Of course that counter doesn't do anything useful yet. We now have a (global) counter that cycles through the values by each press of the Drum pad. You can change the value of the maxelements variable to make the counter go to 2 or 10 or whatever you like. Once the counter reaches the max value as specified in the variable maxelements it will be reset to zero and everything starts anew. You can use either one at the moment in the final script we'll probably stick to just a single note so we could possibly use other notes for different purposes.Īnyway - each time the script receives a note (which comes from the Drum pad we click) it will advance the counter variable and print it to the console. Processes one single note (the G#0 I specified for the Drum pad in the concert). Processes notes regardless of the note number the line Var maxelements = 4 // number of elements you want to control The Concert is the same as in the last part. We do this with the script attached below. We now have a controller that sends data to the Concert itself and those data can easily be further manipulated. I've attached the actual Mainstage concert as well so basically all that should be done there is to select the proper IAC bus for it to work as described.Īll this might sound extremely basic but it's the foundation of things to come. Now every time you click the drum pad the MIDI data sent by it is displayed in the console. Open the Scripter plugin and select the "2 - Trace Events" script from "Factory -> Tutorial scripts". In the "MIDI Input" part of the Inspector set it again to the IAC port. You'll get a warning message just create it anyway. Now let's create an "External Instrument Channel Strip" directly at the Concert Level. The MIDI Activity control should light up when clicking the Drum pad but not when playing any other MIDI controller. For example, my keyboard and its wheel and pedals are all mapped to my "USB Keystation 49e" even though it doesn't have 88 keys. It's important that all other (existing) controls are mapped to a specific MIDI device, not to "All". I set the note it will send to G#0 any other note would be fine as well. Next we create a Drum pad and again assign it to the same IAC bus. In Layout mode we create a "MIDI Activity" control and assign it to the IAC bus we created: (I'm using some orange background in Mainstage for better visibility.) We also could use the existing bus but I would like to start with a "clean slate" here. So I want a dedicated IAC bus here which we will simply call "Mainstage" any other name would be fine. ![]() What we really need to avoid is MIDI feedback loops so we're not processing all data over and over. Our goal for this installment: creating the basic environment we'll extend and expand this in the future. I'll describe my thoughts and of course invite all kinds of criticism after all there might be easier ways to accomplish all this. OK, let's do this step by step in several installments. However if you get to a point where you decide you need Scripter to do something, by all means ask and I'll be happy to try to help you figure that part out. MainStage may have a much more built in way to do it, but I suspect Scripter would not be involved. So the only way I can think of would be to create a scripter parameter.(which would be a single button that is controllable from MainStage layout).but then have it send midi over IAC, which would route back into MainStage.and then you have to convert that midi using smart controls or something into controlling the plugin parameters on each track strip, etc. Scripter can generally only access the track it is on. Maybe that is possible in MainStage? In LogicPro this can be done in the environment too, but MainStage doesn't have environment.but it has a lot of menu-driven ways to do similar things as the environment so maybe it can already do it somehow, but I don't know MainStage well enough to suggest any specifics. ![]() in LogicPro you can do this by setting up a TrackStack and putting a smart control on the stack itself.that smart control can then control any plugin within any of the tracks inside that track stack. I'm not familiar enough with MainStage to know if there is a way to do this in MainStage.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |