< Back to IRCAM Forum

Concerning accesses

Hello !

I’ve just taken up Modalys again, esp. the expression controller (that I Love!)

However I am running into certain problems the way access are handled in mlys.
While its relatively easy to pass objects or controllers to an expression, accesses do provide something of a problem.

Look at the attched patch. You’ll find comments inside. I hope it is understandable.
Yes, it is a feedback loop, that is easy to handle in a lisp script, but that Max does not like.

Please let me know what you think. Can something be done?

Best regards
Hans Peter

NLN-study2.maxpat (21 KB)

Thinking more about how accesses are handled in Mlys, I tend to the view that the internal makings of accesses-ins and outs actually creates problems. Firstly, in physical terms, there is not really access-in nor access-out. Accesses are dimensionless and directionless. The same access may be both an input and a output and could be reused to link to an object, a point-out, or an expression controller. There could be few or many. No reason for separating them really.

I think the solution could be to liberate the making of an accesses from object fabrication. And move the making of accesses into a mlys.access instead. Firstly it would overcome the limit of 10 accesses per object (which is a true limit for some applications), and it would allow for more flexible use and reuse of the accesses (like passing an access to an expression controller that modified that access and reapplied to the object).

Would it be possible to make a mlys.access ?

All the best!
Hans Peter

Hello Hans Peter (and welcome back!),

Yes, there has been such a plan (Lorenzo P. has expressed about the same need).
I have somehow drafted it already, but details need to be fixed.
I hope that can find its way until the Forum 2014.

Thanks!
Robert

:-)

and remember the audio controllers from Max too :slight_smile:

Hmm… what exactly do you mean my friend?

R.

Hi Hans Peter & Lorenzo,

Could you create simple patches for me, with dummy mlys.access objects, to express your use-cases as specifically as possible ?

Thanks,
Robert

Hi Robert,
I was referring to the possibility to vary ALL modalys controllers in signal too, as we can do in lisp. This would stabilize situations in which Max scheduler is overcharged.
Sorry to speak about that in this thread that is a little different.
We discussed it in this forum thread:

http://forumnet.ircam.fr/user-groups/modalys-beta-tester/forum/topic/signal-control-in-modalys/#post-10420.

