Jump to content

How can i make Logic play when a note is pressed?


Adams91

Recommended Posts

Yes!

 

• Choose Preferences > Key Commands.

• Search for and select your play command.

• Click "Learn new Assignment".

• Press any key on your MIDI controller keyboard. You should see the assignment as a set of 3 values, something like "90 3B Lo7".

• Double-click that set of 3 values. The Controller Assignments open. In the "Input Message" section to the right you see your assignment.

• Delete the two last values of the assignment so you're only left with "90". That's the MIDI message for "Note On channel 1".

 

That's it! Now any MIDI channel 1 Note On event will start playback.

 

6623127_Picture2.png.b788aae5d86deb6bb93610ed4f10b0cb.png

Link to comment
Share on other sites

Thank you for the quick reply :)

what i want is for logic to trigger play when i hit the first key, but not restart every key i press.

 

That's what my idea does. However I just thought of a BIG issue with the solution I just wrote: the keys will no longer send MIDI note on events to Logic's sequencer (they won't trigger any sound). :x

 

The problem is, when learning a key command, Logic hijacks the MIDI data at the input. You could workaround that by using an IAC bus but that requires a bit of environment cabling, so it's not the most straightforward solution.

 

I'm afraid there's no ultra-easy way to do it (like a button or a setting). Let me know if you're interested in the environment solution?

Link to comment
Share on other sites

Thank you for the quick reply :)

what i want is for logic to trigger play when i hit the first key, but not restart every key i press.

 

