max patching questions

  • i have some max patching questions. i'm looking to merge a Soviet Life Sequencer (paper kettle's verison of tetris) patch i wrote with mlrv2 such that they are interacting with eachother.

    First I want to focus on the mlrv 2 -> soviet life sequencer side of communication.

    1. what are standard / typical procedures for mapping midi controllers to specific objects in max? ex: knob 2 on midi controller x is attached to fader y in a max patch.

    2. i'm looking for the following information in the mlrv 2 patch: a numberbox or indication displaying increases / decreases in row position, a number box or indication of a button has pressed / release in a row. an indication of reverse being turned on or off.

    3. how could i set up the timing system between both mlrv and sls so that that the time it takes a tetromino to settle on the floor is a quarter the master tempo?

    4. what part of the mlrv 2 patch would i merge the sls osc patch into?

    thanks :D

    *edit: rewording of #3

    i am looking to route it so that the time it takes tetrimino's from start to settle is 1/4th of mlrv 2's master and rewired tempo (and then eventually adjustable to fixed quantized rates).

    if anyone has any ideas lemme know!

  • that helps a lot raja. for some reason though i messed something up and the transport is no longer outputting those bangs. any idea?

  • here's a patch that explains it:

    ----------begin_max5_patcher----------
    1576.3ocyYsrbaaCEcs8WwczLcn8LJbH3SoLYS2zoYSWz1ccR6.IBIhDJ.FB
    PaqjI9auW.PJKaqmwxTdiHIHdbebv4d.02u7hASj2wTCf2C+CbwEe+xKtv1j
    ogKZe9hAKn2MsjprcaffcqbxmGLz8JM6NssYMLAB76ZthpmVvEy+uZ1Tsa1y
    hx7CFBgQolKsOD3G.epcLhlExFcISaWmv1VcMoWVwbSyfITw7ACgAyJkTbp6
    F8LoPq3ey1KRHN4tl44VqCs32kDL3gUhK5VHxZSfftvNAC90ZNsbf4E+3xKM
    +L7.iNSkKVvD5mEd9.W6ofILk9J1MLAvmAKkM.5C4FGBzELXASWKApHGz0Tg
    pRVqAo.ZpveLcroBjy.an85gfVBJl1NPMe5WTPkTw0boPA+1G+y+5ugUiZHv
    gFE6gEiKvAqq4ymyp88WkzJ4B1TYivZww6HSNNxk7RrWHiMWRC2ZpL3fSQwi
    6gTzV.vcQmC.BGX8+zf8.gI6DBeDH23QmSjqRKqVCQZvmJlAjVvUNnDhjJzu
    yZXFD5C8EemWMCeilgPMzG8.tV0hWwvRUidifunsmCRhs7GgcXPaRHdzo.7k
    0CQ4IMZsTrKLVPp+3z.RbL5VwqXIOE.s070vsrQ60viRiI8fGEmdx7nssS3e
    ML1SoBfVpjPtraGfRyn4FfeihanxMn6g.FWLT7H9GJ4K3ZVtY6fgt1S3AJ8x
    RFPqm2XVJEbks9fPpMz3J9D7kXuusFGGnjXkASPEmnufCOQ3g7+OxXLUBbkO
    tkqK.ItL0ngrvLnGVD6vmPqUueBipUuuQX1MdkhQqmV.XL.JXkUnmMUAyj0f
    GNCL3FZYCZDKEZ5cngyXVmfVi9owJKnFatRg0o.pqdzDIBIVXoBJLduR2ce6
    RgVCGSr4fGtn1Eoc5udizAi1E3xxCDm5pEkYqEQHYm.9fvQmuhQtb4nClnvb
    e3Hx3vgPRxqPYIhOYbRZ7nMDk1LqY3lhR+Nq7FFBanvevZXm7vU3AyBcFCWo
    8Y3ZqLYVJEbeGxS8P054RlBTklh4kKMkmsxMKnJ1PaUeCaVYokAfB4ro7EzR
    .ciIHWyZrfT31BIxL3dyUdVg5Xx3cURTHf2lFg.7Z0H3csO7wYNVkBZUESfl
    nSAhQnamshzqFgrdA9dspYw2Zkg.OWFxUsRkMjcdcpjw94Xp8t1I4t.UkWi5
    yoFcKcC0GtZMs3S9LBmbDtRgKDgJXLk.lgDulIfqw4XJieCFIMVnpS6Mskd1
    JYGE4CynHq3WanHS32PhPbkczyjvQhUEOrD7cp7cS.Z1K3kHmJROJxw4G4om
    wQGfJV1x6eKcow+cVmIxC0zJdtyf5D+24T1E0jjk022YcEXfDlUy9ZCSLcIh
    K3cGZHmUpo2udKe3d7Xeq2.KeN69MyiSHae+YTjSIWlkOOJvpxijbJD1EF0C
    D43dIEcN6Ya014YhSbmcJbbn0oC8SPedzwSEcLGlfDb3LP+zQCbOON6C1e5N
    I1boSL+w+0.beEfgG+YpFetKta1nui.TbP7p5UQHLoqdU5ndsdUTeVtZuGkH
    Iwo1KI3U5TDDxI6TDaI4qXkPvA3hDad18wxdIelriYOQHoGnF1Rb4Wfv3CHt
    DMZrCA7yl54hi5iFFF1Cgj8i6CHut39ryNru0COGv9zyIpG432eXouQ8I8PD
    QKmOujsKIBYI9YQYYADzmwioElFiEEeIv+GEEVm0eK6xOg3+UBt2iCupjeZv
    pR9jTheZTz3rvc51i2kaOb0kUJld9MapWGshAxoPwfcQsGd3I+2T1vlo8GmB
    Txl5oc9a2e1C7PjJGOXGWPMG7asNYy6q0qBddNSr9gKVvysmZs0JfOsQDwQY
    Tj8YTOpO60jxRiMmZHBKMLNMlfGwBRBQRzw38oq29Kz1M+GD6Mf9jn9qc7z7
    sm1qMY9T28oMkd.1TbZuZSOEmuk.U1aQi5sXjJpWsonCgIqeiR3pksuD2QRs
    lPBLU3GkFZj6XE5jjZ+fH1mdo6JOHr1aunXR+Ve5.BR879wfCD7SdSk1F+Fj
    z5HA2lccgspuiRB8iBhhiRc6Fi6Dotp8WnGbH0L62pSOgKXKgzWBgA9vOt7+
    AeZ9Kh.
    -----------end_max5_patcher-----------

  • zipping is a habit. need to get into the copy/paste mode. thanks for the example, i shall study it.

    also.. question that is boggling me.

    mlrv 2 runs in monomeserial.

    how can i bus in a keystroke extraction system into the tetris patch so that i can trigger events based off of presses from mlr (but i want to manage the specific row, col, state messages in the tetris patch because modding mlrv 2 is giving me a head ache).

    mlrv 2 takes the focus of the monome cause of prefix in monomeserial.

    not sure how to setup serial osc in the tetris patch without losing focus.

    bah that was all worded poorly, let me know if that makes sense.

  • if one is run in max and another in maxruntime, sends/receives won't work so you have to do something like udpsend/udpreceive in that case:

    ----------begin_max5_patcher----------
    654.3ocyWEriaBCD8L4qvxW5kzUXCgE5gJ0+gdqJph.SHtErivltI6p8euFC
    jjsafRR7hhTDFOwX+dOOdlwuLyAuRrCjXzWP+.437xLGGioZCNs8cvEw6Rxi
    klggSDEE.Wgm27eJXmxXWsgIQ5epM.JmIUn8hpOUpeWH9MimgVKJQw78Hgd.
    kRTFnPqY4JnDRQhJ0W6lvbFGRDUbyr50ZbsfqjrmgZaD5Ctsl4UELdNnLHib
    znd95r5dxLviKLy.9akr37tEbarJYiFg+rDRTMJAwSuDHhK0zP8qa7CevEsr
    8aXol4Qr5Welr.Wa60YypeLejpXAHkwYv6TQBhhH3Kf0zyx5NsnwjZ+VngXX
    7AJbYBRHwHEdFgw6QSm9DD+qQPVUoTBNd7ar8RwUw7riz7LjwKvfep+h5lEG
    ddVx3cMjgCOo+32s4VTiETo3IhLmk.T7M6ca684NowMr4.fWSudzFpE0lRME
    .jBTkL4sqKzd0k42p1PBLNLcBUORiqMkFHAX+QKNhuewxi6T51PnQ0MQjgjl
    HaFtrwe4JORMQgN8MYQnMAMiFLzYnE8Zj.O8pbYrYdzVtGXZdLZH+h.qx8ba
    jEkNXJl42rKAw0jMMXHY4pptPIxxxAajLkUWG1x+KUHgGHQ+Tw2tEJQPt2sm
    1GUgRd1VOtGKbroDhQoG1rbhmyQ5KprMVeADKoLeDkTz4szDeLZv3ijSUGy.
    LWU5et6lYQps+VISJpJS5.baQ5yQGWmTPpX7XESWB9IC5MiYCKME3mlKnfkt
    UniPzhAzxyt+MVH4c2gHcAti.RdSKlbGClnSJlhFCjbmTHENBHELoHZwHPT3
    jhnwDBXwz5bOBD4OoHh9AGTR240Y+Evca+Gi
    -----------end_max5_patcher-----------

  • a few questions:

    in the last example can i replace send toTetris with send toSLS

  • alright, i need a moment to digest all of this. i will report back!

  • i am learning a lot from our discussion. thanks for the guidance.

  • i ran through the max tutorials a while back and still find them to be immensely helpful. i still have yet to scope the example folder but i plan on it. remembering all of the objects and learning the monome's role within a patch can be challenging, but mostly due to a lack of practical experience -- this is my first time really 'programming' anything and it's a lot to take in while handling all of life's other responsibilities. the more i engage the platform the more it all makes sense.

    we're all noobs at different times and i hear you on the all-in-one enthusiast front, that is unbelievably cool from my vantage point. ironically enough, it's the other end of that spectrum that makes this task so challenging: cracking open someone elses work [mlrv 2] and trying to figure out what's going on. working backwards is very educational though!

    question for ya: when you say open up the parent patcher and do a search for (insert searchable thingy here) , do you mean open up the "main" patch as a text file and search it? what's the best way / program / method of searching through patches as text for certain lines and then reopening them up for modification / looks into those parts. i've been using textedit.

    ***and if anyone is interested in assisting with this mlrv 2 tetris hackery. let me know! there are always more questions i can ask. :)

  • discovered this section in mlrv 2 through max's search function. i've been working with that the send/receive rig raja shared with me and am having a hard time piping presses out of this code and into the zl compare object (i'm having problems piping ANY of the presses out of the udpreceive object or /press messages). how can i extract those presses?

    here's the code:


    ----------begin_max5_patcher----------
    2244.3oc4c18bihiD.+Ym+J3bU2K6lIgVBAlqp606sopqp6wrSkBCJIbCFbA
    xYxbas+uefjbLjXKZBeLD6Zqw17QDs9ota0RpE6ed0hkqydgWrz5eXcm0hE+
    4UKVHOU0IVnOdwxMAuDlDTHusko7ejs9+t7Z0kD7WDxSu0JeSbT79yuMPD9T
    b5i2myCEph2gYei80V.Q9kCo5ypea8M8eSbjrjJK8u35sufdHKUjFrgKuz+Z
    mXWdf0W4Qw61r+NR2sINMgKjhGnOYXVRVt54ZeiimMa0pqK+E.TOBq5WrRww
    u7bPMAnrjx1IdaQUIAEw+OoD.Uxt5zp6T7ysb0iY4xWKGYkmmqgnlhkETbB+
    YddQbVZsxewxCHhRbpnhq7SlGUdfaMFU137XRV324RTYu+jQ7G5Tgjskmd3O
    P1dz3il2Yb51bdAOUDHzhd8GbvtDw8GmQMu9CAg7S9GarIdwxGyiixRqDlFk
    P0o2+XuS8fkedP9k2QZv1i7GKxxRVGj+bbQ75DdiVjRKffz3MABtHdSSgNdy
    173TQiywSCJKgmJByyRRZTPpq77QtRD+43P9OhiDOIKqCLqgEYM8mFVlMNuI
    KzlVo4V2UYk9sb9lLAu9sbDCVOIOUVsdr2Zt9NS15kV6Mouyx0t1EZX85xb7
    sIU5kN.34Jsd8I9N.og06osfMXEeRK48W8ut5p8+35gu43wfVaDHtpVAUy.k
    bCybyfSOaFHWBzDnHoI8xklaCB+tkc0+giokFoUe462liBGVOgJ8yKT+6VfK
    Rbp9h1peWGxrSGU1+3DQzaamnT6FDscid1EMQEVwVwHURU9QYqZEo8saI3jH
    kzCjd8zR1ey5K.NvR8vpqdYa8+6kCmzCotpxK.cUaNTozyejtgWTD7H+3c7m
    kKr9ixgGY80fW95+4eaQ9iksfXvQw18i.SNlSXkAFCWtAVg2K.YEVu.1WzdA
    9Bdu.D83nbZyK.w+x1wJRbpmLuVC.fbYqg9aHh6WM9IvGoMO3eoSzVs4ojFH
    s0d9gUWzH8u8Oacr9TmtEdJ3cQSzzLAON0BXHi52A4Tn.tWLCmBQjpOjmsoy
    wppisB.VawpBrK2XUSxBhVGj9HRlpBth0ZvU.czze+nHUVKmR+BkR.dGC5AV
    gnKLxnM4p1FH6zfscoccRoA0Wds5QkMZJjz96PcL7qpdd3nnqs17d+mmLJ+O
    .eZttea1vUKt5xkCXkUJGXmlHbUU.0BYdZeSmN8APQhCqvcRb5oVtXYsr55G
    GQEY6xC2+30KgqUyJbDuPDm9559e2qqw3atumhihZt75x1f3nsYkZtZwqzJj
    UsdxjJphp0crp.zOVEXjj5pEDCM2g4iXiTpIyJXSQJ0rYkTCcPwd9ngTM5Ob
    J1UzlLezQXcQtmQVjjtH2yHax26X6Dp2yP4FEumY9.w5Dj5Lujar52z4UG7.
    53RlY5IX614HUveo7Fs9MLu3sMVdOuzSpl2b7x87o+xp03Cmdh8rh2Dr5IGo
    B9KUOAKukUv4idBqKhs8rRrwDUE3O6DaBFwd07qSdT31adI2rOoc5fsSdXHG
    zf9jkU.0V8oH3Ydz8kOFdn39.gHOd8NgZ93pu0eFp8AChaossjyiIYqCRzaQ
    oWKqFOg2IgGc59UTQ9op8rG6drBKRgfucKO2vFHaet6nVNelmoMPFX2yMP1Q
    mj5iBhgg.4V2EmV7MQVVQHBFP0SLuwMQ2GDA1C01ga3ny1fua.J5MGCnSWNe
    iJFePnPlePoHLHgaYeiEbSo+MBiYBQpL1.TjZkQDQ+fHx8SNhZr+TMiHmyGD
    kWV7kHxBZGM96y1eCjgMn9cockLWq+2fRHqaK9Ywsay4OD+hAJo8FqVqdWiT
    h5b93aVnvSNuJcbLfG8dtSueRM1y0pAUIpqzod0YX0i5BmTtgbcMwI+yGsnB
    qx.epHuICLntaHvDY7lqg+0Le1psO1N3hw51MI4OafC.TOHPUOU0yfsikRFm
    Cw6XUxkaEwIlrdzaCUchoyL5lAfOYCRPQfvDdPdqNPz4SNybzvjOYDPTFoxZ
    q0sW6YmHUZOZZH9qIXEcpcoxuxFYfXGYU8zax.RfWMFLfDmOPGFFdUnTOOl1
    EssfmFsb.GVXYmokknxgYq1EZeB5sCLX6XDDreowfLvAdfwsgFO5Di1yXfGv
    4zbKzPIp3ochnrejh.T6GuHyHo7N2zi5.gTNd7MCnUmqpRk924oEwhehfTZe
    RfwQMB9ma5Rc.Q5Y2y236MLh84pxTBOBAizQ8Xz2MAN2zhvwF8TlazYDgbFq
    +bed1OPvo8thLF5LgdFpDgCPn7C4bNqGElkzNlX02ecmjSryQ0HT7QO4Mlwi
    64zzDu1xHVrqOoVNTibYXCplzQtreD6CJeziN1JIKLH4orBQoilU1HlEP86M
    .hYhs5S4TcU8hG0zLBqeAToiMz03TBS7+rkR.xUlS41UBB8uqlAT8OChBamN
    5sBo44BiNrILgyGcg6FAypRfvielWZOYa2Nsn0iB5jzZNECsT.atO.U.6soT
    kFasjJUnR+q2mBUGO8odWiHVYpYJ2hJ+VGeYBPHSuQvmDNQZQlXSuHAsoNAS
    uLQaQl7leZ3tSqLQbwX0cJ0IXbjIFFYpibhPjaFYOcPSudPekUGLxJcZ4Gc7
    32qQcd3n9JsDLRKLsDDFQB1PEDFBcPL9U.+Ikfu4wMnDjPH0Hn7n9JsqvPPu
    okfdiHAanCRF.cP.S+Hvz1OBLh8iPanCRG.cPWu4W7unLK5X3uTEwzugdXGN
    pudAGAYsZNwGGg0CSDycTZIT53Hsti.Zm.Qhrpi7iUu0tdaeecDggecb3QLk
    vV4.R9+KFNbTOEVLNMclz1ZLgXOwCtDoDASlDwP3OgN656nqVnG56vg36AqZ
    XkpN0T3XtyNVZ3Xd.crPFAF2WecnrVmVUQ5XHStJOtpMeF8vA8keTDSu2zNy
    r.EgMQG0xTuZ31+NY0twanU85B5vNPV4A8rZfYDo8wVo7f+5p+O..eTWB
    -----------end_max5_patcher-----------

  • can just watch for the messages like this:

    ----------begin_max5_patcher----------
    1720.3oc6bs0aaaCE9YmeEbBXur4lvK5h0.1.1K6sBLf8XZQfhDiMWkDMjnc
    RaQ+uOJQ5KJVWnhUTj6JJhjLEE424imygWO8qWMy5d9SzbKvuAtELa1WuZ1r
    xjJRXl92yrRBdJLNHuLaVg7jDZpvZt5cB5ShxzeLPDtB73p.A3y7MfkTAXEM
    iN+O.hUzTf7SnYxG44TPHmmEwRCDzb.KE7kXYJIqCxn.dVYIP2JyaQorQlaA
    GDQEzPAHglmGrTBWccGyRog7Mok.vQm3C7TQN6KzhzP3qg5jS2jvRiohRg.c
    HQ9FwtTgGUBoAIkkf0elwBh2UgqKjQV5x6xjvQQZ1DYUHqHX4MGmhadxqfOp
    +FVTY4vu+eeGgXUj12t5phKyMjv0RsUOjObsx2NoVkj3yqoJQvxZOX6kniV3
    cjr6oXfEMH53WhnmReT9wmnpsFjkvhX0xHv9zhuK0PdLOSITvqs8fNKVLW9D
    BQ7vNEO4X6.8kogNR5LkF+qMhMYAf2SiXaRZgNwd9kLnaIQZWzzBJn15nSWu
    JEDMSShZVTh.VbgQTNimdjfNy5P0Qv1E0fa4UGuR0XW2ipOYiyxXd3mnQGYb
    LyJh9PuJD9ZZ5gOnT1pboZNYoqyn4RmEABMzOthC1DKtq9l6pu+gfPZiebqs
    LyrVlwh3oEfoRITj7tp8VUEWd8.9KyQZv5Z9XAmGeeP1VVN69XZkVDoEPPJK
    Q5zSvRpBZVx5Llx619znoAxRXUdXFONtRAody1ZdSDcKKj9HKRrprrNvYU79
    ej9SEKyJo2lEZUqzLvsEVoeLilvEziyRCsfmXz9rWbpg6oFutN19PbghkMB4
    4VZ75i8sQ3JFucX.alQbSFxJOgNvccET0L9DSYqcIW5bT8v7gu4XYvKqQ.aT
    ivqEWhUdCcTrIAesS6ro8OXytYSDwP1jLRr45fvOAfE+6kvojo.mJc6Tby2u
    K6camQhT+Y4PIFQUzxNpFTFUcizoGTa7Hwn2boxnDXEFsa69wRGU.X.1KgRQ
    MRo3tnz4uF5pJOpNK5jYGqNn9Ev6PWxV+DOS0UGKq+eUNSWuKZGpJu.jEc4P
    kLn86Wc8KdVG+7LA3CxoGAdevSu+e9a.9CVWdCqBYqH1cSJj77UB4DBF8Cu.
    FoxhWXpW.3Hwnu6R2K.VOUJ6t7Bf8GKGqWzzoZ0Os6rmeLbzr4uTG2uZJTHe
    Cs4Q9iGidgZySvUnzN64GsXjnze52eYy0+smQs62vSQdiDilxETVJ.47cvzo
    zjb2KlBxcjGo5CY7juGFqpdfUHjSWiUEMVqEPLOH59fzkCq9aqbZY0Mr7pZz
    UNcN5JDYD8KHE7WniglWaU3PZuqm4jAcPMVy1eS54snzMqQRLzi5qgiU8lK6
    0oi0A0nWIkV8mpfFITtPso2tqMNDbqJaan5brT7xgTXKkKqyaKM6v4eaKwiY
    LApOLwgc3t3.2zv1EWhoh2WOEky2jEtSZz9+lCphuHZtn3TAo23+a22+yyy3
    JVTT0MXurUfEslKsXz.D7QiZT6MtcLE23oEtkyIDfLA2dSJbWP2XSf8hIGrM
    hs8mbv1DkaLbZob62GbilL3tFZrAbOsTSvlx2jIldxh937d5nmPfWnc5XZm7
    DzjB20.mF3a2oWm7Fw2SK8jZfSC3lLsvsw521SKbaaHtswSObaxvpHSqIMXa
    p9s8zB2Dm9f6oS+k0LGlVvMd5faScmLsFchgndhYSZ5PumVn1XKxIkJhaOTr
    gWbn9E14tmewlG5.wEqSWsq61UZIQEpO4AaoQ2IqPZn3t.gHic+FgZ83pD5O
    0E+KKi42GDqCVn8qf79Xd40NlZLHKMEdOWcfUFnnGK3S8IxwFlXoyzf.inWZ
    d091S7aKHvPCXH0kGFDSAvqAnqkpxXGm9PQtiKEo1VX8YZXQqTD4+oTTkPIr
    cJxd.onLofHoH.57CMSRiTyb8eCCEs+fa2BE4LjZQ.dd3M4eN+7oH34H+1jJ
    xOpM42aPk+j3raDrXwaLAPPJyB2ihVuF8zhFbFnHLWeq0AvNG2Yiaq5.5SC5
    P5m3FIOrUQD5mKTKzOFDEd9ricmNQNeGIZRDA0mzt16OBNfr3lHI2ERYaofE
    PHb3BG9AOx1UTj9+g.fsZpQpXpUlipa6rhvd9P40zVGqbdaqF59IKc5f2qe5
    FmzHZJlprVIlLQnWcDQLfjPiJGYaHhfiZqVWHxdTQDxDNpmjDYg5fra6qNdq
    G90YBVWOCPa08U70Ws2DmCOC3iBlHcfo2.HgFXEsg.S3Nvjy3BISrGelJ2jP
    C+rr5j+3aW8e.SY5cXA
    -----------end_max5_patcher-----------

  • the example you just shared cleared some routing up for me. progress is being made. i have a new question --

    i want to create a routing system in which a fader is at a certain value while audio is playing in an app (mlrv 2) and when there is no audio playing in the app (mlrv 2), the fader's value is zero.

    how can i route that setup? (a fader that's position is determined when audio is playing / a row is moving in mlr, and it's position is zeroed when there is no row movement / audio playing).

    and i will post the patch once i have a more of the logic figured out, need to rework some ideas.

  • the mic module patch i am working on should be able to do this with a little tweaking. i am just cleaning it up a bit but you could replace the [adc~] im using to get the raw mic input with the audio output you are trying to get the games to react to.

    let me know if you want a copy to poke around at. my goal with the mic module is to get audio reactivity easily connectable to these code bending games with controls i feel like would be varied enough that you could easily use several of these modules concurrently.

  • i would enjoy the opportunity to experiment with your module. i've been reading your posts in the other forum and i am excited to see what you come up with. it sounds like we are looking to achieve a similar result with the audio input relative to game control.

    my goals in this instance is: whenever there is row movement or audio playing in mlr, blocks are falling. when there is no row movement or audio, fall value is at zero. (this falls within your goal)

    i want the mlrv 2 sls patch to communicate a cool aesthetic.

  • a question i have about the zl object & list processing in max:

    in terms of creating a list: i want to search for all button presses AND releases in rows 2-8. looking to have a press send a trigger AND a release send a trigger (to create toggles)

    how do i then filter out row 1 then so that row of button behaves as triggers instead of toggles.

    also, how do i have it so that the zl object can look for an entire group of rows (more than just 1 1 1 for example), that way there is no need to create multiple zl objects. i feel like i am wording this poorly. how can i have multiple arguments in the list that i am looking for??

    multiple list processing is the topic at hand here.

    *edit: zl object reference is helping me out. might have this.

    *double edit: still confused.

  • thanks a bunch raja. i'm going to go study all of this.

  • i'm beginning to understand detection.

    @wednesdayayay

    how goes progress on your object?

  • raja those example patches cleared so much up! your mnmna patch is an epic utility. thank you thank you thank you thank you.

    for the third patch within button detection what role is the 'sel 3' object playing? i'm trying to copy more of those patches for other rows but the behavior is not as expected. if i copy the same patch and use 'zl nth 3' for row 4, the fader does not behave accordingly. is the sel 3 object playing a role in this?

    now the next part of the equation is figuring out how to have a fader move to a certain position while audio is coming out of mlrv, and reset to zero when no audio is coming out of mlrv.

  • i was thinking about row movement for that but was unable to locate the data. what kind of routing system am i looking to setup to have the fader set only while rows are moving, and then resets to zero when there is no row movement?

    *edit: your last post totally cleared up the patch and select routing for me. everything is working on that end. thanks so much for answering my bombardment of questions it means a lot. learning is fun.

  • all very helpful suggestions. thanks for the guidance. i learned a ridiculous amount. :D the patch, while not the most ergonomic build, is looking and functioning sweet! i've built a large portion. need to work out some fader / row magic & transport events, then i'm done! well not really, then i need to figure out how to increase the resolution / window side of java files so SLS (tetris) is larger.

    been working on this patch for about five days straight. a large thanks to you!

    *edit: i found the row movement information. :) now i just need to figure out how to hoook it up to the fader! pwning. i found it by searching for /led. search is your friend!

    my logic tells me the equations im looking at has something to do with (x x 1) of the row movement. if led state is 1 then fader is at x fall value. if led state is 0 then fader is 0. yeah? (the fader is going to be hooked up to the fall rate of the tetromino's).

  • if anyone is still reading this. i have made great amounts of progress in the last 24 hours. attached is part of the patch that is stumping me.

    looking to achieve a triggering system such that an LED state of zero sends trigger (and only a state of zero), additionally i want to filter out row 0 from this behavior.

    i have the exact opposite system working (which is also being utilized in the patch). this version sends a trigger upon an LED state of 1 and only when LED state is 1, row 0 is excluded from this.

    attached is the patch if you have any ideas. notes have been provided.

  • Here's a couple ways:

    ----------begin_max5_patcher----------
    1742.3oc2Zs0iiZCF84Y9U3F0pYForyhAysUp6SsR8gdQp2dYTTEAbRXKAGA
    lIyrq1+68y1PRlYCDmkKA0WBAhw97c746hsymt9pIyYOQymfdG5AzUW8oqu5
    J4iDO3px6uZx5fmBSBxkMaRHa8ZZJexT0uwoOwkO+29cDKkhXKPqCReFcyGS
    tAsM3472U0xErTdZvZpr0+DM4QJONL.8qzBZUS1DvCWEmt7exngbEnbbLu2X
    JxD6Ktfs7j2YbuAZV4KEGI6Q17O7FhYUOkVrNNMgxkXFe.Bxi+nDAXLzQ6ZK
    qfW0XCwC+70WK9Xplbx7BNmkVM1pNi+7FpxDlLOHc4jc38HFoquz5r7sqrtF
    rQiFswWZL3uBiIktEFmuX9MmlfLZ1Dmhlr2Lewz8eSyhBRClbZJvEqXB0jdM
    T.9nTf4wllMqYZ1r6XlhzMAg+KxnA5IV3vntbbBRa+AWaKIAQjLjicSREK+1
    6Nzg7zGSPYzk0xQMHeNa1wzUIlZjc7zWEM.rCGMWy.HsiZLHRRwrQpws8Bmw
    RnG8InxbKdkNXMRPNiJsC3YkxWgL6WeqR9wQFgl3zH+XeY3m5JN4OE1RNB9Y
    nBkBtnJkeI3ID.Uv7xQkiJJNEkEubEGwYnD5BncYQzraK.CHGZEeEMaabNEk
    ugFFuHlFIdiUzjMKhgVb28n+fg94e7GP47.NEskUjDseLWDmkymhfNIU7AJi
    sEAV7bZFZ6p3vUhVtIAlH3zbzRQGTjGrjJ6zmYEnTJLd.vBC1vKxnnfzHzJF
    LBhNa+nFW16R6PR82lxD.XSAL5enHmCMjkA87cBZ3AHmzraO30ygNFdONcIM
    Sh1L0CSxYnadXwra.RQ7kDV.WbijBQKfGJeDvyuYCCd+6JMUg6IJlKoffEbv
    ZEvaY4Xw1PSoQ2V.j5Cb.yvfNqpOAaU7yuMLgkW9FGxgxNVzqaWA+ziPGGKm
    AkVzc2WoARhSogrhToPvsUd.lXYnAShoJ6hLEru2wcAL8uL0hVmKveIn32iL
    lI30HJWvvPg5bgMhBlydjh.qIdAJmURvpIMP1jivUSF6m7jSERQ3tYCoijrE
    BEFnV2Iqt80StSQ2vuQpZxWwxfaEdQ4nswPXLoSmPaB8D.ZXXy.cEKMuRRoz
    1JdRzNY9A3yznbkpXaI7UlY9AdGPqMNtzvokRCklnrjCU8qd10HMbuLRiZxd
    DuWsbzBW+ZKoG6p3DCCUMY2aWeI8lj1WROtSKFCEexJNZE4XiUYSMOnZi5Hm
    yXYsc45c3rkKSn5oMNhIZo7BvD7oWUqItmWUaKsESWGksXngsz2qPeMTMBj+
    9KTsvJPQeKt9h.aYAfUymNxXbpYUbMY+v9su.vtkZv8I0TIObbzfZ7tLTSMg
    5d+I11hVxLUw4TZmxj.033bgzLsc26v1DU8f5r6cV+ub26pn.huF6dGYTs6c
    hhYO23B5SHljC1Hp5HD6QUsO62NS81Py1VHDVsSBpKdMKcbZegPVcbVEidKo
    hsT0f8ka6hkcS4TFWoT9NHQXulSQoUvpki27t7hcGUTCGBIzmTCQFuQsEll9
    MRLNip83k2yZFOs4EqQFu30qzhwA7hUi7h4n6LAvHKD4jE075qchRhHC53QZ
    pbVLt8LFo6XrLzCQzGiCoyhSinO0aosj7CVwOMdJS96b3CYIrL0aabuiMw2v
    bJ7MBF65XK9luoOACO6v5BdAoZbgjgey22yKex03vTcMt7owUltlqerqJAfH
    4E2Fibc7DcVWHdoSKu9b4KOMnqNH+mUGFmGsNI6sIznIchdQY5M+2l.aez3R
    l6hK4ZX64I+lWCgjtTamODmGduYpito2c.cqNniFDTFif37xtSdhOu5e6lz1
    DO+kLcNqHKrhrp1QSzdTEQy4woxyk5fFIN26CZzp3nHZ5g3dcbj7zQKAAZ1Q
    m20FSdiOLI9SGAUl0LlD+CtFPL8pgqFLYLr7jVyc9CKlb0ASdCKlr0POIwDV
    eL45ppb2WkODVET0csEsN5fV2gmAO4rpyv5QRzwizZPwj3XVOIlLImGlvNkZ
    qxyDBu6tt.smLN6YF6G6ZqvGQcbVV6tqknUmjmuh+68oasjf1mWfk15VH7BM
    0QBNbXxTmjm3gMQkogNXZXSToUAhDmwWAhCLlH5jhbXkSNZvRdCpSmkNB7gM
    8nkFSaNCJIoyzF1dvIoSE+dXq9SmR5eYVmdOnjHgh0ol2F1hAjX5Tpar0viI
    iQHlNk.GOrIT70JNvvtiCXcc6F1PSmjkF1XSXScwzYjTwyWrnErgq7BwZ2cs
    ErN8.Xss5IvZ0CfE61OfknyFTPHitRBaUgyvMe95+C32MwUE
    -----------end_max5_patcher-----------

  • wednesdayayay, stevieraysean, thealphanerd, and raja are all schooling me right now!

  • ok for real this time

    and if you want it on the LED on instead of off then change the [== 0] to [== 1]

  • @raja

    how come in the examples you shared with me (and in the example of others as well), pushing a button in any row or col upon press triggers the bang (that's the weird part, it's supposed to trigger upon release because then the LED state is 0, but it's also triggering upon any press).

    for example, with the zl nth 2 setup, pressing 1,1 triggers the bang twice: once upon push and once upon release. it should only trigger upon release when the LED state is 0, except for row 0.

  • this one has triggers sent for both on and off LED status that could be routed accordingly

  • sweetness, checking it out now!

  • it's happening with yours as well. triggers upon presses.

  • ok this separates them while still both excluding row 0 not sure if you need them like this or not

  • ohhh i see what you did with the toggles, that clears a lot up. because the bangs are what i am looking at. i wasn't following.

    i think this will work for the setup. i had been following the bangs and not the overall trigger. i will take another look at your patch raja. thanks for all of the support.

  • meant to direct that towards wednesdayayay.

    i have not fully comprehended yours yet.

  • are there any tricks for sending a "patch wide" bang message to initialize all positions (more specifically all things related to the transport).

  • [loadbang] or [loadmess]

    [loadmess] is what i used in the mic module to initialize everything. i used a [loadmess 150] multiplied [* 2] and divided [/ 150] it accordingly and that gave me initialization on toggle boxes, sliders, and the adc~

    it would be easier to know you were doing it as you made your patch so you could use [s]ends and [r]eceives built into the objects.

    that being said personally i like to physically connect the load messages where they need to go instead of using sends and receives. In the case of the mic module i wanted to make sure it remained modular and could be copied and pasted as much as needed

    there is also the possibility of using the initialization bangs that come with the code bending apps


    ie Address: /PCO/GameInitialized ?Kind of signal this address sends out: Trigger

    Address: /WarMachine/GameInitialized ?Kind of signal this address sends out: Trigger

    Address: /SLS/GameInitialized ?Description: Sends a trigger when the game begins (can be useful for initializing values in a patch). ?Kind of signal this address sends out: Trigger


    again i could easily be missing what you are saying it is always easier for me to see what you are talking about in order to help! Alas i will be in amish country with my grandma and wife until about 5 tomorrow but after that if you are still having trouble post it up and i wil help in any way i can.

  • hey raja what is the best way to open the your pasted code? i opened a new text editor page pasted it in there and saved it then changed the extension to .maxpat and it is coming up with an error. I am sure i am over looking something easy

  • i need to try and figure out specifically what i am looking to initialize and when. i will report back. thank you for all of the suggestions. the game initialized messages are nice, but dependent upon where the game mechanics are at. i am trying to center the system more around the music. i need to figure out a method of completely "freezing" the game upon startup so that no blocks move and i can better sync the visuals.

    as for your question wednesdayayay, to read what raja pasted, copy and paste the text right from the page directly into an unlocked max patcher. no need to open a text editor and change it to a .maxpat extenson. try pasting the code into an unlocked max patcher.

  • oh that makes sense!

    i actually am not going to amish country this week as we just had our hot water heater start leaking along with some other stuff so if you want/need help i will be around all day

  • aw thanks a lot. i plan to start patching after finishing up daily chores and eating. also going to set up the old PC today, built this machine back in 2006 or 2007.. has a quad core and 4 gigs in it! vista is painful though, going to get on windows 7.

    i will definitely be posting questions about various obstacles i run into! help is greatly appreciated.

  • i think the next thing i am going to be working on is a modular patchbay / illucia inspired system where modules / controllers / inputs / outputs (multiple) can easily be connected to each other and was thinking of making it with [radiogroup] (checkboxes)


    i know it is a long shot but
    do you have any tips for working with this object or suggestions of a better place to start?

  • ----------begin_max5_patcher----------
    1072.3oc2X0zaaiCD8r8uhY0Ek.3pHI+gra.JPus6881lhEzRis3FJRWQp33
    sn+22Ynjbbx5T3z1jFj.DKogTCeu273G1eY3ffklaQa.7d3ufAC9xvAC7g3.
    C5ddPPk31bkv56VPtopB0tfQss4vac93uy+2G5iuxncV4+hbaIoQwcg0MURs
    Bc9bkbWPSiqOZ7AYPKp7YH3i0RgpO2aDt7Rod8eWi4tVrOIcFMFPRVBeY7B9
    yz3nX3ScuirvmGyx+4cIoAbruNbH+wnePdaMvNSSXAXzpcfFwBvY.gyIxKoX
    HDpLhhkB85PtAWozBUn0JVi7yRszQTiTJ.uAq24XhMBV13.InvUzEGPpCTh0
    HX4DHb7HB4BMjqj4Wy8PnK.KhvJSM2XsEUqnthPkXsLGLqZGXGlWpketAgyn
    WpvfVcnaOnWhPowbM8PyFOIz8vg5rE0EVPz3LUBmLWnH1JrfxnWyWktPJ80x
    0qIbVbduLojZL2zn8Z0jeMdiYS8Vioy8ViL+kYoOh2H4mo2PnMTMnl0EpLw0
    l8kaRCM52SppizZwcNBt51J0TAf3.JuAAlpVnwR7BtJ3xqBhf+jps9aoTdv6
    y0XpE7yMxaDJBSbou8EEPHm3Pf3IoMm06gHaml5hOcjc4VJkzPycsOqVnPxx
    IUwoVntbYqYeeyaKkjYmZ.1ZZTELtMq0TEdDgFSy5xQ.njWueH.BdN9d1x96
    nZCznKHcJbeFaGmPulUYHmuTuxDcdD7G5VmruNOhZWoLaY54m8zKIsp.KaL+
    Il2oj8j2OewO8nS2XwXqP60dGqtTJDbps9lH3rsV5PN1CpgVt.vyy2nD4sS.
    Qgc2EDEoZNVP8kEed7pE4WSOPjf.fhlKa2HpwtQf.iMuDKZTX8E4aZnRBCLB
    98qebAeCC3y7S1HuEwrkx0PAJTzj2bAWE6Kq78gE3JrN7h1qDaZWBhkkCVUZ
    I6OnzFEEcd6BONVAIVHYuqwWkXBTIjZG8Obiz13W.fQsolKcDNentzpU2oMQ
    GcQgreQaX32nXRL+4zEo9UHhG+HKJD+8rnPm05orgX5Q4WOqaC41sAaoPPvd
    v9jnd5B+dkiSZ2xL1qAIyON2W71h5YY9SFrXrut+MY972VLOd9Iy7ruGlqws
    z69+1B7fs7vIOEYI9EQVF2YHl4Ow3rru04Fm8LIKieEJKctkSQVl9LIKou9j
    kztuXwoHKSdSs7QRGyOkkOF+LYHRd8YHRxhOYCQ5OACwdc4xqpOPXnywbu.o
    v76GXLDGM8dQl3Onnvex59XE+1QOg1zWctwIy7mdKoU1Sl5uj8Xmd6Pc22AO
    8dvO5geT332uXXouKcdOZa2DXDb2vTfV5389y6dPeVP8IYeeJkEEn9POYkrX
    igNJcGDfOcTiwohnom.hl+hhnIm.hxdQQT5Ifnw+.Hhd3qC+OC2K+xB
    -----------end_max5_patcher-----------

  • awesome! thank you very much. i love the max help files they are so informative. my issue has been learning new objects thank you for pointing me in this direction.

    i think maybe somebody should start a max object a day thread...instead of a word a day calendar that would be magical

    for instance have you ever used [offer]?

    off to do some max twidling