The first attachment was my proposals (that I would be possible in modalys):

  
----------begin_max5_patcher----------  
3228.3oc4cstiiaaF82y7TPXzhssX7.Qp6EAsoM.IXKRQA5l+kMX.sDGObWY  
IGI44RVj7rz2k9hUdQRlRl5hskz5Y6OVu1jhRe7bH+3gejTymt9pEqRdljs.  
7mA+H3pq9z0WckHIdBWU76qVrA+bPDNSbYKhIOkr5CKtQlUN44bQxQI3vU33  
0kYPCEIytzkvxztOINOFugHx4ukRwQf+dRTXY1I6xiH44urkHsmEh6G3mJxN  
d2FZL6BDlAbehxhUKU9CJi9Kh6Cz3Vihj2hyCdfFu9tTRPt7YXBY4BfN7Oss  
Ee26VCvOwKvud807Ot47.lsfugYMoIQQjzr28RbN9YMXj8PAIsnPPRTRprBY  
bqqigqm0M7uY36YH9lGD55Xypb75lVny3ngNOAnY5J9OngydvSsLjzBHq.yX  
OAZD4QFVPShUpCWs.ucqRxWoTDNP+AYEz4lpjnwxjfUIkRdjVVdupTwoLKOm  
Y16Rkf5ydNKjYxH2qKKZY0BZY3IpXlx5mmnEBxBsulwZIrNJI3ijPEji09cK  
IlFuMkjQXrbdggTkcH4d7tn76ziv0y+db.o0B2dqiqVrNkFlDysjZEmmb4yj  
wb7ZjmZ8QjeLdqlhlwpJ6xVgS4X6pHws.UlYdRRT8rpnSVmEbLcCNmjSk1Kx  
n5lR2rMkFmW6AQhwr6wCYA79J0tUxbdTSNgLFOf7DML+Aw8REMYWNcaIKrnB  
gBoqIY40SKGuNqdJ0bKp1TT0KPsz6xavgtJ2Pxx.Yjb0KPwcfqZ58v4ZccV4  
1rUmFMcbHZlabqSgmh8eSwmQ6tb6v2Qa9OjNcgHQqQWqltODE6AZXnr8HrLQ  
gW4hNumH2beTBqRnheaSSxS3vWEN+8zGIsPNPuykcXF.lQ8MFgqappNriTaX  
kRyBvxteLm91mLi3qxH1NZYjs3TVkMmjdmrWo3gNhbCuiAdcaPuk2D1w.MAM  
xcQR8E7KD36KFJwsTfwHAYAIa1vFwQquluMMYCXSRHN5kreqEPEcjX5.ahZb  
xflk+dQYd1ZaFde55UEd7GQjrCm1aAeGIWQI22SyZy4skw768dvx9F0V2HA4  
X4IU.51hCiZp.qC+spFrMEgMJtNkgsnNrcEh8oRrlRwFpEskcrEidgflBDvu  
ADnWt3.jLNDYi8Jc7XjO1gDxgHirGoj8JmrGIk8JqrMokcKuraIlcKyrSols  
I2TujS8xNa1duomrCxu2gSq6VKHhfSalq57Ral2.ZA0uKsNG6saOT83kpGoM  
FhNplVkiureb3ZifTeTjykCNXTkNibhVEmiEKbfdyNGf4TmhvDxfR8TMiTyD  
SfGJvpNC9CIfcrKXWGLn4IxfcRMsp25DgXOCEwp1d5FNuMwWeFQ+1j31kL2K  
dJncoueFXfdbfkCh.q5x6k2nMHxMmqKLllXgvXoP4g34Bc1bpshmKSzs1ynm  
qdXNlvSlFsP.SnM6+5hBclIc.iJ0AGIpqHhHddy5nN8vcrIqzkvMH7+qYLoP  
OjykDikxpnDPPdZTT8fGb.2YLlNLORk2WDNKkgTvYd6vIvjtzv4ct8ULNpF+  
s25tpYcKxCJkLIle4LfbxJQWPm+HpppCbwXj.l5gzHhF22rxE1D+55F0xR1k  
FT1XoXlcfCMyPRVNMtJdP+X0bw0bs6Whjl3THMiGTivZgn+nZEbx0JiinZwk  
G9ZodcLzEWyzqk5kyQTu38kesTu7NF9B95pdA+hysg4QQWFuZpW1WB8tTjPo  
tXFKxvORBui8nYCldGNOOkthISMqs0qYTWpggs1FmPz0a05FhU0k0rNJYENp  
XMsptQsDY+qOjJl1EoLSrzG2y2XIfeeF38u+2AaYMJ89brDkcNahQdI2kgK1  
27vYPLBTPyn8VKLi1mKzxW8pazL2sgtv6lm454VrWbf52RNzbxFIJ7UjMaye  
4urnucGhR93zzjmtOs.PLloMAws2dK3aR19BnX0v.raIXEIJ4I0Km6XOHYmb  
1AH8jqcOKs+f1lDqvAebcJ6IENUafBjb9Px.V4I20I9yxNnnKZ3O7Owej.x1  
kR.ujr6MOR.2SSyxAAQT9hiCnwf7GHf2unLDIueQMFqHeVaL1S.T3C9OdrTH  
7UACBsD89rDSnEYXdgPgeGIljh4QwpZmvTRQYs3OrO2guMGy3+4A1gCD1KBv  
RwRf84G1+JvOvj4HZ8uG3aa2I5+5nAdQrZjgV22aF2kWcizuiDwLR.VAoYie  
z1V8x+0j2jhMiXKaTqoAraFT0VWUoiRhowfzM1pBmtBfp9XDpfD6207GDWv8  
fitoJp.QCHBLsL+PqCl1q94FpedgcRnGsM6MTa16hwl4pyqG4jVr4KGSVCiq  
2jQ1WL1r6Xzx.Nql7r2XtXFokAiou.w7ow7XB0+YQ5HN8LZsj9rf1dxcGfkl  
AWQBmG4A0q9dhTYuPVekY0dtCN5yvXKmeQzHc9Eg1P41JQnlxBVeiMNNmfwp  
yqT05RqSe+XgLi0I6DBskaJae9NtwEdVmsy5RF2CMgIzrkef.dDmRYSEJBC1  
ljQ4ca.gDPzavAAjLwWwfrsD1jbwLeGro.ySHHIMjbK3sQfr2v2ANLolf+MI  
Kg4xII8NQQytiFeGBT73AaI6dl+3nwgzedG6AhAahdQ7.Jrf.BS5pnj.RLHi  
tNFG8Wee7+f8i2fSSoOxm+bF3+9e32ysrIRGlV0Qn1rmczvzFCjpWsaU8st8  
PXXsG.UTWLrkjTcb4DLBIT05qdBWanncjNOuL05r6HaR4Z5LfPWn9IPxC5Lx  
0r4d67DPlZmetZUeySs5q+DwoucCyVnaXOeAy56qEgJwMVw2esFmNtYIOg3F  
ZNjysbd3FIeur9j+lNj15TQZoOgdfZTmf5wCe9tJ669SsYWaiaqsinwk5.1d  
lJMnJ1Nni7.1c5hBZeohLECXOstnfVygKpyseSIVbo41AhdU31oD9FE2Ns.Q  
+Is3C7LwmosKlsPpTwjEbcpuUzGIeOz3OpEYLlDjANpHSguGS2ypAC4WBwA5  
v.+ECmb68cViUwNk0t7ySxViXyH310XZbk8xlHQE6bXtZ1BAc0We+23+qxCp  
XV1c2TW8LwpV2EMckeJcKZ5056zF6xHq7PxSk0o9wU4q+EX4q+kdb5V8J3Ih  
t8tp1ZkHCaNYJmqWXsH8TEhmNB1yi3ncjj6O7EhydSgMP251IrZWJCGRyG30  
VRmFZxaCiu34szUYkGpkOVzlyQatLE44rN8Ghg5tJIyrzzYe.2TtncrKJK+E  
4cw5Z0HrcRQFhwA4LpRi2Kmw+kTUGs.kK5a4mio64xyIG.Af5pmtm+36S7X6  
RLxz1r4qMlQDjXHzsxJD3q4f.3chefzfXlnIJ9WCamSc9AFvwT4.y.sPGH0b  
fwktppWGq3grMcMIeYUIkHeRL4LBgaWD21DZb9RZ71c4.XA+81XD3qCd.GGS  
h.ZoQy4fFQl9Hni3jSaYBMcUeacLAjpb8dQP3oxoEHVsW4W7QLDVv9X1WAWL  
XdhHUYvSK5Lx+tNuWlVSOIJwR4Ag2XZ5JJUdLJcEUQJVw4+rw6IsmHz0OjWP  
nSD2IVJIc7k8qaemEA2RtBCNli3PQphvqVR.8n6lj3jkYrlBwq4CpWzG4fBo  
B6tiLrapC1g1NdNl2TR.1V9Fno.9gxSIHxx7T6tHWuD1HFKKDctrbQbJqKhW  
1EF621.kEgY9sVFkqNHINKeYThjpgpKyZLqPuHqpFJ8JuOk7y5JPDIds7cPi  
RhLMcxJk2gdja1NfAjTFPJ7niTdfhTWVorVNAA4Cq5UjINjtKqv8gQ0qfwbd  
cnX9MpUgWR1wEFW4yzuZOXOSi3C2Ohu1AK79RZDeYegwb.e3vFvGNUC3en7a  
srn+WBCgL5pugelUeyvDdmQI68u1k2SeQK6u75KB8K5L5MWcF437Dwp2mjFP  
Jnyuk+csrn6qZ42EzVg5aS6Sk1DXUCU1UfQMvqW02hGc8sYpjIat41J3ytOd  
4C5bJe3lY6vMx1AMrFr4XLD6ANe1yfvG24ydPCEefyi8XMD6wd9vG6gXOn4y  
dbFf8T+TMOs1iaslFsbdvgyq8zG930Sy4MzPgnhBWfVhoiYYH8+KW2Nwu1+X  
le6edfSjwkU2QzPbWgrlO6wbH1y74d.YMzgWNh1+HYG.SaH++7sq9wDz92bH  
Dr47QvlCgfMmOB1bHDro6rMdso8kkdFyg3+zZ9bX0Xn3g7F3XZsG+gfOyGeY  
Mj1OlyGeY4Nz9Wyj83MF8uZ3PmeRX49vqNw2k+XBbnOH+Cym+buAHW0e17dN  
Dx8T8MHmIei+fFvMjF+ALnwe3BN7OXAs8Gp.1y4Wu9+w4IWk9  
-----------end_max5_patcher-----------  

