maxurlのサンプルを試す #cycling74 #maxmsp #curl
最近のアップデートで登場したcURLのMaxラッパーであるmaxurl。ついにMaxがインターネットと繋がる!と期待が高まり、勉強がてらサンプルコードを弄ってみました。
まずmaxurlのヘルプパッチを見るのがオススメです。タブになっていて、いくつものサンプルがいじれます。上記画像はヘルプパッチの良いねボタンサンプル。良いねボタンを押すとサーバー上のいいねカウントが1つあがる。
更に詳しい説明が書いてあったのは→Use MaxURL to Create a Realtime Instagram Collage
MaxでWeb APIを扱う2つの方法
どうやら、Maxがインターネッツとのリクエスト・レスポンスを扱う方法は二種類あるようです。
- maxurlとdictを使うパターン。JSONでクエリを生成し、それ以外はMaxらしいパッチングで行う方法
- jsオブジェクト(javascript)を使うパターン。XMLHttpRequestで行う方法
それぞれの方法についてCycling74のフォーラムにいくつかサンプルパッチがあったので試してみました。
MaxURL Weather Report
Maxから天候を取得してみようというサンプル。このサンプルは、maxurlとdictでAPIを使う方法。
天候取得クエリ
{ "http_method" : "get", "url" : "api.openweathermap.org/data/2.5/weather?q=Tokyo,jp", "response_dict" : "data1", "parse_type" : "json" }
元々のサンプルはロンドンの天気を取得していたのですが、東京の天気は、”London,uk” → “Tokyo,jp”と変更したら取得できました。
MaxURL SoundCloud
MaxからSoundCloudのAPIを使うサンプル。SoundCloud Developerの登録が必要です。例えば “livetune”と検索すると、ヒットしたURLがumenuに登録されます。このサンプルは、jsオブジェクトでAPIを使う方法。
ニコニコ横断検索API
サンプルにも慣れて、そろそろ自分で一から試してみようとAPIを探してみると、検索キーワードに関連したタグを返してくる”タグ検索API”というのを発見。将来的に”あのタグで待ってる。“に組み込んだら面白いかなと思って試してみました。
{ "http_method" : "POST", "url" : "http://api.search.nicovideo.jp/api/tag/", "post_data" : { "query" : "Free!", "service" : [ "tag_video" ], "from" : 0, "size" : 5, "issuer" : "apiguide", "reason" : "ma10" } , "response_dict" : "data4" }
こんなクエリーを投げると
レスポンスが帰ってきた!しかし、応答のBodyに対して文字列がエスケープ?のバックスラッシュが付きまくっている!!!Maxで消す方法がわからなくて、データを利用できなかった。
取得できたタグを見ると”Free!のためなら死ねる!”とか面白いですが、タグとして抽象度が低いのは使いづらいかも?!maxurlの使い方は未知数なので、今後も情報収集していきたいです!!!!!
jit.phys を2次元物理エンジンBox2d的に利用 #maxmsp #jitter
2次元物理エンジン
Max6から導入されたjit.phys、デモなどをみると大抵3次元で利用されていますが、設定をすれば2次元でも利用できます。2次元物理エンジンで有名なBox2dみたいな使い方も可能というわけです。AZUMA HITOMIさんのVJでタイコマシーンの上に積み上がるボールは、これを使っています。
設定方法
jit.phys.world のアトリビュート @remove_plane 3 と書くだけでZ軸を無視できます。
大量のオブジェクトを配置
たくさんのオブジェクトを出したい場合は、jit.phys.multipleとjit.gl.multipleを使います。jit.phys.multipleが物理モデルの計算を担当し、表示をjit.gl.multipeが担当します。詳しくは、後述のコードで確認ください。
パフォーマンスは500個くらいまでなら60fpsで動いておりました。またオブジェクトのスケールを小さくしすぎると、物理計算が正しく行われなくなってしまうようでした。この辺りは注意して利用したいです。
デバッグ表示
パッチ
----------begin_max5_patcher---------- 2043.3oc6asrqiZCFdcNOEVntLMBaCDRWk1WiQihHAGNdFBPAmykNZVLyzNR cW0rr65tV0tqa5hV0GlSamk8Un9BPfDfPxgPxTM5HAJ1F6++O+e297hqFnMO 7NRhF3y.OALXvKtZv.YShFFj96AZqbtaguShbXZKBWshDvzFp5iQtiIaG7LJ aTz02m.d30u6e+828O+xO72eyad+29Su+6d6Cu9Ge3M+5Cu923O+hv6Ptu+6 +5Gd0O+W+we9vqda1LErdEMvmvjKCLswkgAr.mUD4R74wTG+BCObMKa75osF 4vVbMMvaVLYASwV3IizGBvnQHS7Dcqg.SjsrE7HcvSS+NpqbEBm+rOEi0Jr3 KcVP1lfRnekrMjwnr0cYr2bIcLRWzvKu5JwigsDSWQRRb7H6fowjDBqR7AsW 7QANr6iHJXPSKmYKCcv5gNHRhcvwlR.ar7G10.aPsJfHH5n.jk9gbh7HkL1g y4ylCGFAZycB7pCFP0CCll5BNex3MhPxFP5UCEvwZ4SVLmDYj3Yj.m49jhhp c.LMeMiEFzHLsCXzDFzfnfIBJ28w14f.pYP.pcDbjCiEul1Ua7GCep1ZKwmP 7NLpfNkDfKMWLsHya1gJCAja4y4NFGD1aCBoID.BHkvwntB23S8rUNrX5cBs liQiIUZYrQNJB0gMItflzgHVc9nVDFjvhcnALPDcwy4zb1Pluddp5I7D6NJE Zvi02.MPKQSF0AM5UBM3pb9ThcRntJ+TcqPmvI+HA9Qh6LE0GkXlA1rfXlxp DrFrDWGV1ghYtj4q8.twN2dVjvrrv6HgoPkZkvfWVRXd9RgLABdFcEjhiGhz EpCktN6tBy3endi7etqvzPbp.VL1i3kXye1sTW10hNrL9vDuxrF0V7x8dNsP WjTEhYePH1XqtNvBtFnWL0M4ZmHBXp.y.heCl5rlExCMft.neoEsAFqOxTer MDwQbrQiAmZzOwm4QBNMnT6vL7dwLTAgUCbiPFtNHq3hPhSApTjhOZpO4FRb BkmnxFNmqFDEUn4AE9DA79rP4DYMLuIZfpIXdSwjanYeucdqNwbVkw4y0wJX 8NaKMUm7szqx9zbbPJmLQ9zJ0KoYAHfu46sHzWs1Og6.bxvBOfkGneHOnH2B tm46iQj.ZPjHS9.FWuQQt4c6RV5r1mMqZLsb+YkhnxNqTJZflPoMLPPDk9Ro tc5xwSyWldu34FlQNh.mnJ93DNerNYtSr.9SioAk0IKLzubW463bsHm.JWpk vnJhEomOozUQw73xKsPJGJWmrHNz2uzTo54lJ5wkKTrfjaYTuHTxGNMJaKPK GibodjDV41XNdIkaoTgxJJsVz7Po1axLQYSExxD.RV33S3TLr3XJY1PuPG0u o2r+r58oUeUfjomjVDDqsMRrsgBKssnxsMuNHyDapNY2imbdCfpEEgsFEqLj 68.SSfapUVSvj44GlnAfKMYszpuHMGi02GFBuLD0f8snVppXKkzLNPTZiS.e ZPc17jTkn+pgujv0wKxjGRsJ.JSgb6wLZPtKwmjqVr03tl55V1CjxnchvEfx Yaq1pOTJF1RJ1ninXvSuZSKcZj7q3AIPi39VtkF3FdK.Cl54K84j.hBSnBFB DGxcqSRcBMk4D6QX4w8WYPr39tNOnIl4A3an2b.9n9I.eYsvxw2ohetMvpPz kgBoqN5nbNQ4BXsIW.z3IMAuV8H5daXrOOwS4K9LMSgmvQiGyevCWBLMlrJ7 FxrHem.B.elqIY5YlgTAUiwMlTUWdLA0cHhKW66yi7kPB.eB7LdXhomCK2qU lPls5.EmTSwzL6vhowB877IG1IkISG4XYSSXKOmLjUiGVX2oPEA3I.UIBne3 6+G4oHZAGYVFbLPMVP0w6oNXeXVzAjz1fkTRwxPUzAa8OVKgOVKgVlPhRaqU ocbPIVfrUQUgTuLydVWpE1EIgriCSxp8S1WIDePtMhZcrcL4vJMvMr4bYQsB LgpLz1s5p6Xr67mM6yI2eJJHfPYbXUuZ.bMZG3BkVOMmH7qzkkJ3jjDLpkoT Z+AWRvntNI3T+6IN2PbmwWA9F+LwImQmulo1NJ5u+w5Za+tNO.68URDMr30s n7P.l63mFgS92VgakSRcCRqUP5qoKS311Wy8Fy2lmJnVQfK.rE+WyCicIw.n XPNNp24CNatExbKBWqbOf5nTz1wHc6SSSEltABmGIJ1D0z0BEZ2g4pc1Oq5z rTwS1v+vJtTi4mUsZOthSp1nKKEfPtaYThWGBMOFoCjJAUacUFc0jhROcRx9 ihIAB8rLMxvX10gfN6N+8n0kPlp67mkUSo6Ze5gKFXN+ORrSBoqAmr2pI+vq zFtXsgrF2DPM9zCTe4JBKNjui0UUE5HqJ.t3sL2xrIToKu2F8cMgfapEX8LH tmpFjeniqRZtC0PNVjQcnxVMeex++j6WSK6su8MH0+UJU69UVy6ptm4s4VSK mtxown.osSFHEp1II.bor.ZyA2saz+6F4+N6YskbraA0f5MpYbKnF6dkZPWL Ti4EE1.aC4H9+PnunG3kE8r0RUM8HtFf8E9zFUKn4EF8.6u8Ki1H+zeVBQsx vbOJ+boIOKVJ39nGTIK3mR5wpsjCr2HG81PN8ytkQqnm9y6UaT1G2aTCtETi Q+Y4oMVlQV8G8zFYGT+44BYdYIKCai3i0kkgYqdyPXaBK7X8ZoxEbqqAgfP1 55Or0UeX2q8PcW4A957xq9OPcayvc -----------end_max5_patcher-----------
Max6に貼りつけてご利用ください!
Recent entries
- jit.gl.gridshape の matrixoutput についてのメモ #max8
- jit.gl.pix で簡易モーションブラー #max8 #jitter
- jit.gl.pix で Gold Noise #max8 #jitter
- Gen で配列をつくる検討 #Max8
- Package Managerで配布されているease objectを使いやすくしてイージング #max8
- Node for Max を用いて、定形外のUDPデータを受信 #Max8 #n4m
- 平ハウス物語 – 山田尚子監督作品 非公式ファンイベント
- The Splendid Expression – GITADORA×NOSTALGIA
- ghost in my place【from DEEMO II】
- EP “Boys O’Clock”
- 7th Album “多次元宇宙論”
- LEON.jpのWEB特集「大人のいい時間」にAromが紹介されました。
- 音できらめくキャンドルライト Arom(第2世代)発売開始
- EP “Strange Story”
- 都市の呼吸【from Cytus II】