Learn about building and using Max for Live devices.
-
thomasbuckler
- Posts: 11
- Joined: Sat Jun 30, 2007 6:29 pm
Post
by thomasbuckler » Thu Feb 16, 2012 9:29 pm
want to be able to have MIDI, like this:
and flip it to this:
can anyone help me. I really think I remember seeing a M4L effect that performed this flip.
-
broc
- Posts: 1151
- Joined: Mon Jul 26, 2004 8:37 am
Post
by broc » Fri Feb 17, 2012 7:54 am
Look at the M4L lesson "10 MIDI Note Operations".
-
thomasbuckler
- Posts: 11
- Joined: Sat Jun 30, 2007 6:29 pm
Post
by thomasbuckler » Sat Feb 18, 2012 5:16 pm
this didn't seem to work for me. Just shifted the notes down an octave.
-
toscanini
- Posts: 410
- Joined: Thu May 05, 2005 5:42 pm
Post
by toscanini » Sat Feb 18, 2012 5:22 pm
Hm. I have looked into that lesson, I couldn't figure out much from there. Look at the LOM, the operations on MIDI notes might look off-putting but they pretty much work as described. You'll always need to go through
-point live.path at the clip in question
-use "select_all_notes", "get_selected_notes", "replace_selected_notes"
here the only parameter you'll want to change is pitch. The only little trick is that with the symmetry thing the value can easily go off limits, and that would mess up the whole thing. (If notes count isn't right, the whole system stops working)
So here's a basic version:
<pre><code>
----------begin_max5_patcher----------
1436.3oc0Zt0jZxCF.9Z2eEYY5k1cHIDNz6999az1wAgTMc3fCDr61N8+dCI
nKtJwnBYzK1ES.w27j2yvedZlyxxWo0Nfu.9JX1r+7zrYxoZmXV23YN4wulj
EWKuLmjx7bZA2Yt5bb5qb4770TPQImBRJaJ3f7lZNXIETwVslOGvW2TCZujj
L1lce2LVAUd0s2.T2jah4IqYEqVTQS3JAC648h6b.A41d.RjGPQu3B9d2Whk
Jkgxk+7yHxta+OJK3Ew4T4o9uJVbF3+KyR6e5Z1ukmF1dKUSWzjyJxnb4pE9
9jkM7cy51N4ee5o1+M2PrUP+kP5NhZs3.3BfnfcmR86veaCUs3cb1uJOAZPg
g8PCwWBnvAHi6HRF7IICb7HiP6Aj1juQbXI.NHcVFWrxYNvo8RaOta7tirVs
KM.Dhj.D5KAXHVG.8cmbUKx3AP1fL6rLQACLVpNgQuPFlIjvQjInoVoJoLKS
5kpdXys489SqomqjRdB9zZ5EokRAStliW2r0waooKD+nBAcQLmWwV1vUt3ms
GVybn4Koo6clov6HA4emA9YIqPOgMgrpCAQ5rIIjIW+CMtN0xNquL8vwSYUh
iLv3zaxU6PiowoHU.ZkV2V8LNOmWrNsHbfjW9Z8riiFQPQNs84U.pbZcc7J5
wt1K1Rq3O+rA4LrbkvmWYkZd2Wvv.euf4hOE3FE5509ILBR7iDvoGazDoDCk
Fmdpvl8+NUzZQlgwbVYQeEl9bdJrV6+6dPTrcR3Ik1aOFyP6NIwhfLokEzqK
ktNNibUY1crj2mm3Gonu2dfgtrcIpPtHslzv6x.CCU9TMkCdqroB7MmbVUUY
02bbFFDdJPfUIpEAOBDlXKNEYyp0VTUdxIj1Iq7pm+7UmDbmtlWjAIAitSSB
tQjj293oKKqRoUWUzfgBEKSXQGD6RNtSOUU39kpmhvSfdpXJVdStTcyDU2vg
V.eviv78aC6t8hR6GO84L1V5K70r5T5VVB8rYR1sOcVccOkttA4aCm9ZfwiG
uD6oanEo.YH4159tstrnRkLReSBlb9LhQjSo+fVkU9qqDKJ0FXnmAgiuKwh1
T3D5NYwIzE0zLwRVTTsrwAyeWYpF7I3I6kI95R7S4kzyWkxGJP55bn1b58fk
4WclvgklF4YZxec3Qu1FB9H0UfJwsk1oQo2IkY8kRkaHTRnHhVu4QORdyUbZ
Ek+ASxaoSSpZsB6WZ6fvJ7traJZ8go.0BwGOv60kvPS3mJMODhnqXUn+ijKK
YpVp1ndaroyek9rpPSOZtr9CuXCsplUyoEIz8jcTaSbGfqoUa0zzOC5GZ+Gf
Sf1vBQSeTg6MJOJcbVQXU.k.ntJgerbQtopTrAveCjR4wrrE8e3zWWpvpGYF
zEqyQXvCmePwJd8MlUhBPcERoMNK4tLmjA0gDnAzBoEssvaKidaESohVD4qS
+wto9Kk.Y8Me38DQtHZm+PpUW1TkraIu68N.79BIkVyYE663yWeucs8tn0rz
TZQ+1yjyR2TxJ3cBA36mbOzXYJz.Y5CB9wxzAMSycdu+0u6YirjCMQxCsJMg
lPy1ZMroLgLQlrLm7MQlPVUlZI.7LhTzAWyTKQAF.oHqynyIQAVUhHFHQ1U2
1y.IhXUIJxjvN1092jHgd1MPH1zvI1yAfLDGzjDFrmLgMIrquU25vlFLwdTB
FYvNGwtZ3DS7Lgsa.ErI9lHD6yInIxj8zmHlDmiX2PuPi16rqGShQkyX4HKd
SPxtPe46YKQ0KJn50x3vQH0qLEBFrezsRWSxHEcgEvhbkqDOhuTLiB1O5Fk1
onFiNwy2s6QSRNdz3icrIF+9tVUoV9y4YRvDzknJH6oJ1Wo+heezXHs3yoK3
aeBhLw8okkI3HGlARvRSZjmbWsybuczXHsmMgF6VYCFO0c1PL3uO8OfosjlD
-----------end_max5_patcher-----------
</code></pre>
-
thomasbuckler
- Posts: 11
- Joined: Sat Jun 30, 2007 6:29 pm
Post
by thomasbuckler » Sat Feb 18, 2012 5:47 pm
I just cannot get this to work. can you provide further help?
toscanini wrote:Hm. I have looked into that lesson, I couldn't figure out much from there. Look at the LOM, the operations on MIDI notes might look off-putting but they pretty much work as described. You'll always need to go through
-point live.path at the clip in question
-use "select_all_notes", "get_selected_notes", "replace_selected_notes"
here the only parameter you'll want to change is pitch. The only little trick is that with the symmetry thing the value can easily go off limits, and that would mess up the whole thing. (If notes count isn't right, the whole system stops working)
So here's a basic version:
<pre><code>
----------begin_max5_patcher----------
1436.3oc0Zt0jZxCF.9Z2eEYY5k1cHIDNz6999az1wAgTMc3fCDr61N8+dCI
nKtJwnBYzK1ES.w27j2yvedZlyxxWo0Nfu.9JX1r+7zrYxoZmXV23YN4wulj
EWKuLmjx7bZA2Yt5bb5qb4770TPQImBRJaJ3f7lZNXIETwVslOGvW2TCZujj
L1lce2LVAUd0s2.T2jah4IqYEqVTQS3JAC648h6b.A41d.RjGPQu3B9d2Whk
Jkgxk+7yHxta+OJK3Ew4T4o9uJVbF3+KyR6e5Z1ukmF1dKUSWzjyJxnb4pE9
9jkM7cy51N4ee5o1+M2PrUP+kP5NhZs3.3BfnfcmR86veaCUs3cb1uJOAZPg
g8PCwWBnvAHi6HRF7IICb7HiP6Aj1juQbXI.NHcVFWrxYNvo8RaOta7tirVs
KM.Dhj.D5KAXHVG.8cmbUKx3AP1fL6rLQACLVpNgQuPFlIjvQjInoVoJoLKS
5kpdXys489SqomqjRdB9zZ5EokRAStliW2r0waooKD+nBAcQLmWwV1vUt3ms
GVybn4Koo6clov6HA4emA9YIqPOgMgrpCAQ5rIIjIW+CMtN0xNquL8vwSYUh
iLv3zaxU6PiowoHU.ZkV2V8LNOmWrNsHbfjW9Z8riiFQPQNs84U.pbZcc7J5
wt1K1Rq3O+rA4LrbkvmWYkZd2Wvv.euf4hOE3FE5509ILBR7iDvoGazDoDCk
Fmdpvl8+NUzZQlgwbVYQeEl9bdJrV6+6dPTrcR3Ik1aOFyP6NIwhfLokEzqK
ktNNibUY1crj2mm3Gonu2dfgtrcIpPtHslzv6x.CCU9TMkCdqroB7MmbVUUY
02bbFFDdJPfUIpEAOBDlXKNEYyp0VTUdxIj1Iq7pm+7UmDbmtlWjAIAitSSB
tQjj293oKKqRoUWUzfgBEKSXQGD6RNtSOUU39kpmhvSfdpXJVdStTcyDU2vg
V.eviv78aC6t8hR6GO84L1V5K70r5T5VVB8rYR1sOcVccOkttA4aCm9ZfwiG
uD6oanEo.YH4159tstrnRkLReSBlb9LhQjSo+fVkU9qqDKJ0FXnmAgiuKwh1
T3D5NYwIzE0zLwRVTTsrwAyeWYpF7I3I6kI95R7S4kzyWkxGJP55bn1b58fk
4WclvgklF4YZxec3Qu1FB9H0UfJwsk1oQo2IkY8kRkaHTRnHhVu4QORdyUbZ
Ek+ASxaoSSpZsB6WZ6fvJ7traJZ8go.0BwGOv60kvPS3mJMODhnqXUn+ijKK
YpVp1ndaroyek9rpPSOZtr9CuXCsplUyoEIz8jcTaSbGfqoUa0zzOC5GZ+Gf
Sf1vBQSeTg6MJOJcbVQXU.k.ntJgerbQtopTrAveCjR4wrrE8e3zWWpvpGYF
zEqyQXvCmePwJd8MlUhBPcERoMNK4tLmjA0gDnAzBoEssvaKidaESohVD4qS
+wto9Kk.Y8Me38DQtHZm+PpUW1TkraIu68N.79BIkVyYE663yWeucs8tn0rz
TZQ+1yjyR2TxJ3cBA36mbOzXYJz.Y5CB9wxzAMSycdu+0u6YirjCMQxCsJMg
lPy1ZMroLgLQlrLm7MQlPVUlZI.7LhTzAWyTKQAF.oHqynyIQAVUhHFHQ1U2
1y.IhXUIJxjvN1092jHgd1MPH1zvI1yAfLDGzjDFrmLgMIrquU25vlFLwdTB
FYvNGwtZ3DS7Lgsa.ErI9lHD6yInIxj8zmHlDmiX2PuPi16rqGShQkyX4HKd
SPxtPe46YKQ0KJn50x3vQH0qLEBFrezsRWSxHEcgEvhbkqDOhuTLiB1O5Fk1
onFiNwy2s6QSRNdz3icrIF+9tVUoV9y4YRvDzknJH6oJ1Wo+heezXHs3yoK3
aeBhLw8okkI3HGlARvRSZjmbWsybuczXHsmMgF6VYCFO0c1PL3uO8OfosjlD
-----------end_max5_patcher-----------
</code></pre>
-
toscanini
- Posts: 410
- Joined: Thu May 05, 2005 5:42 pm
Post
by toscanini » Sat Feb 18, 2012 6:33 pm
Have you copypasted the code into a new max midi effect? Then, click the live.device for security and it should be up and running.
-
broc
- Posts: 1151
- Joined: Mon Jul 26, 2004 8:37 am
Post
by broc » Sun Feb 19, 2012 1:17 pm
I can confirm that the patch from toscanini works for me.
Alternatively, here is a simple solution based on the M4L lesson mentioned above.
(it assumes that all clip notes are selected)
<pre><code>
----------begin_max5_patcher----------
1058.3ocyX1ziZiCFG+L7ovMpGonXm2fdp6dY0JscOr6wQiFYRdXF20wNJwP
ospe2WGmDHvjPxLL3hFIBX67L+yum2ryOlNwYkbGT3f9H5NzjI+X5jIlgJGX
R8um3jR2EyoElk4jBEEzGAmYUyofcJy3EfB8dbyvhMoLAGTl6gTO3ZoPUv9N
TNF1ct6g0J2nZVLtdzLpJ9Il3wGxgXUk.wjE5aBQ78Ku3sr7Sb3bWz802SkY
TeKCptAGm8SwRLpTt5KeXoSK8HnolE67a4LJG86RdhS4r+b5zxOlMRpHfupM
8yfRVNjAhjNoB9MhJKHFnDYXSfqAJKdwPIzdP4ceP6IitpQJ0LoNPIZXlvDp
NwRf8vx24nBNKFPuAIQjAQCFaBWHiHbYVOgL91iME.W+.fRjB3xykNCbvQsC
bBCGlNqnhG6kPDuq.h3rsvbCYps8VZ9dSuex6H22LepLwLo6oT8OEagb0YAp
t.VAHTTESJZyICYBqnzyK47BCFCvGrCwskcZ+euspFeL5dGPFMWyHEj+.Hnq
3PayUP2BIOPUpb1pMJ3v2JpcC09gRTy2.x0MC2LdayKySf7V39nISf08OYQF
.IbVpQZy6ZELwVVAqV8jtLgBxJ5y9TgPV6I2Gu3zw5.s6qlq5mWbIa0WI646
wKdWlNoTn5WzaDLUg5a0HuqUjpiu6+9S0gklGoNmsIHfzItXJclVKOdmX+IY
9gbybPmST.cwEcdTiPIQcJFtT73oV5Ph3yL14dt3Lw+UZpd8lkF33D6Sd1WK
60CabIUyVMooDTyk2lR1e1+ulSyXy+GHiSig+0TAGR9aYYZ0qnFdrjKyqBKc
mG3G3tbwL82Vz7kfkDbPzrxfndpC41ecHupB99jp9gAKdVIsV0TVfsWiuFJ9
Gf5FffCtiqkdFv4MhFmegodHkpKztqyB2Q1iwZkLmoSKt7cV3MDevQAlKtKG
49t5quF9ZryhybztXfy0GuCoykE.xEoaHfdOwB6g2CWERQ7ekm1C6a8i6gRz
MwulG4yyu81TiHuxy74YwC8kqkD71.FxvfwbunfnK3zMd91sBTUsPSaaKD5f
iBurPGueEzAEfVykTUnOBi9j5o7MH2qb7T0aPXQUCM+fWTesdCsH1CdJDW+W
LGn4H9kyJ+A6v44075nBFaGNi55uU2KoJkw.5SAKN8kZZDb43GivB4l73F8z
bjczAMm.EJlX+APu6fCr0hdhkj.h1awLkkjIYBUsHP22oCcrZprYOhLflNQ3
WaMcBB5VSk6T1lZJ71y2U1FYXMEZWMMpXbe6Fi6eCl2Ml3Irm80D9FjSdCoo
eAbhbawonwDNEZ+VKCoI6VIXLEBBrphBFghrqaaTEl7sejzPElVZUIs7lyuM
lrsnATzQuFO2Ys9n8Kt6b5V+ieN8+Abja7A.
-----------end_max5_patcher-----------
</code></pre>
-
crumhorn
- Posts: 2503
- Joined: Fri Sep 26, 2008 6:04 pm
Post
by crumhorn » Sun Feb 19, 2012 2:06 pm
Posted this rubbish without testing it