The second attachment was your proposal:

  
----------begin_max5_patcher----------  
1945.3oc2akriaaCF9rmmBBeIsE1FbSa8TZOTfdp.sGKBFPKwwCSjkbjnblI  
AIOO8AnuA4EqbQTV1V1ViGa0Iw.irDW+422+Fo77oaFMdd9C7xwfeF72fQi9  
zMiFYJRWvn5mGMdI6g3TVooYiy3eHe9aGOwVkj+fzT7xzGKmwhi4plUWmHwT  
ip0SQtxtKOSlwVxM07KEBVpql7JYJWJebE2JMiGCdScUYUKEYpJMB.dSg1tX  
JE0Z7uiEy2srRwGskAmAqKdESFeuHawsE7XocNQQdppAnPp9K+H6Cyff2n6x  
mu4F8kI8DnhyWtjmI2Copx3.VkrfCJySqjh7LPIufIjfjWwVmKJ.UYfr7p07  
TfB63RfEVA7GVkJhERUGqJ.o72WoaQFXUknrjCxWoGqLdZJWOufX8CwRtY7T  
OHK95+lxU8T2O0ypu.+PoXQFKchdrKTygVX3x3Y+HXUtpkpkBuXsRhRYpBJE  
FgMgCRekRj95+TNys3REpoJuJyrB82m+CNM+OuZ97zs3ssncTmzNrKJFeLJl  
DAMrJU2J.l5q+JBo4X2XUrXtYrmAOCVeYUpTTlJR3EtUVLKKQntvCshfZfwA  
TOzD0cTZ.zKRemGDE4qJqsnzBA8Orcxj11JMSlmax7BoDDUOEgalVBhDP1dx  
5Dt05MILIaqxbSA1MEHpGLJTOvXHIBi02Q77C82YJZ5YfqmgAZoyzSiLMo0n  
siv0h1c9.VwYuKNOMuvMbznPk.Loy6ZObkboZwpHtFFQ8wHFQpO6KuzlIPs7  
P95F5qnKnYMCUTX3NxaGZdTjUky2nxQPFEuvs5SgxxPYvdKOiUaK.2HvkxG2  
19nQ57cRW.Q+wHSDObjgzCBCwDuCvCDWOwQZ0OCbgPA9dldp3CrecOOCSgCD  
oXEK9cpQGfgcDn.iOrmBvulmlb4CWzuPC0rGUGNXBvK7YEZ3tzbk7z0xmbtK  
e0PxjZWAyYYKFebiZkrHVpleiSNsB+QMxTCvlVaLSNSriDZz78favtio4e4z  
3zQm9RWnM8bQaaXyS.23iBqOcUOaHKB8Yo5sTEkmsfuGF0owH7EpwHJvjmFN  
JvfH3YZ+a9CnaJj2KUjAQsPRz0zMEhNDtodt1M0XQsVxKG2NH72DtcbpRdjK  
famC.Q+Tm3C5YhOWWSLOes6FRfeKeOWXXYkH6cchLvqBxftrHC1jZKI3Yovv  
+XBKtKLHZb+I2isOPi6.OqrR8bWa.nz7XMdoVxmgvmJVymsfIxZV.qYEMz09  
01Z4E1Ci+M2o+qwkZpnTdBce8l74YRldi76AF0Ph4JM7fa9x6TfZchJHh+di  
TWdba1NSpX0sMJZNTnP3j21EWxVyStkIkEh4UR9l6JqYkZZQC7oU776bE6Ju  
snnhxs3vjyVMs797BYOaqi5fcT2RE2nqaZPiA0N0a2Zpem0pRHWpr32GC6pU  
VlYJw2QBa0nJUiZ1XI0VuQY280STyWwAREU0gqqCe.FO4TAPmRCzp4ggtqWR  
eyKySXoOV9E.Ff5ZcF77CtekCrWakBMoHFbUhqaNMX6BB7ZMH.9KyC3NPLxk  
dK+aN6pVmLj4jZBsmHxwNZomdTORfIFBBF15fE2JOSq2J8Y4FKOhqplk91Xk  
BVYEK3xoM8zh74Y7wmug5wHtU4hL4TQ1pJYM686YXvqiumoOdYPmjHYHHQ7l  
Seq4zBCfQgP5UgR8CsNPHmKiViXsLSGMVGuvHAMt12P7JX9JQokq37Dmon99  
t7cQnWeRzZqnu.qu6hwZt2diG7hYH1FoTcW+X84f4J6Cbwh6k0D5Uh6hKDqj  
cwWdei64zFf12911HWv.QsS29O4k4YLYdQ2n6x7r7okJUgrE5P501H60o1vd  
vEF1IcA6n52eRMA3Qif3qB7irmkF8r8xYe8jp3ESqS4bp6cE17JnLV6nlLPc  
cQI9GrOsZcbdVobZZtkpa43Lgmo5zi1kJrkU4cE722UGR4YKj2uSgpL5rKpv  
88HuqdfBHEJfz3QG2ZBMkNsIuZ61CrSlqIErDQUo6XzQMA20qg5c2zdI7Xdk  
Ns3FelQNCigIdOZS79NCUD9cU7d3kNbOpeg6QWqv86m5cmrXz2CAPP12OxkK  
yaz+yYdqvjMlh+Qk7D1hTuu+rEwz5fSgCkwnFmuRr5c4Ew7Z572z22IKF7Mc  
x20lh04dS7NWZyfU6jicCXrE3cxbuMSs4svryOvMi3qKea9rLupdt+6lyhEr  
YAnRRPJxXaxQwcbzsZy8hDUNIsO54DQo9P5RN76V5RKMnAQZ76gzn+0LLPfi  
154jxCIX3jGu9HOdCl7Ph5g7PGN7gzGsYxvYbQ5i9Cc.4q9n+fFP9h1G4Y3D  
GReTevCm7f6I7bLmyKEIl7+piVQBg12srMSHOZySalmK1B.SuD5a6rBnXjVl  
o91DyCLuQ3cdBZxTfDYZHz65r35i1Bd3zVv8QaYGF4pJOv9P9CmyOTebFG9x  
SbFlLuP8I0Kx.BO8JT0vYcgnuvzl6UrAzvo+fdYkZAB1W7Yfjm9tShygtr6I  
ksZ0Zdg6XeMRx3kr2Z2lt4eeF8u5Z6ilshOtfuV3ZenoDVgZK3R0loqJraN9  
gP+w2nmmOey+AIzwhkA  
-----------end_max5_patcher-----------  

