Jump to content

MainStage automation from click track?


Flenix

Recommended Posts

Hello all.

 

I've been using MS for a while, but I decided I want to try and automate some of my stuff for live usage. However, after a couple of hours of searching, I can't find ANY info to help me!

 

Basically, what I want to do is play a click track/metronome, and when it reaches bar X, then it should do something (As a bare minimum and a good example, change patch).

MS has a function to count the bars which have passed since you pressed play, so I find it very hard to believe it can't then do something when it reaches a certain bar?

 

I wasn't sure if it's maybe something AppleScripts can do but the internet is devoid of any information on using them alongside MainStage - but from what I gather they're more just automating key presses and less actually listening for things to happen.

 

Anyone got any ideas how I could approach this?

Link to comment
Share on other sites

Hi,

 

You could send MIDI Clock out of MainStage through an  IAC driver bus and use something like Pure Data to process the MIDI Clocks and related messages (Start, Stop) and produce some other type of MIDI message (Program Change, for example) and then send it back to MainStage (through IAC) at a specific moment:

 

916798680_ScreenShot2016-08-12at22_36_23.thumb.png.f9cb2efd40dca935c2665f22ff8770d1.png

 

Pure data is free.

 

J.

Link to comment
Share on other sites

Alright, shall give that a go.

 

It does seem really odd that this isn't something built into MainStage though, considering it's such a fundamental feature in other similar programs like Ableton...

 

 

EDIT:

PureData is insane, quite complicated but I imagine it'll be capable of some pretty useful stuff for my scenario. Thankfully I have a coding background so I've picked it up pretty quickly so far... but I showed it to the rest of the band and they were totally confused :D

Link to comment
Share on other sites

Alright, one more question;

How do I tell PureData what patch I'm currently on? That way I can use some sort of If method to decide how many bars it should count for, and then which program change it should send - or whether it should just "stop"?

Link to comment
Share on other sites

  • 2 weeks later...

since you've got a coding background, have you looked at trying this with a MIDI effect script?

 

I've looked thru the samples and am convinced you can calculate where the transport is, and you could then send whatever value you wanted. Have I tried this? No, but I believe all the building blocks are there. It *is* a coding exercise, but you could parameterize it as well (basic UI). 

 

I think the issue is there isn't a sequencer transport running, just a transport for click and/or playback, markers, loop, etc. There also isn't the equivalent of an envelope or automation, tied to clock/transport... That is of course, all in Logic. 

 

The major reason why I'm suggesting a midi effect script is that it's native to MainStage, so it's contextually aware (because you put it in/on a specific channel strip, so you have the ability to know which program you're in, at what point in terms of transport... etc...)...

Link to comment
Share on other sites

Honestly, ever since I've started trying to automate it, MainStage has been having a tonne of issues; either crashing, stopping playbacks, or the MIDI controls from my keyboard becoming super-unresponsive (I turn a knob, 10 seconds later the laptop processes it).

 

After the second crash at rehearsal yesterday I decided I'm gonna just switch to Ableton. It has all this stuff built in, and it seems a lot more people use it for live (even though it doesn't look as pretty...). Googling around a lot of people have done the same, it seems MainStage just isn't that reliable.

Maybe I'll try it again when MainStage 4 comes out... hopefully they'll add a MIDI timeline by then because personally it does seem like a pretty major feature for anyone playing live...

Link to comment
Share on other sites

Another update on this.

 

I found out the crashes were because I'd changed the sample rate to try and reduce latency, and for some reason MS didn't like me doing that - switching it back has made it stable again.

Ableton isn't much better for automation. You have to either have one really long track with your entire setlist on, or load individual files as needed. Neither of those are very good for automation with speed... and that's when I had my newest idea.

 

As mentioned above, I'm from a coding background. So now my newest idea is creating a new Audio Unit which takes MIDI input for the clock, and can output MIDI messages. You'd then have a sort of timeline and you just tell it "At bar X, do Y" - which could then send a message straight into MainStage to change a patch, or out to external gear, or anything else. The best part is that it works WITHIN mainstage, so you can have different sets for each song, create the channel strip at a set level with the plugin and configure it for that song, then just press play - it'll go through as you've set it up to do, and then stop at the end. You press one button, you're onto the next song, press play and off you go again.

 

Such a simple solution and yet no one has done it...

Of course the AU will be available when it's finished for anyone else who wants a similar thing :D I'll offer a VST one for windows people in Ableton too, who knows it may be useful to them but it only takes 5 seconds longer to compile if I output a VST...

Link to comment
Share on other sites

That's what I figured. For now it will literally just be X message at Y bar, but eventually it'd be good to make it like a micro DAW with a full piano roll so you can play a MIDI instrument from it, then you as the performer do more with tweaking dials and stuff, which I think would be cool for DJs.

So I'm open to suggestions on extra bits I can do once the core function works. Also open to ideas on a name for it :D (Currently working title is BeatNotes, but I'm sure someone can come up with something better)

Link to comment
Share on other sites

To close off conversation here, I've started a new thread about my new AU here: 

 

BeatNotes: MainStage Automater plugin

 

so any ideas/moral support can go there please :D

 

(At time of writing, I've got as far as my plugin can send hardcoded messages at X bar/beat to mainstage, and it also works with external hardware for example my Line 6 Pod amp. Next up: configure the messages so other people can use it!)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...