That's what my idea does. However I just thought of a BIG issue with the solution I just wrote: the keys will no longer send MIDI note on events to Logic's sequencer (they won't trigger any sound). :x

 

The problem is, when learning a key command, Logic hijacks the MIDI data at the input. You could workaround that by using an IAC bus but that requires a bit of environment cabling, so it's not the most straightforward solution.

 

I'm afraid there's no ultra-easy way to do it (like a button or a setting). Let me know if you're interested in the environment solution?

 

Well, the end result i got restarts the arrangement every time i hit a note.

I would like for it to start when i press a chord, but also for it to allow me to play more chords without restarting.

 

Hit me with the ultra-non-easy way then. I'm here to learn, not to take the easy way out :)

Link to comment
Share on other sites

Hit me with the ultra-non-easy way then. I'm here to learn, not to take the easy way out :)

Ok! You asked for it. :lol:

 

So my idea was to set your assignment to learn a "MIDI Note On on Channel 2". Then set your MIDI Controller keyboard to send on channel 1. Since Logic hijacks assignments at the input, this avoids the data being jijacked at first (since it's not on the assignment's MIDI channel).

 

Then use a transformer to duplicate the MIDI data and set the duplicate's MIDI channel to channel 2. Send it to an IAC bus that you'll activate in Audio MIDI Setup. There's nothing else to do: that IAC bus automatically reaches Logic's input, and Logic will automatically hijack its data (since it's on MIDI Channel 2) to trigger playback.

 

Let me know if you need more help with this? Here's what the click and ports layer looks like. The "To IAC bus" object is an instrument (New > Instrument) which has its "Port" parameter (in the Inspector) set to the desired IAC bus. The second transformer is open in the other picture below.

142525272_Picture7.png.2258a0e0d35fd325c7831a26aa6cd90b.png

1573036769_Picture6.png.9f0a9655c66d979017b54e6d501e8ee6.png

Link to comment
Share on other sites

Hit me with the ultra-non-easy way then. I'm here to learn, not to take the easy way out :)

I love that dude... It's good for the forum spirit ! I'll try to be around just in case...

 

Cheers :wink:

 

A.G

 

haha :lol:

 

Yeah stick around, it's always good with an extra perspective.

 

Did you assign the "play" command as suggested? Or some other form of "play blah blah" key command?

 

Well, i chose 'play' in the list, and not 'play from overhead' or whichever functions there were, and followed your steps.

I'll try it again, when i come home later today, or tomorrow.

 

Also, i haven't followed the new instructions you gave me, to route it via busses.

That i will also get to tonight, tomorrow.

 

 

Y'all have a nice day :)

Link to comment
Share on other sites

David - same here. Its behaviour is: Play or play from last position. A command that doesn't exist in the list... I say: bug. It behaves the same as keycommand (numpad enter), which I have never noticed before (probably because I never press Play when Logic's playing...) I would expect the play command to do nothing once Logic is playing back.

 

Can others confirm?

 

Everybody please report it!

 

http://www.apple.com/feedback/logicpro.html

 

...

 

I just thought: "this command should behave like the Play button", and behold: the play button also behaves as the play command, but the play button actually has this option:

557177313_pic2012-04-27om10_24_44.PNG.8d2547f31970df74609180f7d2b5f1e1.PNG

:? But the play button behaves like this with this option both checked and unchecked. Seems like the devs 'forgot' to enable turning this off? Should be an easy fix... O, this is in 9.1.7

 

I've checked 9.1.3. Same story.

Link to comment
Share on other sites

I tried it again and it behaves as you report: it restarts with every note I play. So weird - I tested it earlier and I could swear it did not do that. :(

I tried to explain you that issue in my post last night ...

 

To my opinion we need a special Auto-Play Environment tool which can prevent any message duplications.

Let's give an example with the hardware workstation arranger synths first:

1. If the synth "Auto Start" button is active then when play a note or chord in the lower arranger keys the synth generates only one start message by registering the FIRST play note, after that the synth filters all other start messages generated by the other notes.

2. To reset the Auto start register you need a second command - this is the synth STOP button which stops the arranger playback and resets the auto-start regiser.

3. If the Auto-Stop button is active it behaves as the main Stop button resetting the auto-play register etc.

 

LOGIC AUTO-PLAY TOOL - Description

 

To emulate the hardware synth behavior I have made the extra environment shown below.

How does it work ?

1. First of all you have to select the Instrument labeled as "IAC" and set its port to the IAC bus !

2.Before learning the Logic "Play" key command you must click the main (blue) ON/OFF Macro button to reset the "1st note register" - (Note, you can use the key-switch reset Note # assigned in the green KS box as well).

3. Open the Logic Key-Command dialog, select the "Play" string and delete any old assignments if any ! Hit the learning button and mouse click any Note # (do not use the KS green assignment Note #) in the Environment virtual keyboard (I show that in the Demo Video included in the Pack).

Doing this way the Macro Tool will generate a New Note Event (C-2 on ch.16) and send it to the IAC so you learn the Logic Play keycommand via IAC !

4. Now you can switch ON the main blue button and try the tool.

5. If the "Stop Logic" macro button is enabled then you can use the KS command to stop Logic and Reset the "1st Note" register" which behaves as the hardware synths Auto-Stop button I was talking about. No Logic "Stop" key-command learning is required cause the Macro generates a Meta Event # 52 which stops Logic !

 

Known Issue:

I have noted that during auto-play the 1st played note is cut a bit little...

 

There is a copy of the Macro Tool in a stand alone Environment layer so you can import the tool into other projects via Environment window > Options>Import Environment layer etc.

Screenset # 8 retrieves the Click & Ports environment layer while Screenset # 9 retrieves the tool as Float as shown in the Combo image below.

The Macro is non-protected so you can use it as an Environment self-training tool as well.

Get the Non-Voice Video and the Auto-Play Tool from the attachment below.

I'll try to find time to update the tool with a "1st Note" register monitor status, cause it is important to have an visual idea when the tool register is active or not, so you can reset it before play (it will behave as the synth Start/Stop led.

Enjoy !

 

Regards,

 

A.G

auto_play_tool1.0.zip

ap_tool_image.png.81dd95cbb68f53344557ae6ee45686d4.png

Link to comment
Share on other sites

Hi David,

I will re-check that. Did you have a look at my non-voice video - as you see it works perfect ! Try to follow the video step by step regarding the Key-command learning and the Main (blue) ON/OFF button operation which behaves as a "1st note counter reset" !

 

By the way the Macro is programed to send only one message to the IAC (Note C-2 ch.16). I decided to patch the Macro from the "Sum" at my own risk (regarding the IAC feedback issues) though my first prototype was cabled from the Physical Midi Device pin and the IAC pin was not cabled to anywhere.

If you follow my step by step instructions you will find out that you must tweak the Main (Blue) ON/OFF at least one time to reset the "1st note register" Macro counter or use the KS Note. As I said it is equivalent of the hardware synths Stop or Sync Stop function which resets the arranger note register counter !

I'm posting from my PC laptop right now, but I have some time and will do my best to update the Macro with a register counter status monitor led button, which will give you a visual info about its status. I'll be back soon...

Link to comment
Share on other sites

I've made a little patch in Max that takes cares of this nicely.

 

2068459590_NotePlay.png.e9f380b89b4cb2b31f8596cd73bb3b4f.png

 

It requires you download the free Max Runtime from cycling74's website:

 

http://cycling74.com/downloads/ (make sure you get the Runtime version, which is free and all you need to run the patch)

 

So to get this working:

 

1- Open the "Note Play" patch attached to this post and follow the instructions on the patch (to basically assign in and out ports).

 

2- In Logic, go to Project Settings > Synchronization > MIDI and:

 

a) Select a destination port to transmit MIDI Clock (under MIDI Clock).

b) Check the Listen to MMC Input box (under MIDI Machine Control).

 

479688945_MIDISyncSettings.png.e98256ea50d15c149061496834abe34d.png

 

EDIT: Actually, just noticed a little catch. The very first note that is played (the one that triggers playback) won't reach Logic (meaning if you have an instrument loaded you won't hear that note). I'll see if I can fix that.

J.

Note Play.maxpat.zip

Link to comment
Share on other sites

Here is the Logic Auto-Play v2.0 update.

I have added a red Monitor button showing the "1st Note status" which is eqivalent of the hardware synth arranger workstation Start/Stop or Sync Start/Stop function led.

There is a new non-voice video in the pack where I have patched two Environment Monitor objects so you can see what is going to the IAC and to the Sequencer object. It is recommended to download v1.0 and read the original instructions where I show the learning procedure.

auto_play_tool2.0.zip

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...