Ok, thanks.

@Hans Peter: I’m waiting for your use-case, so we can find a design that fits both situations.

+++
Robert

Hi Robert and Lorenzo!

Here’s a patch with some initial ideas. I am aware it may change the way mlys is patched. And thus may create potential problems with patches already functioning. However I think it’s worth giving serious consideration as the current design really limits the flexibility of linking objects. I don’t think this proposal is actually less user-friendly than the current one, just a inviting for a different habit.

Give it a try and let me know what you think!

Best Hans Peter

Access-Examples.maxpat (54.6 KB)

Hi again! Issues are getting mixed in this thread. However, Lorenzos patch from above is correctly patched. And the good news is that signals may already modulate force, speed and position without any new code from Robert :slight_smile: In the patch the signal modulating speed works exactly similar to the signal modulating force, except that it must vary between something like -400 to 400 and not 1- to 1 for it be able to produce sound. Signals must always be scaled to fit the type of parameters they are modulating. Theres is no normalisation or automatic scaling. Look at the revised patch attached. I’ve corrected it so that you may excite the string with any mixture of signals modulating either force or speed as you wish. Hope that helps.

Best regards
Hans Peter

Lorenzo-signals.maxpat (31.6 KB)

Hi Hans Peter,
my problem was to vary and move accesses with a signal and not in control from Max. Sure I can make sound a speed connection amplifying the signal to greater values.
Moving a speed at 0 was my previous way to vary the pitch of a resonator.
Now I use the new setpitchbend message and it works fine.
btw it would be useful to have the possibility to vary the position of accesses or, let’s say, the “setpitchbend” message in signal, because when the Max scheduler is overcharged sometimes things tend to be less precise in synchronization and timing.

