David Nahmani Posted August 23, 2005 Share Posted August 23, 2005 Meta Events are events in Logic that behave like MIDI events, and are used to control some advanced features in Logic. Only Logic can generate and interpret Meta Events, so their use is confined within the Logic universe. So what can you do with Meta Events? A bunch of things. You can change songs, change tempo, stop playback, and even change the values of Conditions and Operations parameters in a Transformer Window! For a real world application of that latest feature, check out this thread on Controlling MIDI Velocity with the Mod Wheel. (scroll down the page about 8 posts) How do you create a Meta Event? By recording a Meta Fader movement onto a MIDI Track. In the Environment, go to New > Fader > Auto. http://logicprohelp.com/tipsimages/005.gif In this fader's parameters, set "Output" to "Meta" and - 1 - to whichever Meta Event # you want to control. Here are the Meta Event numbers: 46 Assign Alias 49 Goto Screenset 50 Goto Song 51 Goto marker 52 Stop playback 96 Set fader range minimum 97 Set fader range maximum 98 Set the fader value without sending. 99 Bang! Causes the fader to re-send its current value. The bang data value can be used to make the fader to increment-without-rollover (127), decrement-without-rollover (125), increment-with-rollover (123) or decrement-with-rollover (121). Use values one less than those shown, to have the bang passed through to all connected faders. 100 Tempo Control 122 Set transformer map value for the currently selected map position. 123 Select transformer map position. 124 Set transformer condition maximum (bottom) parameter, if any. (This applies to all conditions not set to All). 125 Set transformer condition minimum (top) parameter, if any. (This applies to all conditions not set to All). 126 Set transformer operation maximum (bottom) parameter, if any. (This applies to all operations not set to Thru). 127 Set transformer operation minimum (top) parameter, if any. (This applies to all operations not set to Thru). So let's say you want your Logic song to goto screenset 3 when the SPL reached say, position 10 1 1 85. How do you do this? First move your fader to a value of 2 (that way you'll have only one Meta Event to create to change its value to 3). You set your fader to Output: META - 1 -: 49 Now you record arm a MIDI Track, hit pause and record on the transport window; double-click on the Beat/Bar position counter and enter 10 1 1 85. Move the fader to a value of 3. Woops. Logic took you to Screenset 3! That's normal, but the important part is that now you can hit stop and go back to your previous screenset, and you'll see that Logic has recorded the Meta Event "gotoscreenset" with a value=3. You can see the details by opening your newly created MIDI Region in an Event Editor. Now if you start playback anytime before bar 10, when Logic reaches 10 1 1 85 it will read the META Event and go to screenset 3. Is that cool or is that cool? Now you see how you can easily program Logic to jump from bar 5 to bar 15, back to bar 2... only using goto Marker and Stop Playback Meta Events: HAVE FUN! Quote Link to comment Share on other sites More sharing options...
subframe Posted December 6, 2005 Share Posted December 6, 2005 Very cool. I never quite grasped Meta Faders until now. Clear as a whistle Thanks... Quote Link to comment Share on other sites More sharing options...
David Nahmani Posted December 6, 2005 Author Share Posted December 6, 2005 Good to hear! Thanks. Quote Link to comment Share on other sites More sharing options...
timtrax Posted December 20, 2005 Share Posted December 20, 2005 I have a question on the forum (which has been ignored) re: Using meta events for lyrics in a midi file. When you import a midi-karaoke file (.kar) Logic interprets lyrics as meta events (#60) I want to find out if I could create a midi file with lyrics, and how. (Well, I know you can because I have some that came with a consumer model Suzuki piano. They scroll the lyrics in the window (as do Yamaha files created in XG Edit)) I've always imagined you could play a melody that the lyrics would associate with, and then turn the note events into meta events, and then type in lyrics. Tedious but do-able. Am I on the right track? (no pun....) I am asking all this because I cannot find a program on Mac that will create .kar files. Lots of players (including Quicktime) but no creators. Quote Link to comment Share on other sites More sharing options...
Overdriver Posted May 7, 2006 Share Posted May 7, 2006 Now you see how you can easily program Logic to jump from bar 5 to bar 15, back to bar 2, and stop on bar 50 only using goto Marker and Stop Playback Meta Events: HAVE FUN!There is a current topic on Apple's LUG about the now defunct Studio Vision Pro (and also Cubase SX3), and their easy function of being able to play a song's verses and choruses etc. in any order. It was suggested that marker meta events could get Logic to do the same thing. I've got that to kinda work, but how do you create the scenario you mention above? Surely if you jump from bar 5 to bar 15 and then back to bar 2, when the SPL gets to bar 5 again it will go to bar 15 and then bar 2 and round in circles without ever getting to bar 50? BTW. is there meta number for goto bar? I hope I've made my question clear........ Quote Link to comment Share on other sites More sharing options...
lupin Posted May 7, 2006 Share Posted May 7, 2006 This is something I would really, really like to see in Logic. Could be made into such an awesome feature with the Apple innovation! Quote Link to comment Share on other sites More sharing options...
David Nahmani Posted September 13, 2006 Author Share Posted September 13, 2006 Surely if you jump from bar 5 to bar 15 and then back to bar 2, when the SPL gets to bar 5 again it will go to bar 15 and then bar 2 and round in circles without ever getting to bar 50? You're correct, and I corrected my original post. There is no marker for 'go to bar' but you can use 'go to marker'. Quote Link to comment Share on other sites More sharing options...
skillet Posted July 24, 2007 Share Posted July 24, 2007 Is there a way to have Meta Event 100 (Tempo Change) happen in real time or while stopped? I would like to be able to play the Ultra beat sequencer during guitar lessons and just change the tempo with a CC knob. It would be also cool to do this in real time with touch tracks. It seems the only way the tempo will change is after it is recorded and played back from a MIDI/Instrument track. Quote Link to comment Share on other sites More sharing options...
posse Posted September 29, 2007 Share Posted September 29, 2007 Dear all, Thanks for the hints using faders and meta events in thet environment window. Entering meta events works fine, but somehow I do not manage to send a Song Select event (meta 50) to my external MIDI device. The docs say, these are for internal use for Logic, but it is also said that one can control external sequencers with this. The external device is an Emu Orbit V2, and the Song Select event chooses the current beat when it is in beat mode. I have tested this successfully with my own little test program using CoreMIDI. The instrument used is correcetly configured, ie. midi port 2, channel 16. As you can see from the screenshot, a note-on is sent as well, and the Orbit receives it fine. I created a slider in the environment window, using Meta event 50. Wanted to connect it to a direct midi output, but somehow the "New" menu does not provide for creating an output. I have Logic Gold 6 on Mac OS X 10.4.10. OK, this forum is called "LogicPro Help Forum", but I still hope for some aid even though I have only the Gold version. Thanks in advance for any advice! snapshot of a sequence Quote Link to comment Share on other sites More sharing options...
Sahkuhachi Posted May 31, 2008 Share Posted May 31, 2008 Is there a way to have Meta Event 100 (Tempo Change) happen in real time or while stopped? I would like to be able to play the Ultra beat sequencer during guitar lessons and just change the tempo with a CC knob. It would be also cool to do this in real time with touch tracks. It seems the only way the tempo will change is after it is recorded and played back from a MIDI/Instrument track. you must create a new fader>special>tempo control and put it between physical input and Seq input. http://img48.imageshack.us/img48/5300/picture2rw6.png cheers Quote Link to comment Share on other sites More sharing options...
rjtemple Posted October 16, 2008 Share Posted October 16, 2008 I'm trying to set controller #4 to change the decay time in Ultrabeat. Would I somehow use meta events for this? Unfortunately it appears UB only allows velocity to modify the envelopes. (unless I'm missing something) I can use an automation assignment, but when I've done this in the past, my assignments get lost. I can't remember the file name, but one post suggested backing up a particular file so that when this happens I can re-introduce my automation assignments. I couldn't get this to work either (when I replace the file, the assignments are skewed.) Basically, I was hoping to write some environment macros to do the same thing as automation/controller assignments. Thanks, Richard Quote Link to comment Share on other sites More sharing options...
route-electrique Posted October 24, 2008 Share Posted October 24, 2008 This is damn interesting. I wish people would tell more what kind of things you've created with Meta Events. Quote Link to comment Share on other sites More sharing options...
vanitypolice Posted October 27, 2008 Share Posted October 27, 2008 I have used Meta events but with very little success. Just yesterday, I was trying to do a single edit of a remix I had completed. At first, I tried snipping time to just delete the sections I didn't want. However, the automation of the vocals and the delays got completely screwed up. Then I tried using Meta events to skip the sections I didn't want (as one would with the reverse-cycle, pulled from right to left). I would put the meta marker in a MIDI file on the output bus and then place the marker when i wanted it usually 16 or 32 bars later and when it did the transition, it was anything but seamless. First off it did not play up till the meta event and then it did not come back in immediately after it jumped. There is no second comment. Isn't the whole point of jumping to a marker to have the audio keep going? It cut out before it even jumped and then after. Totally useless. I then tried bouncing but apparently in offline mode, Meta Events are ignored. Quote Link to comment Share on other sites More sharing options...
ski Posted October 28, 2008 Share Posted October 28, 2008 Unfortunately you found out the hard way that Meta Events used to jump from marker to marker do not work in quite the way you might otherwise expect. They will indeed cause Logic to jump from one marker to another, but as you said, audio playback is far from seamless. And yes, those events will be ignored during offline bounces... I recently experimented with these same Meta Events and found lots of strange behavior, but the worst of which was that not even MIDI tracks would play back correctly when jumping to a new marker. Quote Link to comment Share on other sites More sharing options...
vanitypolice Posted October 28, 2008 Share Posted October 28, 2008 So the question becomes then, is there any usable use for the Marker Meta event. I mean, it should work if bouncing is online, correct? Quote Link to comment Share on other sites More sharing options...
ski Posted October 29, 2008 Share Posted October 29, 2008 So the question becomes then, is there any usable use for the Marker Meta event. I mean, it should work if bouncing is online, correct? Hard to say whether it could be expected to work properly during an offline bounce if it barely works just on normal playback. Still, there is some usefulness to be found in the Go To Marker meta event. I had a client who requested a custom environment in which he wanted 20 environment buttons, each one set to output a Go To Marker meta event (1 - 20). I created a separate layer for these, and then put them in a frameless floating window which lived at the top of the arrange window. This gave him one-click accessibility of these 20 different marker positions, and also freed up 20 key commands that would have been needed for that functionality. Quote Link to comment Share on other sites More sharing options...
vacantsonar Posted February 24, 2009 Share Posted February 24, 2009 subscribing... i wish i could Quote Link to comment Share on other sites More sharing options...
bojanson Posted June 5, 2010 Share Posted June 5, 2010 thanks for the info admin, very helpful thats why I love this forum! Quote Link to comment Share on other sites More sharing options...
SPUMD Posted November 13, 2010 Share Posted November 13, 2010 Did anyone figured out how to bang the values out of a plugin? Quote Link to comment Share on other sites More sharing options...
ski Posted November 13, 2010 Share Posted November 13, 2010 You can't bang parameters of a plugin. But what you can do is have a bunch of faders connected from the output of a channel strip. Each fader would be programmed to respond to -- and mirror -- the value of specific parameters that you tweaked. You could then bang those faders and send the values back to the channel strip. A more elegant (and complicated) way would be to use the mapset functions to set various map values within a transformer in response to the parameters you tweaked in a given plugin. You could then read out the map values at a later time and send them back to the channel strip. Quote Link to comment Share on other sites More sharing options...
SPUMD Posted November 14, 2010 Share Posted November 14, 2010 Hi ski, thanks You can't bang parameters of a plugin. But what you can do is have a bunch of faders connected from the output of a channel strip. Each fader would be programmed to respond to -- and mirror -- the value of specific parameters that you tweaked. You could then bang those faders and send the values back to the channel strip. I did this before but i searched a more elegant way.... A more elegant (and complicated) way would be to use the mapset functions to set various map values within a transformer in response to the parameters you tweaked in a given plugin. You could then read out the map values at a later time and send them back to the channel strip. ...something like this. Ok....Meta Events 122 and 123 are the once i have to deal with. Ski an other question, is there a way to make a cable switcher "see" which track is selected in the arrange just by selecting the track without any other action? Quote Link to comment Share on other sites More sharing options...
ski Posted November 14, 2010 Share Posted November 14, 2010 (edited) Here's the concept behind mapping in a transformer. First, determine how the map is going to work for you. There are two operations: writing, and reading. Let's talk about writing first. The easiest approach I've found is to have the map position equate to the parameter number. Then you set the value for that position to be the value for the parameter. The result: the map position and the value of that position represent the data for a single parameter. For example, say you have an EQ and you want to store a static value for the low cut/shelf band. First you have to find out what parameter that is in the EQ. Without going into the procedure for how to determine this, I can tell you that if the EQ is in the first insert slot of a channel strip, this parameter will generate "fader" events with the following form: fader 2, 5, x • 2 represents the "MIDI Channel" of the fader event (when you adjust a parameter for an audio FX in insert slot 1, it generates fader events on channel 2) • 5 represents the parameter number of the low cut/shelf band in a channel EQ • x represents the parameter value, which will typically range from 0 - 127 Then you need some environment programming to read the output of the channel strip, take the fader 2/5/x event and store "x" in map position 5. Just move that parameter until it reaches the value you want to store. You can use a cable switcher to allow or prevent data from reaching this little "memory" you're creating in the transformer map. When it comes time to recalling that data, you'd need to create an event in the environment which would be processed by the transformer to do two things: a) read out the value of map position 5, and... b) form a fader 2, 5, x message (x = the value stored in map position 5) which you'd then send back to the channel strip. Storing data in a map is demonstrated in the attached file. Open the transformer called "map" and then play the song. You'll see the value of that EQ band being written to the map dynamically. (If you don't see the value changing, click on the background of the environment so that the transformer window no longer has focus). But of course, the idea would be to store a static value in there for later recall. Reading the data back out is a more complicated scenario which I just don't have time to get into. (sowwy) To your other question about selecting a track and having a cable switcher see which track is selected, no, that's not possible. xformer map.logic.zip Edited January 17, 2018 by ski Quote Link to comment Share on other sites More sharing options...
SPUMD Posted November 14, 2010 Share Posted November 14, 2010 Hi ski, i understood the idea immediately and it's a very efficient and brilliant way. I don't know if it is going to much off topic but you got mod powers ill post it here...so it's getting a little nerdy....but it shows a way how it can be set up... http://www.speedupmydaw.com/images/Map%20and%20Recall%20Plugin%20Data.png I use: note on to set the transformer map position and note off for recalling the data for the map position. turn the knob "plugin data" to write into the map position that is set via the note on value. How poeple can check if it works? 1) Press a note on the keyboard --> C2 for example the right monitor will display that the map of the "Save Map transformer" has the value 0 at position 12 <-- (this you can see in left monitor value or the knob "Set map position") C2 is position 12 .....C#2 =13..... aso 2) Set the knob "plugin data" for example to the value of 50. This will write the value into the map position 12 of the "Save to Map" transformer. 3) If you press now C2 on the keyboard again the value 50 should be recalled. Thanks for the inspiration. Mapping and recalling plugin Data.logic.zip Quote Link to comment Share on other sites More sharing options...
ski Posted November 14, 2010 Share Posted November 14, 2010 You're welcome! Quote Link to comment Share on other sites More sharing options...
fastfourier Posted June 10, 2013 Share Posted June 10, 2013 Hi David, It might be worth adding to that first post the behaviour of bangs with values between 0 and 119. Even numbers cause faders to pass through, odd numbers don't .. Quote Link to comment Share on other sites More sharing options...
micdim Posted August 27, 2014 Share Posted August 27, 2014 50 Goto Song What exactly is this for? Go to what song? Another project? Can anyone help on this question, and if so maybe tell us how? Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted August 27, 2014 Share Posted August 27, 2014 50 Goto Song What exactly is this for? Go to what song? Another project? Can anyone help on this question, and if so maybe tell us how? viewtopic.php?p=123231#p123231 J. Quote Link to comment Share on other sites More sharing options...
Marco Vismara Posted January 17, 2018 Share Posted January 17, 2018 Then you need some environment programming to read the output of the channel strip Wow, an 8 years old post, who knows if someone's still there to answer my question? I'd like to know if it's possible to take a value generated by an insert effect (In my case the BPM Detector) and use it in an environment object like a transformer, and in case, how could it be done? Thank you very much! mV Quote Link to comment Share on other sites More sharing options...
ski Posted January 17, 2018 Share Posted January 17, 2018 Yes. The BPM counter outputs two different kinds of "fader" events in response to the material it's trying to sense the tempo of. I think the most important one to focus on is what I'm about to describe... When the BPM value settles in, the plugin generates fader events with the following form: fader 2, 0, v (v = value) The value of v will vary according to the setting of the :2 and x2 buttons. You can certainly tap this information and use it to do something. For example, shown below is an environment setup using a transformer to detect when the BPM is 124 (this causes the BPM counter to output a fader event with the definition of fader 2,0,56. In response to this event, the transformer generates a MIDI Volume message at a value of 127. You can, of course, choose whatever event you want to be generated in response. Quote Link to comment Share on other sites More sharing options...
Marco Vismara Posted January 17, 2018 Share Posted January 17, 2018 Well, I arrived to the same conclusion but, I can't figure out what the value 56 has got to do with the value 124. I mean, 56 X 2 is not 124, not to mention 56 : 2... I'll experiment, the good news it's that the thing is doable (Does this word exist in english?) Thank you very much! mV Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.