- my bad.
see later post for working version.

Last edited by
crumhorn on Mon Feb 20, 2012 3:28 pm, edited 3 times in total.
"The banjo is the perfect instrument for the antisocial."
(Allow me to plug my guitar scale visualiser thingy -
www.fretlearner.com)
-
broc
- Posts: 1151
- Joined: Mon Jul 26, 2004 8:37 am
Post
by broc » Sun Feb 19, 2012 7:24 pm
@crumhorn
yes, operation in real time would be very simple, but I suppose the OP wanted "batch" inversion of existing midi clips.
-
thomasbuckler
- Posts: 11
- Joined: Sat Jun 30, 2007 6:29 pm
Post
by thomasbuckler » Sun Feb 19, 2012 8:47 pm
Pd patch looks really simple. And I wouldn't mind a realtime one like that. Anyone know how to port that to m4l?
-
toscanini
- Posts: 410
- Joined: Thu May 05, 2005 5:42 pm
Post
by toscanini » Sun Feb 19, 2012 8:51 pm
Yes. The exact same thing as on the PD drawing
_____________________
@broc, thx for your example, I am not a big fan of the "official" abstractions but jit.matrix looks very interesting for working on clips. I'll definitely look into it...
-
Machinate
- Posts: 11648
- Joined: Thu Jun 24, 2004 2:15 pm
- Location: Denmark
Post
by Machinate » Sun Feb 19, 2012 11:27 pm
no, it's nowhere near the pd patch - m4l objects and cables are antialiased for a cleaner, more smooth sound.
mbp 2.66, osx 10.6.8, 8GB ram.
-
crumhorn
- Posts: 2503
- Joined: Fri Sep 26, 2008 6:04 pm
Post
by crumhorn » Mon Feb 20, 2012 1:28 am
Fixed a bug in my earlier post.
"The banjo is the perfect instrument for the antisocial."
(Allow me to plug my guitar scale visualiser thingy -
www.fretlearner.com)
-
broc
- Posts: 1151
- Joined: Mon Jul 26, 2004 8:37 am
Post
by broc » Mon Feb 20, 2012 10:34 am
crumhorn wrote:Fixed a bug in my earlier post.
In your patch the '-' operation is not triggered on the left ("hot") inlet. So in Max you wouldn't get any output.
Does it work differently in Pd?
-
crumhorn
- Posts: 2503
- Joined: Fri Sep 26, 2008 6:04 pm
Post
by crumhorn » Mon Feb 20, 2012 3:01 pm
broc wrote:crumhorn wrote:Fixed a bug in my earlier post.
In your patch the '-' operation is not triggered on the left ("hot") inlet. So in Max you wouldn't get any output.
Does it work differently in Pd?
Whoops - My Bad !!!
This is what comes of only testing code in my head.
This one works and is properly tested - promise!
or alternatively:

"The banjo is the perfect instrument for the antisocial."
(Allow me to plug my guitar scale visualiser thingy -
www.fretlearner.com)