Is there any way to receive MIDI-control messages sand from "ctlout" object in max for live patch? Internal mapping of ableton can't receive this signal but strangely it works perfect with fabfilter plugins via build-in midi mapping function.
Can somebody help?
You can reproduce it making a simple patch with "ctlout" object, send some messages through and trying to map it with abletons MIDI-map menu.
"ctlout" in max for live
→15 posts by 6 people-
8 months ago
-
Looks to me right now that ctlout does not work within max4live. I created a little device that converts the OSC messages i receive from my phone to midi. Exact same code - as a native max5 patcher it works, as part of a device in max4live it does not.
Maybe someone can try to reproduce the error?
----------begin_max5_patcher---------- 1511.3oc4a00aaaCE8YmeED9YGOd42Zuk0tALr10glNLLTDLnXqjnAaICa4s zUz+6Shj1V10QjtxgqZ5ASmK0G9bNj7xKuj4iWLX3s4OlrZH5aQuGMXvGuXv .cUUULvZOX373GmLKdk91Flk72429mCGYtTQxiE5pWht7xKuaY97EOjmkr4x KhKl7PZ18+wxjIEleEpTNFOBALZ0WJsAAOFitw9LoS0uvxejKUadO2kmUjEO OQekqVlFOayUxVOOMaVRgFb3Z29pz+Qe6.YLd28lutXyMC1ZMUU7gEIF.NbH 5lpq7oKtnpXT6zkIEyJ+APf.gaPT.AkWIDrHQ0WBQSpBSdhxB8TjE74m67l4 Nmp7m6hNF2YMycFgZ3NyCty5Xbm1L2o.yvcvCtS6XbmzL2IXo+s6PGi6PybG vfg6XM24MxcbGi63F4dTjc3NwcyNMpaQ8nFYtJhUi47nFYtpawbUiLWpDFly 8f4cro1kMxbgLp1D6NXdGah8limiKriyi7f47tEyaNZNFWGLG23i2Ay6XAzz brbzSg4crvYZNRNBmZXN1Cl2wBlwQbbLaatGypQ5JypMKOd5swY22zbZLSnK ZBKvMFA2o5dCNKKhWSfunExOOY0p36S9LYg3VOjZkfRFyGg.0SnGjSTOH+Gl Ti0ySxV6l2.SGbGH97r4rXYxpjrh3hz7r5.rtKAOTjJlXSS01W8WduF5Q.W8 nz0ilMwqAzir9jhj4VvL7peE8xWcM55OjU7.pz2FZ3nphe7pWfd4xz+JYI56 Vu53Wn5OqtHY6E+gzkI+V4GDCvaqLKNK+mdyO+t29lWgdw6d6q77Be+uuekU 4lC853Ge80+RM3Tu1c3XxrwwyerrE5lmp6TZVQ0Mp+bNSW17zoooY2k6QeNv DUIowYavcnAaNVYYyAb5+Lvjtx5JWMIdVBBOFAiQ3xeQYiITALIUPn4dTyJv oNkj3qudEmj3.l9ELAyCwg1uDmnHS1mMyc4PaH8KsQoh7Wafd1fJAyJNJODG bOSb3Lr2hCD0yDGFk58vJP0yDGpYQkLyZobHNx9k3HUbuCxAD8KsgxMavfj6 g1zyB.TXNyE94Ml0uzFtYW3XRvCsomEaLwFhiWio5YwFy3mf1z2hMlY8EK7P a5YgFaN2aLI0iUM7+.Ww4qlb4xxehDz2rHdJnKI5RptjoK45RgtTpKU5xHyS gMeYdZv73f44AyK.LugcA8LKMKYR95rh5Y06Xt+Il76RTlsxP2rPYOQe0m0s xP9jMHiZ4m8ZP0DSqOGbtO0pSU862JuJe8xIafxltknc5yzjUEoYaSv+62kk wZ2zCoSmljU+LZNOc5h7zrhsY0+n847ESU6g.BNyXRUtTDdYeCvzovrMW0Mr moCgdCezFsjFJOTVHnBK3SaMK3PxUSsd+SBKjHtfDI3Ph5BR7fCIlKHE9t2b WPhFbHIbAovOhS5BRhfCIkK+RguuTjKHEdm.fS22gu+M3bp5v6YBb5.WFdL4 zCtJ7XxoK7nviIW9vI3u9BGkJaS3nbnd7nVKl4b.HUGyxbrVjkgoxsVgfkrV wRPvXaMCBbEsBtbpnVqxFSqzCblLrZOqUjgYVT7AlLylBCLy4bSaFDxPaEYn DZX6HAsBtD7dcjrlazdBHBq1iaIYv6SFiCIk8fbU56haMChe2VkF.vdvyNvj ws6WI8HV1VMLNriXnpmOhpraE49VFhFgogkmhmqIRERxQrr+2aoTA0YNke9Y ovbt0EvQrr++JIOaI2xOV1porX75cYsVrcmvKt0JHLoUyWQ4P8zMxgZLgFZl zpoxHr5sIVKauKhHr8tHp1wD5dLgVqMA3ms1jCVqx4Ir51tHqHevTfSAjOYK mE3LkI8ASgMgKGjKkyS3psESTevTXWz9A4l67D7XawjO6+BMvIAR3ClBr+Ie 1SRZf8O4UaWf8O4y3NZfS9pO9mnANI0d4KHv6ufOwEPBqu.pOXhdha5gjqSQ IP0mZw5VsDsLulILraQCyqdZsYlvRiOcw+tN6MTM -----------end_max5_patcher-----------Cheers
Oh, and is there any easy way to call an external maxpatch within a m4l device?
Chris
7 months ago -
If I send values to ctlout in a Max MIDI effect I can see them coming in to an instrument placed right after it. So I think your problem might be something else.
and
If your "external maxpatch" is in the max search path, or in the same folder/directory as your device, you can load it by typing its name into an object box in the device. They're called abstractions in MaxMSP.
-A
7 months ago -
Hi Andrew, thanks for your reply. I just tried out the same thing and the track on the device is receiving midi.
However i am not able to send this data to an internal Bus like IAC Driver Bus 1 to use it with a user remote midi script. If i use the same patch as an external maxpatch instead of a m4l device it works perfectly.
All the patch does is get OSC packets, put them together as midi-CCs and notes and then put them out ctlout / noteout to an internal Bus. I also noticed one difference in patching mode: In the external maxpatch i can doubleclick the ctlout object to specify an output port. This is not possible in the same patch as a max4live device. The ctlout and the noteout objects don't react to my clicks.
Could this have anything to do with my issue?
Well, guess using the external maxpatch as an abstraction is good enough of a workaround anyways :-)Cheers
ChrisHere's the compressed patch incase someone wants to try:
----------begin_max5_patcher---------- 3464.3oc2c0zaajbD8r7uBBcLvwoq96N2VfMGVfXf.XjSKVDPKQay.IRAIpD 6rX+uGNS0CEoDkmhcy4Yx4fnXSRQUu2Tc0UWcU076u4hK+3xuN6gKm7Wm7qS t3he+MWbQ6K07BWjGewk2N8qWcyzGZ+XWtX1+c4G+2W9V9sVM6qqZe4ame87 4K9zxt23SKWrZwzam09l+z8ymdS26r3wamu3lYqZ+5za8weX9+q8iSz6bIGE C426toqt5KyW74+08ytZEKpjmdm5sSzjo4WNU6f0ON42d5exxGW08egxu57q aEm0x+e1X5jG9ys5a2Mi+tu7xI+Vy67Gu4MMO7Vg7xi2Nawi8i94qlcaluub 0xIue5We+G9GSnKe6jKeayCO8Z5Mu15WXx6+ke9Wl729zmZofeaeTYGHaPR9 +vlOXgzqIz7Khb8vul8vu1WkemuXUCpZ+oHp9UTAuY4zquc1COLQcfJgTUrD EsM+JThRn6HqD9JLyc22x4.IEipkTL9dHE0dHE+kGOjylkfBccH17KKUf9P3 6No4XpR7wGu95ucLLVqem50oDchmhnTs+1Z5gSz6gSnWeNxw1BBFRI4B0RJj JN1XknQmYEe4rRZrwJquP2ZMIkJmUH0XiUBrNBoHa4rxnythMkYEUrbVQO5X EdOBqYkT4rhYrwJtjpdVwN.rRiC7S+7rWPKQ.lZMsVSRg1s6rd4HWiy8Gh+a q+JNxNz+ZzQX38RgxrQrb1vBhM7Cu2Ip14Konub1vAhMbCNa3iopYCOH1vN7 1R8NdlhsT1HhhLLC+xsAMSFghIi.HxPO3jgIjmmnJlLPYzfF9XAvgoMEJ1nQ zhIbYf1ZmlCYnWWrKXgvna+tjqkG7lh2YWXzEZDx6xZJghIkwWjQLdMqoTbT zhpwW3hbDSJEGBf3nKtHjya4oOkSJitvhDoVaIdqpXNwL9BqXjm7TrYV6niS HqOaQQWLo3GcmfikMnXJ1yM6nyyMedxisbG2ritnr1YPo3EdriuSofyL.us7 4NiN21zASkbhY74eu2Wo8Dy36Lx4khskuiGbLxUqtY8+jCNWrLkrmmb9T3Xy roCOmiHEc4YHzSNW8HWeNh7.mzccW6KA4o34Hv8w7A257EC7z4HvcAc855py Qja6Nq9Jz0Cmi.2DcUqqeLSlzGtZ5Mylnd2D5cSTMwu+.Y.eAqswgoIoyYA1 gmSowHlCMAO433ieNkSaiR3lzXkaRbd8j3SLnDtIoFqbSHwSlLph4FZrxMVd KFULmJoGqbiOUM2XFqbiIjsE6JlariUtIWPHI9b9Kha.UmP2u9qe1j+xrEWs 75Y2SadldyyLadlcyybadleyyBadV7XT7M83lX6hbgN2i08Pvo8DRwuebQ9d +bL4+Gu9t0vZ17+yrlDNzL3LmMmG85hm0ZAMqcwxUy.ENIuoMvZAMmyEzguo C+wbC1.Qty1pNDHcoHOnNOQt0lqgyXwHmNOQtgOCy.ms2Egb84Ix0bvSCb8g Tz7by4IxI1C1.QEib64Ixyk3Qt9wJB4tyRjmzDC7Tw.2eVB7nhmkqJeVd3rD 3YDWwRZ93YIvcoPsywOOWQylnZA94oSLF9.RBph8a0ed52plOXjJli6NW2ph lAdwds5Jx31qVWU.JOUOGlCW4UVkSgpLyB.nCdWpNewkSjiPQGd.ooKG8FWT WLcnQQGN.EGBeFO4RyrH5.Uobar.J0rjioixscfpVtMF.EYFWpttxqXWGp5x znATzP7g23JuxLcvJf4guNUScrQ4JGnpfYiZ3S4TN0jc9TorgMgpdtSCeEB4 b0xFQTrwv6RZttFbApT1PCqV+GdORclZ0MznrhpGdGRsZ1Jpu31GCLyFCu6n FJujRw8ABXyS.3LZdmJk2lkfMMAgqn9JMgBJ0Pfkzu4ZghTNaoI8q9XF35lt J7Gmt3yCdxXDx9cxmPSAcSX6qqJzBfyr9ESlOHUwFMs5eL8366te1CyVrZ5p 4KWrytv0aksMj4kcU6saN3+z+bxO+2+vjO7sEq9xV8G7Oc+xaeYWCe6Wcv5a 3htZw6Zh3.MHnkguMW8ZcEYM7VI9wra1Kh13LuwoKnmQqFaYfU0w1WeLOTi+ TA4HZIQnKWTmryQlBREOsCVyCGDmPbF5aS1h4DyXiST4lXCeH2EwI5QFmjnT sTBM1TS7bfppwbhZrwI4sea4iFpDNgRiMNw5MUN2ghiMNwvaAyk23QIbRXjw IQpVyIjejQIFtCD337KrHJYr4vVPEp0.qcjQIN9dxfiuUuTDkL1bgUGxlWK1 qdZr4AqMlp0VxnyC1bJZvIyZQTxXyA1H6ploXkDMNqq4JI8toWSsOpaezz9n s8QW6i91GCsOFaeLw+UJ9W7eMw+4D+2S7W.weCO4XwMyWL6pkOtX0yo2AIb8 NdGVZtcz335luo7RdsqGg8nhVdYmdPkkZqH0xOO6V8YKtZd8cuB+vxGu+pNQ o6tk4jmP10ydX07EahY6u9zs7ws9PeY90WOaw1gn614We2x0ZZahx7d02DKS AIxjGqL0PATexT3vjIMEaN6CM2Eio06hsaTsRqSBCZ1AR8JscxGmS550N9zM pRos89XVujaSmbC4UbVpThjJBlT0zze5WndFgN3TkxHVp.dATIhqTZvbUTjx tFLWYEwUQnRURIVnnSMgxB95WRfVUJ9CPnTRDJfW9HQW9RfMJ3DKUpSMpxAd YYRhlNXlR15eXcUf++ojvTH0z8hopSsqeJOXMcsDM8vO.gRIQn.ZSWKRmBqi dwfXgB4kOqHuOU+.jJkHoB3EvjnKfVrBkWrPoNsXpHVqmhrIDQa7zHwht+Gf PojHT.UyE4O7yj7AWkRhUpn6zSldtd2fGrTItnqwtYTiDmg0X2KZTxEOCXWg cRkIfaZPxkNvmQgDeycGnJdzkZiod9F.CWuL6NxwYIJ4ai9d6nJQhUxEb8At PYH5ZjO9ryb7shvcFjalqtX7kibt7MbrPKFcGALtV5C8Y3Fq8nFQx22htJ3h jqOQhfKR19DICbQxzmtTBtHo6ikzvEodczEqIaQF5bpxLz0dPtjO46FAQXoh D17ccFC2iw1cjiqQGxw2tge9v7IU607xOGgipVFP0CGPUQdUFMHnXF.nv0cn UkWvzABJ1Zfh1rMTxi5fhQYwBEWcPQsCTTaCEJZvBEeMPgBaCk7Ha2slLsYO C6.ph+hvAzv.Bz8MLCzDXbZSGaeu47MLR6YTFiwnFKFiCCFycNzcGkwXvi0F i1WCF41IwNCx6ZxF2ynLFcVrXLMTPz7xQYH1j1rHgXXXfnIDe4nLDMZrPrFE 0bbJ1YPWF014pEpEHp.F9sLo32Y87i20BYwPJUWLj76DCobyHfub3YjnAgDu pFjXxZT6LJGMLSJcrhFlLjP0fjrE5cGkQRSoIBEI5ZPRds1cG0EKuD8xQYMO uxiUyKd7Q42y+Btcvzb21wkGAAkggBk62SQFkQxhEk9ZPIk6GKOaX1Q+TtXX 2YjiaBAM2TIc4QPvoa3v4qsQNFojxZvBUaUPMue6mML6c0ZjmAiGDXLUBF+t fwu8UFcdKKvtxTkyGj2p2LDg3FpxCCJ2w4e1vrcNpwiOjF5BU4jAY4CQ6YC6 TjrNrSwCU4mAYrQnJR5pz68aaOJu4griOzQyuGIUgforvlm6waaOBRLf.eBU RRPLC3SfUT17fM8vZltz2AUefKfSqWHqQ0J6+QWzc1YTvl6h.sex1QGgijr2 3WgM6sz1ieXLpMmjjDISrGusDiGwSuqafykLoKqgMss5OUygaMquLk.cJ4KH eRHGbQx1aNkBWj5K2j.mNvjfL3Bbh3SBxyMxCWjh8YWButTpOQBuQ.p2kcwq eS8tjBdKSTuFvC3kodsfGwKS8ZBOgWl5yFtFcOh33ebnUJRRJvKS7zikLX82 0HYiJNv0XRTZQA.zIbQg4Hc5ISXMhGjxR.0ljTUkte.xjnTV.X0eKI1hfWVY .xUJDhjEaEVqkrVmEca+Z.RkODxjEaM4YkHSdvUKDIM4c.xSh7vD7wLnjltV .sEHYE3.3voXjJS33ofjPO6wF8hfUZplAzGS6.j14PjIr0puMJUl.ZeRx7Ne DuLIJQCAdsSTeWAbTC8RkIfmMlH8Ira3LZjlRm.WClFfxtBgLYwxStfTYBn8 IIxj2iWlDkPu.0w0CPMThPlhX22hyKUl.ZyTzdNc3kIQIyMPcbQ6aAquJNmT YB39Vj36q2hWlDkw7.u1IYeKAv9E3jJS.2atn0fw5OdHHsnE.t2bI7TDa7mb FoxDv0VjD6vfFuLIJc+ApOEGfdHCBcbm4zyloC65ch7Uw4N8hggMc5EKZM10 fcR12hE7YkEkJS.iSmD8o.3yJyKsFz.ZGWT7Lwt1hijJS.WCVT9ynvKShJPy SL8IG14cZ0.zEBqUGWjeloSOdJfMSiBRzm7X4oPRZcbepcSpSYN85Xy5p5TH 4t1ztixExn1SubDoxC41sFODANS9gBmlf9kiRD2bqBgWNpiCLIKXNHbxwAVt QFgiCN36zK.Hgl63tXUDJqZ+84Z5O9zHHRarFoMjLPk1C9FY4A1Ga1We5LQb G6Pw2oZe1vN0rj2hdtFgmJzbCaVQ18LriJHk2ez3BQ2.Ih0Djo0C9i27+APg 1c9H -----------end_max5_patcher-----------7 months ago -
ok.
MIDI can only be sent to the Live track from an MFL device. External MIDI devices are not available from inside devices.
I now see this is what you mean by "external max patch". If you wish to distribute the MIDI generated from your OSC on system MIDI ports you'll need to do it from a max patch running in the max runtime or MaxMSP itself.
-A
7 months ago -
Hehe, was starting to get the feeling this was working as intended :-) Thanks for the heads up!
Chris
7 months ago -
But is it possible at all to send control data from a Max for Live patch? All the examples I've seen just send note data and any attempts to send from ctlout have been unsuccessful.
Damon
7 months ago -
"But is it possible at all to send control data from a Max for Live patch?"
Yes, I can confirm that it's possible (as Andrew has mentioned earlier).
BUT the channel is ignored, ie. messages are always sent on channel 1.7 months ago -
How do you set up a Live device to receive the control message? Nothing happens when I send values when in MIDI map mode (the patch is routing values from a non-MIDI external controller). I tried setting the same control number and channel with another device to set up the mapping, but that didn't work either (I mean the controller channel/# was mapped in the MIDI mappings browser, but the controllers values I send on the same channel and controller number in the M4L patch are ignored).
7 months ago -
Ah ha! I think I figured it out. Apparently the MID controller messages will send fine to VSTs with their own mapping settings but will not work with an Ableton device through the MIDI mapping feature.
Can someone confirm that that is the full story and if so, is this something that's likely to change any time soon?
7 months ago -
The MIDI mapping feature is designed to receive control messages from en *external* controller. So it doesn't work for messages that are sent internally within Live.
In theory, from an internal message you can generate an external message by sending it over a virtual MIDI port (eg. IAC on Mac) back into Live. But I'm not sure if that's a reasonable solution in practice.
7 months ago -
If you want to control device parameters and things that you would normally control with MIDI or key mapping, use the API. The API examples included in the Max install cover most use cases.
-A
7 months ago -
ok, so it should be possible to do with devices within Live using the API - which sounds like an ok solution - but impossible to send Midi CCs to an external MIDI device, unless we use Max itself. Right? Then is it possible to use Max and M4L at the same time? That is very unpractical but if it can be done I'll do it anyway...
7 months ago -
You can send out Live's MIDI ports.
-A
7 months ago -
Yeah, I could do it with the API but i was hoping to be able to have a second version that would work outside of M4L with a minimum of duplicated work. If I could use MIDI CCs then it would be fairly genericisable.
Thanks.
7 months ago
Reply
You must log in to post.