Max8の信号処理でMatrixの領域を塗潰す例を示す。
以下のコードでは演出のために低速で塗りつぶすようになっている。
80年代に家庭用8bitパソコンが登場し普及しました。
当時の処理速度はCPUのクロックが 4MHz と現在の1/1000以下(シングルコアかつ原始的なCPUなので更に数倍以上遅い)。
解像度 640x200 の全画面表示のディスプレイで領域塗潰しで実行するのにも時間がかかりました。
現代のCG処理を見慣れた人には演出でエフェクトをかけているように見えるかもしれません。
jit.matrixにドッドをセットするメッセージ
setcell
送ってドットで画像を塗潰す例。
ドットをセットする座標はcounter を2つ組み合わせてx-y座標を2重ループで処理する。
ドット描画コマンドsetcellを metro のタイミング信号で繰り返し実行する。
Maxでイメージ処理をする際に前述の様な原始的な手法を採用すると処理が低速で実用的ではない。
高速にCGを処理するには、以下の様にOpenGL系のグラフィックスコマンドによるグラフィックスボードの3D機能を利用する。
この他に、自作エフェクト用にシェーダー処理を行うこともできる。
----------begin_max5_patcher----------
2728.3ocyb01iaabD9ymA7+ABADfV.UAtuRx9I65Obeo.En.EnE4BL3oiVGs
knDHo74jf.Xoqt4bZSBPaRu5Xf33hhXiDfytMnsowIs+XXzY6+EcegTuRIth
ZohOCc7Hkn1Yd1Ym4Ylcne6Kdgcpse2a4EUy3mZ75F6ryaytxNhqwuxNYWXm
ZcbuUy1tQhOXsq6G2n2Q9AGz8nZ0S+.8B8h7Bhci86Fb0PulwxuRZCpMhZYl
8CstA.Y2vjc.X4vOZaia.IFuQ1WTP+N9As8hECEH6p9GHF4t6e8eBb7X5GD6
E1alOG6t61ON61g4Icy74idyflybA4cG+l87jJ.WYuZG23P+aUqtQsZSDzdt
wMOzOn0TZK.Ba.lWeIHgdhMM4GP7CFug363ct3E3GYGpqL12ramNLMYLFD6c
KwfWazce+Q2+SSFb14e3G97O5YIC+im+uNYzG7rjAmlL3yGewQm8fW7v+Pxf
6kL72mb6g0TF1I3Z4Cxlq.PrwjwJccCnIVb.VMHPlN9UIG+oIGy98cY5axvm
kb7wIGexXUdufjA+INNc1+7kexGjL3QICdR5sN3IYvyGmLj86uHYvucZPpse
fWyt8Chmw3pXnCVFnSBV.SABBb.BfjVMP2unmWvt+7m+ULH3rY.vAeYxvSX3
1U1kaPkhRbfbu.4Yidx+8E+8GxPtqr6kE21IIG+EbDe3SRF9e1XjCTdjCIPL
HvtJAtXlly7MzpkWHytZHSy+yIC+5jgOhq+GexdA6Ezrsmangbw3dAsM99u9
8lCk2KXei8cCZw+zLX9ke1uig6id2uYz6c+7APakAPrSI.PnD+bfB+yPo2Zm
pA.4FYh0mKt5UceSX6Rnk.4JJhPYcHUumIlGZ1D+n673LGymM5j2876++JJF
JxwpgIKZIvBYQ3AUfDVTE4zBj1.vhv5PSi2fxTB0wNqBwtkE7LWSGmFjw1NK
W7pBCoLmOBOOii+8iFc6+l4OtHLlPYF.1.pIxQ9iUcCKoJf1XDlpSDFy3KMu
jhA3UKqaC3dNGVqCPKVIZSmrDTcrEqSrkBsaX6X4Pf1VXtvYOAbmV7pJODu3
t+ihvOHiH.BPQTjszYfCaR1VvvjXVF.DoUiSlSUHk.INoVf.ly.nEYdwqJn+
9zu+6t24e6G87yX7cez4e7SYq647+N9KSN9aSN9TNmtA2mwbYMBq.KcXkTcF
PrVLgfMDB1uebLalnn0YRSBgaXY7b9umN6kP2Ndr7mtpWf69s8lQsJFYLWBx
.JzpYgDr3LeJHsJLHuzHWP2pr.2eyiN+w2Sc6FDsL1Ml1KZpfLEAgnlaA1IB
kj6G+e+4LJpu7StCm7O2+dZBTkhlhLFZo7LgfZ0yD1pAWfRMa.Uq2H1JqvtL
BdbaaNjd62eze8zh.PlW8IqYAfxfYPGsRliJ7k4fVPfzOhEE6FFWHBgxwOfL
YEaYAFVKzBnUzBfvKJcP37RWED56NO9ke1eYzCdvnGd54e2SSFbp5tp.kopN
BDWRJBnAaB1.uuWXgy8lSs5HOGJaVDMzxRCBt9Qz3EJr3nZPyoVcoE2QAdGw
TkEMP9UukuAHeaBXdPAYIPAZ0wvqO4nOuNEqLjtsPgS8Fi0g12wKJxsk2hpu
YgQtXrzbnTaGfjSMvDjF4BJxlcENgyE+P5ibzpQQLmyfCKiELQ5wwxZBwnoD
8Riowca0psWg3GieBI+BTnepmHf9P2BMSg.zTkBSKbMaEcjOabJElZK87JKb
UIc9gxi1.c58TYEanh1sfSAXrTmlVyztWvWi4w0TcufvBWEWByoTh.xjCwnJ
zm+qYPwqg1Br0u1l5iWqZ65PUPxLjZoapB.5Vmp.b7FmMqBUwN1kEQ.fqFO4
.zVzSdlwn9bjurUdhb+X1fqwpu0ewmBEMQpvDQYKoUoqFw1R4EZ.bbxWkI4n
xKaMDdkSw0kqXThhIzRNWCs3Dgbb1BH.EsFH.txQfLR1xxCC.fpLA9qr6k4g
bVdP1b2e2xr6jNfFz41kCrivLWxOZCyyd95qtYrUMqfk1YavcZWUToU.8mU3
FRXYt3FR.R2PJmRTUFnsNqJCgkaW1V5LN2NTZQ.cp.yE021KG6pItJjrMKNe
96YljIuVLMWZd8bkHttAiGi.jLZ1uc6qdM2ld7qwOg+2F6617F0MhNzsmWTa
+ldQFDtSJwmoa6tgFlMvxW0YeC66w9aX1q5Fc5dSu3tr+lvdAXuPSei1rW72
qtQb2v9QoeDvT2l0jqM413Wfxd4vuHuwNNx+f3CYAILtFeduoeXy1b4.YXxy
CL+d.AoN2dqhrGtV2f3H+2RLoKRHqbIyk0xRXYCuI68KBZZKa9HEvzQgvc4P
e210zdzXd6I1pciPufCXwjuzAgtGwlK3wmtzAd8hOLcQkAv3Rs8acXLWIxtj
5gtflEkEfxnZVUyTyqukrglRK85VGciM12vKzMxaMJxr9gJoDnDdgjag1OPv
UpwXzM7XB3rFiahwGTaHpxFdP.cpz4qNjboTQ9MqAuxx01axdWR13fZgbvR0
ke8ZnKkp41jUrbqnK6VHEQ.rgf6ENk7CEtYTDIZsipHbdzywMSmLDWJv8KKr
PVjb1RwMB3H5cO0gK1sOaEj6xqwxGTIV9fnDcu7YtRWxdO+N86H7YSHZpqbH
EEUnj0eDwHwgwLV9jrIZmw8lRdaEKSNyTNyJtVuPjy5zObUArib110Cl.o4j
T6qDyG.FuzE70ukmOva64CL0YwHHuZLc.yokY1tSGvs+zQdcgZkOerjD.54d
CiHF4eu1sYoyaZbSW4Qw+xOLlSd4PA1RIwm6yvV5SIAlu3FYRMy.VnUklSkR
l3TbIsvANN5wBeq6+Oceje0vECsjvOEoI3eq24Vo6qxOTdT3Ufosg3wJaM5I
4R2SW7WxAqD9MjogVoa+HuBKxGP2zZ742Y82HJvZybdietfwNx73zB3rzhjO
qYxZr6DHY0yHEzEx415LVasFfKuGFpztHZ4OQexuRQ4zm+IeWLF72XNvNpa+
vlYxTpOeiovjC7hh8CFqOu9jf1FvUMsp73Yqx3w6bSCSsLdVJqe.sLdTUFOd
OYYLia1C500OHNcVDxomTWz15V7iXqImpEgDSTFUv5Y.MUY.wqDU.DvhNe.x
lif2Z.jzyzi.yDETQxKUaVoXklOr013gTeYukdFPKkW2qm0gHxZXwoiwCqLh
R0y.hTY.oRG2KYIEFX0fNeeWCMsEtcPPoWHwoS9J5Fd.iK8pIDpYk.u9JAvR
xlkE8jjdVNp.PGp.PIO95yWARIeo.S8MfyB+qPAAK24sEYwzqvHoEFBwOHNS
aBbw.zpC1fx4Q0DK6Cjk+dZS5AanzSP4IgzUH8TMI8PqMG7wNLCh4YCauBr2
VWXOjt4ROjwUmaNaSVg.Szk.S1bAlhrafVnym1N3s5QM0iqAnR9FbV8DbJeb
GQrkoOSKhHPoTjrzl6cfRqX4cpwJvDa.R9XZI7nO8Y5QFUZcos1XOBPpNdZZ
NPIRDH8MdJwg.ZpxbNy4vTy4hyzmLB1TYjPpTYTIXL2oszh231q2M8BiRuC4
HUqi606FN4+fr3kgUdtrJm0B8toezLkbplaXyC8i8ZF2OTtmE2hlteU05zkQ
2MnueFiWttxGZQU236wQTOWoVIpN2Eu.6C7+AhhP57A
-----------end_max5_patcher-----------
領域塗潰しアルゴリズム(分岐座標をスタックに記録)の実装例
v オブジェクト(value)による変数
名前付きjit.matrixにより異なるパッチコードからのコマンド実行
を利用している。
----------begin_max5_patcher----------
5727.3oc2cszijbbb97R.9enw.dvxdX4LxHe5ShVG3cCX.JXXPz6rsW0jyK2
cuKWQACHs6ASoCl.F1lGLfMDffNHCCZ3CFvh1x+XFrzz+Kb9n5Y5dprpNqph
r2o1YAlY6Nmoy5KxHiWYDQ9Sd224Qm73qdwh0mL6OZ1e1rG8neh6cdT387uy
i19FO5jKl+hyNe95vu3Imc0EWr3xMmbZ8faV7hMgAd8u7q91+6+sa9Ye0+2O
8e90+1e8s+BW9rKVd44K1D9ygcd2qd1lsuMa6au7IgOqqd7m79.61Ohqmu4r
ezxKe5GuZwYahOt.XvJiQqAFG4ffaXlSmgJaE6zYJi+6bdEa1e9tOmmc04Ws
J92yprJl1HP.0bovdp6cDnkCRkQw0BIDdmc9MX7SmA9OwvG3e069N9e59woO
7Hc5tobVYESCnIR4PGjcDKjMEob27peyMu7at4Uu5lW8Eilro5lrwLUBkE4b
InMRGimigSJ7zKgoBuOqXjFVPdku6m+uOZDK5BwBs0sLZkVjIQGdUBGrTVdk
zgaSkVKcusvF9BwoEWyOOxxPAMD5hFZDxJoB.D0dFCoIfJizy0LIngWt3ybf
rIIbyrG2KJGjfxg16DwG+U27iudQDqm734W9zStiTjZGIxXUbO+oIxf59meG
owyf5IjidSXQAuwNJvCbUSgNSGvaFC30Q.NcPqdLn0JfJqTvbqvgEZsBlRXW
MpUZk5XsR+GLCRiVdOPqFaGsKcph5dOMCbBzTRmIFFsjwXt++oyLQMtb6VJP
Av9ym8CG+JsVzN1GDvU5.jUEbQ+4y9HB.tbn.2pwJzpsFGt8VA39eGGbud15
e3ns7A0cawbxUUKm4QGxKK59HBPWmtQkbo6n.tEmOClwRiOLM9vj36P5fO8t
edn8uLYShglK7DCgdOuHjnnXjlUyt9pqSSXX8Y+rc3BxjNwzFPIqIDJqSWsV
EjfikbC8pYqVrdwlwCdCiXvWyEfD.9KVrd87mtnI5IPysAnE2FFiL01shaFA
3lOXkWbYk16+kDTg3I479xfhharxSmuYAA3FoUocD3R3gtEpRXDVnlzUDgo7
q4qu97kalwlAVauT7wSRB3cSBNcnTBIK3lhBKpEqDXptbvlpmlCPZKtEqe94
Umc0EWOe0BGa.aV+j7klMnKy1yylmFTh5viZ0kTa26ol8d5Yumg.gApgqzKI
7UgM.RYAYDtd9Ye5rmtXyYKN+71YDtUdvewUWt4x4WDP0IevpkyO+j9PfLjt
QQAJO8weTBdBDtavd8OnqW94gOcvMxCSeckC11XqQUIZHwzXJtjiOY4lpKlu
Y0xWL6G7gePuHAIkan5vBY2b8ww45vRPRygHBBPLkTEx6SgcDBwXhzUxyfbx
DoKwfscrEfOUhzkfObfKMUblv8u34UnLSpPcIf9el5SmPcINPtVjZs6XftUs
t10mPZfCOdNJdEXPkls8KkOhFAq6hILQ4.9GQ.vGr0KtEbkC2p3ISaMV73fa
xBtIWSVvMAKqI2+wO3ljn0laFkV6Tm47jy8etc7t+2xwuOU7+GGdvNSyCLIC
..xGU..7xEZPIlXA..Gikrof+aaA..kztSY5GA.b3wLBzrl4r6TLD.nllP.z
BOBgw.nUYHbBLlfOhD9PWYPPAbtOUZELsy.STGEaTRKIH6bR4LhAe7niDO3s
c.FrSE.1t2Tjr8ujL6vfE6Y.aES5VsURtxm43937oklxa07r0aluY7QG.5LQ
XRCOmvKevAzOvO0eX34rF5rwCkblRHMLmyenR3WV0SmkU4I8GeFNYqqcD6iV
wWejPyzCWBsNDjiZYxXIsl0mMCy3i1YFdmYe4o4hXQztTmh3Fk5xC3vZvGUR
M.NN6JmkXbUccDHs5a4zK7gQLd6w4xgaEVZfKOBwjmnv7wkzEluzDiXX9Lxl
UB0C48CpwseHUc0bLCymBGeX93JBxxmVJwniRX9HPzfZ3AuHMOvTLLebkZTZ
F8xEZPIlVg4yYW9nzQzD9ukElOtlQ6Nk2vg4a7t4y0C+HBPiMgPSicpElOtl
STX9RyibDR0GJRYXtvNBqIb9OTY.Exsa+RLkLtdvxERi6ojs0HY0GTZZwQ2z
50sWdP8HtIbr6vgoUgs57Z.YT1aW2QyC8s5cc3NGdqdr9bOFdJPsj9tNlu9H
oGY5Dg31Dhsh4gdn843fiFJZMUHSAHX8alAiMDZefrP6WTo73fCgBJ4UZgvx
XVS.4RfVb+3msYyUWti.mUNab2rX0Gu3x4O97E2OlnCB+fULlZzWYivEB8BG
9seuT9Dr9NeBl874we1p+AFR7O.rC9Pu1RczAtAj6DEryW.HlltGvFrgQFmO
QNIMZAaaxE5USHjSCQErAmvLZI3MLvnEwVAjRKNN3lZckcclY8QWoJ1r1Pgo
3ZGoLvhfAFefE21AalHQRDzC9zu2ZT3TLzgfbTgNTaBncZEqPPpGtKuQ79VV
vAAkYjL+S9nABJ6vy9EH1r6lbg+C5pYN0GEca4BNBw6y2AT9zEiN2IFdGPIo
CvpHlEksPntd8FJBuyNXOE9DA3sWgwXhcMUgtvQ068ABRSjLBp2AVgSQADw7
kwTRUbsu71qiByRaBcyUAtZDJ6t51AOqOfWPL34xPUPQgp9mt9yV5l1ADpCr
OTf6LUXuNqpQxrF11loJ5ajpLsXm2LzsUY20YUAqOOGgcUk26rLysewQKQzp
7NDpQ.7dDFyC3XlmUviHX7xRjiVVBvD1DjfXjjPQgUTRvFJ4vqeFtPr2FJoY
h0pv3BCwfmvVEV4A+fcShKcBRLfxIXI9k9NKjvIRHi4B035dwoZl5VVLlHa+
dQrRrik+9XknnyVmtUo1sPmPFptqBOjOryIdt.nca8DoS3wGSsPBNHhRkLxN
qB0.wjoW3wGS4.mrsdbDZFdjDM+gWTO71aPBb0Ce6VfAyqyYNS9QDzXs+89q
sfZ0WzX1xyt3wKVQm5qjltxNP0RbXUXo5PF0R5jrICY.FKYHYGRgT5P6A6e8
l4m8oiOH+V83xO3TE0X7nsD1oAAXTmxQRIgDh+ig4rH8Fyh08ImRlNDzn8Gf
wjii6dj1ZeK.1p1F4hG3V8.CO2NcJ5aC2XYiwcqQ2uO2XQVa22YQhlYvX842
JnHlLG9dY5a+xu7+8u6aFMP2oGOmZUDDUBmi3LUcvmX5SCmeAa5e+V8OcyK+
027x+yad4W6ugzbzzW90u9K+Gd8u6qFOMs666JsrxHTFgIpKjK2twv4RXYYc
96u4k+xad4u5lW8u7c+l+0a9Y+Oe2u6+x88wuYA5byBGsUBgwFtfKBYzk0a+
iGpVmgANMiN9hZCko1lP2XKu3YWDj6IkE0RQ.3i1fYqLTekNwIg1dgFE2lpj
6Zo3sna4kaQGaRRwvQSwP8dUMhh8VNEazNkk7JKr3TL5SV0LxHCPR5Qzqi2j
knikys8TAa2jxMSiC1yHa4b8BmT2sZlCGhmzX3njaE.n8WIQt2hu6Y8oG245
sMuFiVRPxA4c3aCzw2NPLmz6ypb6EYI6A4kF6wHBJhwG.EPnadv50dOp3YPY
SwheK6sPyj1juUYtWP+S+7k87nkSU6Yc0OOteomMvd0Y8UEsXpDqNIe7bZ51
yeEkNm8v2kgD98rQ1p6uI99uSY3y9KcD3UW4uFJFcf.zJ5uHV4VSL0eKXz.9
CmILDbrWrQVbuMBDRsVgh10j98mwIXkmCjicYLJPTjJf9zY85Oa4kO4pOa7E
swseBNbsX0068mOpja0zzVRvXi46ZrkRYX6JTY8O9xyBydYB6wq9hvUB+WGB
9we629e7Eu9u4a98d8O8Ww9di+xRuya6RT2LqNhwA.3H0ABnGjfW+W+ae8u3
eb7fuy7c.swP7D1xaTYnJIXlx1uUnvfsdy7UaHHZomzO1ewNk5Mqa8oayjvn
waQOQ10NMUx25guYwfZzw9HwopE0njkkJlcySSuBYGYbWijkxju03nrat5oO
87EEtVcGyELsoMZZQOkJBMUaT2Z7IPez9LRrRqUoP+fO7C7pBa2fkdHK5.gh
VzLTzfLrcwHtSbzC6DKTR7RLvJeYouegGM66+jkWrcIe12e9Sle8lYLBJGoS
JlAaQlDNXKYpId14KluZ71rO37tMkEZ0bGj3qRqR.9iG89dY2Yap+jlrngqk
FeXaM9bviWaSlkfM9shrObzHS04wIZchzPsyCKSsOVxiEx9SFOx3GpMAIU.f
XDYFe7NoDYu4NGGkbrF+YUPBF5XUg7V3AeoFs0xVFlXexauDL8XIXFgLw1u2
XDLvZKKAyNVBVxnc8lifovxRv5reflGAKUNhUZB1wvCTAeLdfJX6QUb9muMA
gnwB8QGbiraUDIONPcQ1mA7XAlKNb6i3VCYVsb8YyqQbkcxRPMEYe3aRBZK9
P9rKC4KBa++cBQzVSJZad2Ch4+itWGDPy0gXqeBz3af9hxJGnWLyQjVenbId
TbvR1nZgPonZwtIiAJHQqUm3Wdw0WsZyEW87kiOCr0CNElRl0k09xqEkLHFe
94DEFCtfx5GVCFxpe3Vw9iWsX9mN96bIyvaBEd6mZKWYv1CdU7C8jyWd4h0w
OoaoEgYwOv8nHqu5YqNa6S01DLa1Na0dxh0aVd47MKu5xc9sBMGuYcR8yeFy
ZBkjMe9FeSFSHJ1+W6hkO45qbh+qornS5jpQ1EFs6UvzUlFcIVPrWx1s5IKV
c.qfIGR7g.oXVNn3U7FM.V+XIfDbzfTH8Pmk5YfSwyfJmmAeRbQEqYVa97QH
uikQtyZCaCkFQa.AcyU3vPz73yxhMz2aQ634WipJcCOJioZhVw1arXyE0OVo
1YkEjB8M2YPOgT7Dd0BL1w3zEaujJOwCLV2qKVQqqKFGiktQytsfqK4Ao35B
umPREr3z2kGk0upTqK57AgrUPX7cfxFw3KBBKH2ADT7Hqx+QV05irE3UlFww
s9Q1eig1n0QSG.j4C.c6.PypTMhbeD.f6YtjHPxyAAAcW.MSHjk3C+MyHUyX
VRcEVxT7FlPH2IrsMhNt5FRShMCRmt3zCQxSe34hevmdd+EuWeiNHr6MTHZl
6mtijJbOfG3v9f.cqzUmX4HlxlFmA5IG5HtbDe7KkpEQdp7AFY6YyE0rBZvt
HKeI0s8HvNZOBgqhhxs3qyawmLwmBdd9va5V9YJwLPrCK.LmYAlFElERlHTH
aW8nY6BZyyYIMzIMCPVfnc+KgtP6UD7WWMoGrPb+YiJ1fPEFQUqCVn8SnIKo
oHp5FU.J2sc4ECqme4vyfCNEpXxAK0ZUtnRVPQUnIO4kJ6AhY.D5DSQ9dCmc
6qJFwKymaSVO25.m8tupXz6rzMfxto2VITIjBliIMvqFZDf0TeqUVYSNVwVK
xDSlhxHqxKFrcG7NsVFYAB+vTegBtsGzA9V2RWi4u7cpGS27x4C7KAjfUQeB
LZahC4bro3PLdIwjVVYXPhf.lEOigWPyUy8g39gE99aFc6s7Ak231q46iOt+
m+9lLbUL19XEaePlXRL.Lof38KB3L.PIQtaPefV39taPXvhIggmG2BRlI0nA
50T11lLlupObxIj0DRk066N2zNygeLhf.KOH.C.BZgIxKHk9HwYE7neAvgFy
FMhL8GpEoB64c9UCD6waZoNFjHLXxmEDHbJgwS131J.0ZsUv78pPoWBwQaoW
lmDPMcBKzh7lRBkOoyTNuhtoTkUTZQIgSozluokDsEPl2tNEiPTpxCkRBmxL
2jXHbJyaSBgmmOJyztAcI8LIyGBY2mUZZW9DrnHU2OSOXorHKuCk5VrSwTJx
i+QPH+iHOgrBAgSYdbKBBE+fYdX9c65LngDouTrjOAQaiQDBxLp+cGfPko4U
NVM.v1FhnmecVZVQBse.U4G8Qhzrh4oyAIzvLLuMvHghov71.yoDk4ILlSnx
bdl9WYKolUdOhfNuumKPspUNWzxfkR0JOOCP4VBWMyR9CWbnHJBXkUfdA8g7
xQH2wsOtb+vMFuKtnysOddm5JR3YHx44mYNc5srtxsGV46ZwRMHXZzmDy0Yy
jN1QzYTk+RHOuvBwITlHX5kEFjLk4oeCnbJyy.UfP23X5dwARwTdjyIaddQA
iqsDNkY5o5g1WWu0UDNvnjNvEFqPpGyEFHzGXjVaYa3fQFNNr1Ik7vG+u892
eJaQUxjZnFUGu0hvUlQ9qEFmJ0FmyXaKE7iHLzp9.i5ycusGbjjGbdd7PZBk
h.4mKNbhlxLS+GNgnjfRlA8rC2ukIcLpXFdd0wv8YmoULsJSWoDCH6l315dC
Zpy5OLXoDZmWwUvUzcXA77JNBtjv834UNCbEg1CoD4Mk1gvtDyekNFjHLjWL
RrrhtuKKUBMrpuQtRVqDd+zgTDpdIPnj6c2pb3AqSgHmWfpJijyTBog4FEUB
JygnLWBhZTf9lon0wNA8WZgNYOp5AM96ooNGTwhn2YacSRSXvhIuJOs0JBUc
pXCQ4SCaoD5lYlMuNEEZQo.ufzw7LAQHF.pvX0NZ2+BFn9ZuFKWAbxy6Lg4J
5JminVp7kNQ1Tlg9SB2BHw73VNTfGSGaQdWAdjpzzgKyr5KHzFfLKIPI+.pt
zXkZGQvxX2jWUKBlEt2BEbsx6trHjcZcMnVVWf.o9XCCRD5yTDCgQDhhFCPZ
WYv18xgpjskmY0nIOTAnKqPPgb61uD2xP3K1OuxbVcsCYrxtGqlWI4mIgrJ4
UNXCT9RcZNxiFzb+WdbN1CdlEaFmP8DBEMdf335aDONNDuFO8CxZ9Ror8rSO
LXoLqISLeHyZRhYPYpu5RiBC1+kX75tuEidTkynm7pIONNj8N0Y.M.JcklIb
+KNnxPZJPyw7xmUnnA3AM8R76wC2GpZXBKDRmpbkj6UyazAoy7NpwkB5YQdY
rBXHzNKTjeWPhnP3lWFqb6tNRlRd9njHuaxLiUDGn5JRK9ntLUbFbT4XLQSs
DSPpJaYpjMp3CAUwBJpiAKl3qL0CfErTst09kwkihbYyCZHiTTrLbK4BI0Pg
TGIsXY3T.UuPDISIRBeguS5gHn2VMmH9FjwHWLoFLlN9bFYICQP3Iy.40CiL
DNi40k2naByBgJBiBRN1TdffHnbrdM1MohclYk+Vsz5XLEaiEvAFCfVatS.U
oKWrUjcPxrgNS.aHrpMmV5t2FjTtkgwp61Ew9vztup9BrOs7NNczy7x0TFcF
3FkTd3oTa5e4AXk0MDYUxgJj7zFx9aqEC0sJhTpA1xSf6xffQ9CVq5NNzsHD
4qULQAahTMZOTc0kB6HforPj.cVFGHe67JZHU4Vh5kruaDeHxnhgoyluLwcr
2u.Gr2uTGtVeTpZzpO5Xr5SpVqCQmqjGMMnyr0lPHIVi4rpBDlJMPdwwlt4K
yVXqxPmhcUdoAOgkIdddjQW0SC4cFx.g0HNHyb6Acl5mmCZDNePdoYFJIbJ6
QnOau4HKLlpP+puNJwJg+bhEAYlRgnRXrFtHztzsFgrdLhP.lOBZuWI6SVqc
SvIEyGCbQvMZoOAJk99bh0ezLNOOr0iQDB5QfYauYI6dhCGGuQYC0WjFCHHd
mDix8FyDWerse6VL+5qe9hUqqeDhO7mbw7OIdoXGu.f72xXwWiwWuZwyWt8O
IdYcbx7Um8iVtYwYad1p3MdyKT0WXGmbwUNsmW9rkasQwS97Sc3tCweC4r95
4QBU3NF4ceG2uv++9alFN
-----------end_max5_patcher-----------
おまけ
上記の領域塗潰しパッチャーの1つ前のバージョン
jit.matrixは1か所だけに配置。
vオブジェクト(value)を使う代わりに、メッセージボックスを値の保管場所として利用。
信号の切り替え処理に、
gate オブジェクト
buddy オブジェクト
を多用して組み立てている。
作成が面倒で、かつ信号の挙動が複雑なためデバッグが大変。