If Robert could implement his solution this could be fine for your goals, or not? The access could be varied with a signal or an expression controller.

In my case, to avoid less precision in timing, the setpitchbend message should become a modalys controller so that it could be varied in signal too.

Ok, I see what you want.

The whole problem is due to the fact that we cannot get a proper handle on accesses.

In your case there is currently no way you can replace the dynamic controller generated to guard the position of an access-in. It should be possible to replace it with any controller that the user want. Actually you want the speed connection to accept 2 controllers : one for access-position and one for the speed. Because we don’t have a handle onto the access in question there is currently no way to achieve that. Too bad.

I have attached a patch sketching what could be a solution in your case. I think this solution would be vary useful in many other cases as well.

As for my case I would like the expression controller to use its @target-attribute to speak to a specific access. The control string of an expression controller may well accept an access as input, but there is currently no way we can get handles directly on accesses to pass to an expression controller. Many mlys object could benefit from having a @target-attribute to speak to specific elements of each other.

Robert - what do think of this suggestion?

best regards
Hans Peter

Suggestion-for-Lorenzo.maxpat (6.81 KB)

Hi Robert!

I was hoping for a reaction from you concerning the latest suggestion I made in this thread.
Without a response I don’t even know if you have read it.

I am still stuck concerning the patch I’ve attached in the very first mail of this thread.
I would so love so be able to complete that idea which demonstrates a novel kind of sound you can get from Modalys (provided I could get an easy grip on both in and out accesses).

Hoping to pursue the discussion on accesses please tell if there is anything you need from us at this moment …

best regards
Hans Peter