SYSEX Output

Learn about building and using Max for Live devices.
toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Thu May 20, 2010 10:27 pm

Just discovered I can use

Code: Select all

sprintf %X
to convert an int to hex, so the JavaScript isn't needed. Still can't work out how to create a useable sysex string that can be converted into an object though...

I've got this, now:

Code: Select all

<pre><code>
----------begin_max5_patcher----------
1029.3oc0Xs0iahCF84jeEVH02xFYatl911c0HMOT0WqTUUjC3LiaAaJ1Lcl
V0+6qw.ILc.pCMkMQZFB4y2Nmy2EamuubgyNwiToC30fO.Vr36KWrvXpxvhl
uuvIi7XbJQZ5lSFUJI2QcVU2lh9nxXG42ZZufqjruQqLifqgMlyIp36Y761V
PiU0qH10W2Lv2q5oKds+J.JXMD7wlgvRLSsX2m9qn1YmWlw3oTkAM3iFEkpV
qnN.gSxL.w4uKXjTvaDoIsyT8HTOkSqQiiC3iUs7ikKqdr52TPBlhf.g1JHg
WcBh6oqGnf.a0ifqN8vKZBBhVDrTP7uXEjXQVFkqdoffAtP.zE3g.va.OPRK
omtDswnPH+5ml7ITT+RjWuRDpWIB9KjnyYfAZJkRqocnIgIxcrHC7lquhoAS
HPXisoJ3K2cW3zupQ3Kzi7B1wDH6kDuHSPRfIqv0crbCb3+uIGCPbog46Au5
8+zeSH9vjpfv0ZR3nUJv8u8RvuSDRrHUTTCE35nPOezJ8KXe3lnpWB04xdgZ
H0AQmofpT1Cz0IZ7zBEBmKTDESvMs+OkJw98faJneojxiepsaOPJNvmWLG4E
TotptYV5nx9FU1yntdlbQuvNLpufz5JYtCMhNqSW0ti2xczP2bRglDJZwVJm
rKkNbXcaA.RrRy1JxdV7Yq.N6SEDMca6ijnm9sDkpfsqTQO9lrwK13FqbA5M
EE6aM2ZuKqj4TZRJKqSh4yaWQykC0H8wbAuZy4JQYce8njyTR0S05VecHSGq
YRNbW2eyLieC1aqs5Dpm1X5UV6C5315kd2KJNl1UGJ6z6r8.SxFYhxDIMLAg
C6ErGSa1dXA6aoRE76NzgaXoZafgAV05NlDkx3etZ1jiAbQxf7hw2KFDphhD
ZwPiz35qGZcil5NsebdJvqDxmx1IRO854QlB4MGDx2ezx4mxI+tH1vWWuHYG
ge2TtCUyNad+ZcAMG5hgFm2CCQyo7DPLIMEnGvVkXaFKgM4Pn58rPie.ITzU
WLT0V15Fpn6Tkl5CMENdTD7Z63zFkQS56mb5UaYGznBC9DBYbmpvrp4+y5Ev
pDGPrFJEhzsxxh8jXpD.mtdAqO1MtNGafKlgbu1hjd6s+6sf2UNgDL7F3wBz
93Q295h7pYFpeKexLGa3r23Ec6k4v+fwCFTnKPv+4elbCQpr+bkRJJKhampl
enVvQtjPkJF+vkW9vwqWBbOzo6YIITdWlo2NKWnu3aCFFHh0VHEXKjvyFj7s
ERnYCRXqjom6duLvj27hoHa8cWZ5zlYESVKSdyFjbsER9ymmyyBLghlUOGxF
cp5vcyIlvOqX3.XBNqULQV46bmWcxlP74EQ1THv34lJlze4GK+OPzFBmg
-----------end_max5_patcher-----------
</code></pre>
Problems are:
1. can't get result to update because only changes on first inlet of sprintf cause result to be evaluated, and the value from the control needs to be at the end of the string. Also, all the inputs evaluate to 0 unless message boxes are pressed (this is probably really basic stuff related to events flow I haven't got my head around yet)
2. resulting formatted string doesn't seem to be a valid input to live.object
3. I get multiple copies of each value from the control. It's set for Int output, but it seems it sends out multiple copies of the same integer output value 'between the steps' when the control is operated, which seems a bit pointless. I managed to work around this with my JS earlier, but there must be some way of stopping duplicate values without using JS.
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: SYSEX Output

Post by pid » Thu May 20, 2010 11:20 pm

sorry, just heading to bed. hope this gets you somewhere...

Code: Select all

<pre><code>
----------begin_max5_patcher----------
1848.3oc6as0aihCE94zeEVQceqakswFS12lcWUsizd4k8gUZznHBwokcHPV
voa6LZ9uOXaHIsEB1DhCOLpUgVff+Ne93yMe3KWMY5hrm3ESA+D3CfIS9xUS
lnNk7DSp9+ISWG9TTRXg51llx++rE+6zazWRveRnN8lvnOAf6+o9FR2tNaqH
gKTeaT0Y2DJhdHN89447HgdzCv92BuAfB7jGlwjehQ2BAer56neLhm2v0ego
S2co3kJLThqejxpG4UYohzv0p6d5uwSdjKhiBA+IeK+vaoH9ypaAgKGwcXNN
sFx9xy80qtR9wMFxQq4EEg2yeCIUvEVyKTHQREdA5C3aokjzL64Ex.yK3dvK
K1JDYoVSALTfRaPoYfg0e1NCrHL89lYA7zljETOjkVVGH.Kp+oY4jdL4TMGS
URKyq6U.J47lNN1HO.GXsgAjA+bBH5gRfyal+vGg+fJlyiNSdvGafIjaZY4B
Y1HX4RKDzwXGuiXfkoztPdHkRFzL1INUTenQdJXDnH8JyslaZkQkj.gnzWPH
sCH6ssRniWkkM47M7zkfnvjDP4WXtHa953kwVSV9yTKtHPMK44o8VaOYgZjr
dWdbXB3myRV1HQAaQaoFu47BdpHTDmk9VL64qN.q9.7QGpiMCoYM79nZ5gFl
2XvbTaQ0fH.OHvCPPf65Sfed95HaTGlQUA33aOEwFP8J7w0qBHPMjOc8pVW1
VZwE7te+ualNgGYcp1LFVaaiRdyxzC4L+gbs3PpRQsWMBosHomSphS1d0HL0
gpQAAZaovg17zNhz2dhjwBFBhzC5Phj5ctIRO64QBYP3QjC4QzryMOtOfQKR
+CNHDI1cDIKfNTDYT1507TwaIRrzqKT41EdG3wvjsb6cVvTXKPOsqyInUmEd
tKvMFQwe5fmNOFF8sOBXFaPzCINTOjhGJ8vj3G42trDi0vKLMMSOfpq+KaEY
qVAtKm+ea4oQOWeaOFluSF28L9.5iVmceftBXZMVssUBqqzWWkjEdPlqGRSG
Nae3zyNOlgQhR7JgaTVRVt9oBusLOZJRxiXJbVf7OXHlOgURyGflMg4kRsfm
OmmFtHge3nYWJLz8qPaPpKBKg37PgHOdwVAe+eUTMWVMYJmHJsPjsp9z0m+P
nttbFWUySuZssWc4XEqAa7p0LOpgqEmFKJ4wC3hldBEOjkueAgVgZZiOsGiK
hOxCZc1xJIAgYMB18Juy2MfMMTIYo2u6FtKNo7b.Mv1qB+lg9XrTRb5mjOvh
ig8rksJZwoqxZEsY4K44s8M2VNGTz5WsXCmuLIdcqyMB9lVwL+oMYoRmTRF+
1VGbwyUSY5qqL.UeXXRapPk2zJvO7Ou52dDzgt9qDc4NXvdVtCrodM6gMFSb
P32gChWHlmEOsW6CtFCt1CbMAbcORGQWTbLb19HB5QETvvQbM5BOssNqhhp2
5LXO25Lj+HXqyNx1pDacHCnYUDCaeDalsiJsUu6YiuxceJEMwqhfz6URuCoM
XHin8xV8ipMO5TYD1HkQruLFdX5PPH9iTBoG0i.W4D5DYD5ElQNqEV.S0bjd
O66nxBjQZUn2uUUVXPUI2XctpkNj6YUnmMVsnZeYSv59Y3TWtfuzNYN1N0X+
5CntAmz6LYCal5gRN6Bu93rmrElR0M3yolrk+ENYqKcc0rNBYLrxNM5LWUsQ
UQ0X5Vfg98ZpMtpo12Kn1XqfZhrhmWuHKwdS5DcN25NkPuTqOVzIiSeekF.W
pqUfsAHp2hU7Lro7RqMwIZjxMCVKmUqC4SNsVNCELRUhjtsKufTf6I2PzIXw
565KDbbFUshZJE6GrtMWqVfUa3AY.wbyQZDXDdjlbpjb.QkCZdVx7hs4qBi3
E8n3w07UU2uVkvt84mg7FmZR+w6+02C9qs1mhVcaAqBbCTsQ5skh13z.iR1e
u8uvE0httsAH81t6.xJvdvJaBS4IVOuip5S9.koC8mRJnw4czf89jzOvV0d.
UoLiqzRw9s.2Vd8WNd1RTeceuDb5c6Z+Dx.+pF.C28LBk1GQ7kivEPDYPcGE
q8p2gH52GQ7kiPihnZvJc8l952HPEfkm+kxcQ117nZK.0ujYf8XdIuPDmtqr
.eXeurevM8P7xk7zComxXE2jEmJp.QKyBCJljuAGtDSXCvj7czxkXRNbjNvD
l5dL40k9zEfmvcgIj6wDpKLgcOl5zV.woXR1LNcaKvs1md0v0Blbq9jG0DLE
3VdJv.LIagE.0cXBYpuEjyvDJvTevnw05N4Kv0nCS9NUGG4a.lvt0eGlZ55N
h6rOAMESdtCSHSwD1cXBaJlb25NOhoXxg53lnO8JCFmaLYRXAXemCIjIPxcd
fMwHtaimyH+uH2ZC2DSStM6.jQVAb6JNYo96T+FAcazblnfib6bG1n4N2lcP
foVKcWPJXiBlysFmvAiOuJlwSjQHlXtsfJlN04NqS9lBI2ExKyTH02LCJ+mu
d02fETwF2
-----------end_max5_patcher-----------
</code></pre>
3dot... wrote: in short.. we live in disappointing times..

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: SYSEX Output

Post by pid » Thu May 20, 2010 11:23 pm

AARRGGHH! sorry...

Code: Select all


<pre><code>
----------begin_max5_patcher----------
1844.3oc6a0zaihCF9b5uBqnt25VYarwj81ryppcj1OtrGVopQQDhSK6PLYA
mtsyn4+9B1PRZGHXSHNbXTqfVLfede7qe+xlub0joKRelmOE7Sf6ASl7kqlL
QcoxKLo5+mLcc3yQIg4paa5Zddd3C7o2naSxeVpt909fqwfq8.WS.WSqaVrc
c5VYBWpdXT0U2DJidLV7v7LdjT24zYvag2.vHb4oYnxinY2BAer5YzuF4Ka3
5GX5zcMEuTgfzE+yORCp64UoBoHbs5tm9q7jm3x3nPvev2xO7Vxi+r5VT86N
LGKpgLtFxY7btPFJiSEsBaX0AvGKenud0UkGtwPhUv+uBI3a30MgQeB.2+i0
La.1WQlAdJlkowq8LKafYV+dvQso7kyk1qwAIkTgWf9D9VZ+z3HCsFWO3kEa
kxTg0T.CEnzFTZFXX8w1YfEghGZlEvSaRVPC27.IXQ8OMKmziImpwXpRZYdc
OCPIm2zw4F4A3.qMLfL3mS.QOV.bdy7G9H7GTwbdzYkm7wFXB4lVltPlMBlt
zBAcL1w6HFXYJsKjmxoEEZF6DKj0mZjmBFAJRuwbq4lVYzRRfPT5KHjeO8lS
niWkkh.B1vEKAQgIIfhGXtLc953kwVSV9yTStHPMK44o8VaOYgZjrdWVbXB3
mSSV1HQAaQa43g8TgYO+fSNrm9pioCQj.w6ipoGZXdiAyQsEUCAC7f.O.AAt
Cfeu8Q944qCsQcZFUEgiu8bDa.Ur5Hd5.BTC4fyV7zYElbAu629qloS3Qlnp
sig0F2njuYd5gbl+PNYb.0oP1mZV.RaRROlTEnr8pQXpCUiBBzFSgCs8ocDo
u8DIiELDDoGzgDI06bSjd1yiDxfviHGxinYmadbeDiVj+GbPHRr6HRV.cnHx
nz0q4BYKtcgJ+tv6.OElrkauyBlBaA5gccRAs5rvycQtwHz8EX67XXz29PfY
rAQOj3P8PJdnzCShehe6xBLVCuPgHU2gp1e+VY5pUf6x3+6VtH5k5a6ovrcx
3t2w8nOZc58A5Rfo0X01VIrtxecURZ3AotdHMc3n8gCO67XFFIKvaIbiRSRy
zuU3sEIRSQk7HlBmET9GLDymvJn4CPylvrBoVxylyEgKR3G1a1kCCc+LzFj5
7vBHNOTJyhWrUx2+W4UikUClkCDEVHRWUe45qeHTWWLhqJ5oWs11aZNVwZvF
asl4QMzVrHVVviGvEM8FxeLMa+DBsB0zFeaOEmGejWz5zkURBByZDr6Udmuq
CapqRREOr6FtKNo3Z.Mv1qB+Mc8wXojXwmJeg4GC6oKaUzhEqRaEsoYK4Ys8
jaKFCxa8Qy2v4KShW25XijuoULyedSpnzIUIieaqct7kpgLc6JCP0mFlzlxU
4MsB7C+8a9sGAcnK.KQWuCFrm06.apWydXiwDGD9c3f3Uh44YkgNsEFppp30
KLDrmKLDxeDrvPGYQChs1eHZVEwv1GNhYqWPaUyc13qXtmREA7pHH8JAz630
BFxv0tro1WszHmJivFoLh84n6goCAg3ORIjdjrMtZSMbhLB8ByHm0rlwTMGo
WQ5NRalLRKw59EhwBCpJ4FqSDqvgbOKw5rwpEU6qI.VuZ8m5zE7k1IywVFB6
me.0aeG85t0vREdnjytvyON6YRfoT81W4Tyjv+BmIwktnQVGgLFVYmFclKYz
nphQL8F7f98BFMtJXz2qVzXqZQxz7WVuHMwdS5DcN25sAfdpVernSFm99JL.
tTWq.aCPTu9g3YXS4kV2hhnQJ2LXanpZcHexosgpPAiTknR21EMTJv8jaH5D
rX8c9EBNNipVQMEh8iVuINqlfUa3AY.wbyQ1lqH7HM4zRxADUzoYoIyy2lsJ
Lhm2ihGWyWU6sypD1sO+Lj23TS52+vu7Avet09Tzp2zqp.2.UqRbaonMNMvn
j8OX+mSPsnqWSbRus6NfrBrGrxlPAOw5wcT0t.OPY5PerjBZbbGMXesD8CrU
q8cUJy3JsTreKvskOtiN9zn70apifSeqb1OgLvuZ2Mg6dDgR6iH95d3BHhLn
d6xp8p2gH52GQ708PihnpyJb8Jd6GRnBvkW+0xcd51rnZK.0qfHXOlWxykwh
ckE398K26A2ziwKWxEGROEwJtIMVHq.QKiBlhoxOqqNwT4tGergoxuYBWhIr
AXp7qhxkXpr6HcoOQcOl75Re5BvS3tvDx8XB0ElvtGScZKf3TL8FygsXKvs1
mdS20Blbq9jG0DLE3VdJv.LobJRcGlPl5aA4LLgBL0GLZbMuq7KlZzgIe2Ze
hZpNNwc1BflhIO2gIjoXB6NLgMEStSG2iXJlbmNtIt6vtGRHSfj67rXhwI2F
mhQ9UPtMVbSLC31ndQFMiysYkWVV8N0uQP2FkhIJ3H2N1gMZrysQ8FXp0R2E
P.1nBO4ViS3fwmWEy3IxHDSL2Vn.SG5bm0IeSgj6BujYJj5aT3E+yWu5+Ajt
1YIB
-----------end_max5_patcher-----------
</code></pre>

3dot... wrote: in short.. we live in disappointing times..

amounra93
Posts: 432
Joined: Sat Jan 24, 2009 8:16 pm
Location: Arcata, CA
Contact:

Re: SYSEX Output

Post by amounra93 » Fri May 21, 2010 7:27 am

Running amiss a little here, I think.

Why do you need to convert the value to hex? Its going to be passed as a decimal number between 0 and 127, so you should send it to the Live.Object as decimal within this range. You also have to preface it with 240 (sysex start status) and append it with 247 (sysex end status).

Don't forget the tosymbol in between it and [call max_to_midi]. Python needs it to be a tuple, and that's how to make it so it can use the value. If the value being sent is outside of these criteria, it wont work. Otherwise, you have a good start. Remember, zl is your friend. In addition to trigger, you can use buddy, or you can reorder a list pretty easily using one of the zl functions. Thresh and Speedlim are other good objects to get rid of unwanted throughput if the resolution of the change is interpolated in the synth, or you just don't care about how smoothly the number changes over time.

JS is wonderful, but I would stay away from it if you can in the beginning. I use it extensively these days for accessing the api, and its especially useful for dealing with arrays and such, but I'd get the hang of message ordering and the basic list functions. Everything your trying to do can be done in a small max patcher with nothing but native max externals (except the M4L objects, that is).

For the record, though, inlet is a property of this, I think:

Code: Select all

function msg_int(blah)
{
    if(inlet==0)
    {
         post(blah, "blah\n");
    }
}

pid's contribution probably solved a few problems for you, but might've caused a few new ones as well. See if this gets you moving any faster:

Code: Select all

<pre><code>
----------begin_max5_patcher----------
1880.3oc6as0aihCE94zeEVQZz9RlHeEH6a6NRU6S6S6CqznpJB3z3cH3r.o
WlQy+802Hk1RRvPJSVoQsJTvD724yGe724X52tZxzkxG4kSA+J3yfIS91USl
Xtj9BSbmOY5l3GSxhKM21zD4lM77poyrsUwerxb8+ZsnDn9sZMGTFugCDo73
Yfk6p.OHxx.aKjKiWl8DXIGrQVvA7UqDIB0iBHxMeqLY9cfhc4y.7xs7DQbl
5tWIK.wplp.xUfDYdUgLqbN.T2+YhbdhbWtADKbWLe2FQdFuxfXj6haiqRVK
xu61BdRk0hivKlCmAvAX8gHn9SDRc.byyOI4tp5GEzcUQpwjkK+mOFfpQxJE
3xUFtooeqPAevuKyRa1bo3qll0cQMpJ3kJNHtRHyafrPXnALLyAn6CvM5uz2
u5J8GyNSCXK2IxRU7BPlCdXcbE3I4te4dNHNqfGm9DHUlqFQkfUwEy.w4ofG
jEeobdqC.DOG.nHi8QQViEVehG7Orm7eOXxb9Cpt7MDYkr7oMKkYS8z3CwQZ
6kQLlMiY3fnCZ7n2Z7rnNZ71GS0Sa41td5z8che9kAKBZf4A4Wd.1793rc75
Y5Y7hdxpT6r4n9vpg+fXUGleOX0xsEh7pU.LEB9f30+hogsRyAm14EZI3fvd
vyAmed9LNqFrDH5qymaxbPvb1QYEbKrBqurxx376lNCLUniEeFInLw874opt
utmiyykVeXS6eZWkb0Jv0E7+cGOO4o5a693h8ve+y3y3a5KoBIlCTymgmjSa
NW6Pdfzo661BETq3E2xyUpT3M+Bu08SQxqxjwMn43jJkEpMvDYlrvdiv4QgT
FROYFyfKhz+QHJLfFpbJZf+CDUHxJKQ8ENfcWFq5xaiqpJDJYV7m+qR2noa3
bhMnpbU8kqudS6VjuRZHFGk7hFkEo7hFq.+hF2kKrLeqeUkTNdZlXyg91kU7
skGpQ9iaUpOrZKPyOXmW8jcDqsaXixW1DKiLu8lEFuCXqsVOnil0FgIpTi2M
bXZ07VKKddVrcpxzVeZ2KJEG4AsQl5rDDNrUv97zxa22gs0UZc16ugqEYpqA
r.64ImuoqOFKoj.9E8Cr7XXWlZMMaqlPP0GNOAr2Fm7E.r9mVCxvNRPFqRTB
wDqIxbBF40xYsmIvevytmWIRhA+IeG22kzvmykzFrzJGGYWruORqngWxK4qh
CukqRvQIRxWpgPsYRZExErnGTC9hVMTOywwwKDLqu43PgitZ7HqdCDavpwUK
FWoTezurhWXxJFCq+ziPQ3iKR7blYgVmr6mdZmHbfM8e1IB5xZwRgCInash4
idbDBL+0LPgrB7QbqLH9zgcrTGCcBBrkzMnKFzpVyFmUtRVqFI38L3CxtRks
5RGgcHsvNQCkczIiczbxvuGqfkDmkATegaqj2tQjJ5aXaKmgHjdD2FcQrdlR
UZY7ytN6YJJFPf.hJFD3Z.5S9NwCYSGivLgtVvL44G3C+PBun4GDyWJgwrdI
KrLC1eJAytnoj.+oDzhARID3EMkP7kQntrFF.ibgGWIxaJwtr8PnjKiTGNzF
MYC0BMwZgWCLYg5uTQXCMhtcJ5HKH0xNEQHi2NEcvPHAd6c3zHO.uC5Eg2w4
sJxna5qXPL8bWEYB6RtJxgtYNP5Oqh7Oqh7nTEYz+iqhb8Fk9g+9U+56Fjhr
URl3dQNBg9mBElL7H28HPx6XAVsknGSCOQg5COcIOraJHFS7uR8nfK8J0qVV
H0VDJOWjKzPGjvn9VtUDcPa+7H3DYDAnZPaz8qbYNE2rdTkdD6RtJ8FpQY2q
6oeC0VIVWBIQ9ToLT+KmwriVGwyq.bM4TuCX2VtqXUbBuDf71QxwWP6NzaCB
4mrbzhKYOIcQCUcr29Q1HNHRsJSeSRC+C+s4Sa4h79Y3DmWQOhqzWmgy8K6y
13bt26xmaGyvVsNXafURHymQd194CKu6EhVHJAJv.sXE0QVjQ1BSqZA4jszv
JMcm4UR8UuSyFPqu9KM8R4thjZpr9suBf1i5TdYkHeexee94WbM.a+MsVjlx
yaZVJensR0HiCDGX615LlTgVAvtfI33goftfonwESQc.S5skvGLERB0kbgwr
p4sEz8km41kDh5hL2YC0RXcgcCGW1k1ELwFULg6DOoGwocGSr.SQ1v1A2vEz
8mMPzpqke2PKwCzhiZh1vvyFZQcEs3tiVZC1Tg1.3YCs3thVjGnsA9TnkRNa
nk1Uz5wbIs38FnswYCcleW7DniazH8qsvIwjt9I9fIWDbraOpng6OaLPKEOp
LHpKqf+Jf+tOp1kUvQAWdqwXvTvngoNE+vfI73gIbWwDY7vDpqXhNdXB1ULM
dYX7p.ksiI8KrhOqd5heRra4D19eLl4rgFknKdZT33F4B9Nj6wPwTm79GWE6
rNoSabG6LcG8TZIXiOlHmZF4O.dBeJLgFeLcp50PviOlNYzT5nhIRWTwPG25
0f5jJlwUAJJrC9SHleqDNTL0krGPia9WcYokgLqScx2u5+DpWXlF
-----------end_max5_patcher-----------
</code></pre>
Hope this helps. Took me forever to get the hang of this stuff. Fortunately, there are so many different ways to accomplish the same things :)


edit: I should mention, make sure you check where the "control surface x" dialog hooked up to the live.object is pointing to. I changed it when I was working on your patch, because that is where the Project X script is instantiated in my prefs, but if you only have one control surface installed, it should be "0", not "1". This can really bugger you if you forget about it. That's where a little js magick is nice (but not present, at the moment).
http://www.aumhaa.com for Monomod and other m4l goodies.

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 10:50 am

Hi pid, amounra93,

thanks very much for getting back to me. I've been trying to work my way through your patches to try and work out what's going on. It's really useful to see different solutions to the same problem, and try and pull apart what makes each one work.

amounra93, thanks for pointing out that the final output values should be integers- I hadn't realised that fundamental point. I got confused because it's the hex values I used to program the EX-8000 template for my XStation. I guess this means I should be using the base-10 equivalents of the hex codes for the other parts of the sysex string (manufacturer and model ID and MIDI channel, I think)? The original hex string for filter cutoff was '40 30 03 41 0F controlvalue', which equates to '66 48 3 65 15 controlvalue' in base-10... does this seem right? I'm at work now, and don't have the synth to test this out, so I'm kinda working blind.

At the moment, I'm most tempted to use amounra93's 2nd solution from your last message, because it looks neater (and I'm a sucker for neatness), but I've added a change to avoid those duplicate values. I still think it's odd that the live knob controller sends out duplicate values when set to int mode- I mean, that seems to serve no purpose in terms of smoothing. Anyway, the change object seems to solve that issue nicely. The value controller setup had me confused for a while though- I guess it's a way of 'wirelessly' passing values around.

Here's my latest attempt, with bits of both your setups:

Code: Select all

<pre><code>
----------begin_max5_patcher----------
1786.3oc6as0jaZCF8Yu+Jz3Y5atdPBItj2ZSmLMOz7PeMYGOXPdMIXjKf2t
axj+6UW.eKHP1Kqr2sYRFyZP.GN5Smui9P9a2LZ7b1Czxwf2.9HXznucynQx
cI1wn5uOZ7pnGhyhJkMa7JZYYzczwSTGqh9Pkb+HrCvyCfC.t.OB.5w2hv9M
sKKMmFy1jKaLpdmqiphWlle2rBZbkBDtgNScl.bcjaBISIS.H+oNfaqOmzD4
siM+y+pKo4pufkWkGshJOzuUjFkA9cVVRygy2rJMOiVUt+MWbNkoeUdNPwca
aaYapZZLrAoEzRZdUTUJKeOzhCcknEIQayGawp5BU83Zpp4iGCtUbjueyMhO
lXHkmS+W9i6Ov3qi9BvA3LtCxzmHfDLPhLh7SjS6jIxUOYZNOhNOdzEK4QXn
2EfG+ZF3yrz7N3QrijGQH4FLrSdD+bxind3QeIOhTPz.dbx.ykwKix2INzFU
5J4vv8iHgZXx1Gd+mzr6oUowQfOP2PakRgmBk51yPbGUnoim4TZJWlqdyPRt
2GksgBh4OTErrLZQ+zLzSB3fZY.M7r24HiBGRYzZN1+RL7ubcAuiZAPj.6WR
O9+6kBqCgARMa62IO6eN7r2.xyMxC9vK.OWAlCRMHjsIx0Sj5WKWF7rGyhLK
lkXHWNmKL9zDE1rZ9tw7KSUVoF+1sxAfObPK5vO.wD+.g8mGiSsoq1rRb.mt
3a9yQS6fH+gLeWsuAOCENpElk8EmUmfN2ueRm+2OM9Tc.qRMVqrzsAXD5Ra.
F5HC+cC8uJM.2HlXhAXnmML.eosxB8L2JKDYCqrCnozrz6oSE5j7VcrN4e89
+38f2tbZyAhxyYpv4VO78QEaefa4x1ByR7UCbUyEz0SozpgY2Ezt23pCFuEU
vu8UzhYz7n4Yz8OVqZrmVxKhZR1ZPZqcIKxXQhTW0soL5dZxrnpphz4apn69
qx5Nn5dnQJaqrEM6tY+6+LVVQWWtWZjCIfGVyxoptQ3z1Zwl7zpxpGUrTaMX
EOLQd5dSa+vo45u57jbUhHd03mczzAMpgrf5u.+XO4gbvRVwtAYGEOdz069z
xz4c73xRZdfEoNZoE6h9ms8V11sJike2wXhetzrwZtsJhzo0aJOC3WDWrxtv
MKQ6iUZ9BlVjxJR3dezblx.DsmZ4ZJMIKU4iQcXovSylyQEJYOMxijZd6lJ1
hEf2UP+mMz73G0J4HtFeDd6XCpVlT4AK+TiWgPKo3DEWwwt.5wrLVgBmNSC7
wDnvb.h3DFH9Ce9z8v9S1eDkVadt68XVKy5++B8JRm5UsOL6zjhb5UJ5uokr
7n7X50jVz6Ry36CzI19odzSpTcvPiKUm+0Pk5Bf9JCXA1qRcl91PHbp6bdcH
9DyeaHW54BRBjDOw08RTcIV4ibC5YcDOiTYNpKBBoyZhRBrVMQed4kSnlw0i
2MplwD+WI7ySo5uMyk1np+R7rV0eur0wsILxn53RHVqNtCeEYGVi9na6mTMw
nOA+B1oOJn6myWsN88buBb5qBXuBs4q.1tgH+zl+oVj7dJTNQkCCG.2MEacl
8Ivy0sO95qh4mf+nZNh.MveD9Em+Ht.YEqyEACNT8pd19NCz+lCHnwlmOA1Y
B5A05RQ5c2wkSlq9W+OrXj7gMvuywCNVY1u397wz51A88sUPWSyS.wQYY.9I
LqhMaUZRZ+y4p9sYBUSMT6fF3KsAM5l9uGoScDYPEVswEI8G6oYR8NVaV8Oy
ThaWLRckaLhQfuVXDbPWBPAtlSInWKThmmAZxFQI3WZThFMW9TaRTB55eIPp
pCVu9o5ttVP7kShcvyGIm6L+.Bln2TPD0JdPsRgzROjWKgMBpgSFKMHtIr1V
amDyyueV2NWOHSFZoFA4z36eV4lhEQwzxtWM807kppePT8ROSCgE9hKR5ou9
Bap4mQquP30z5Kz7UJn7YQ99aN5mMijOD6+PNtjsoHt4p1r1e.6njDZYUZ91
Zz8wcywFf11nkoIIz784Atu60LNHqAgldbSwjXJL.2dvj6g.2JXB0Glf1GSv
9vDx9Xpu3IgeHKhIH1jXbKGOgt9vj3mDP+8cjCB5tJvj38iZQdJz.HI94BYy
tt.SvjmcwDwDLEXedpOISYLGwdXxyDdBeE124ZWo.WS4IKhoPS4IK12YR5ti
zUe1S2Yj9Dxp8cPiRAaYMSnAXBZWLAMQeBZ29NeSoI6AIhuozjEG1QLHcmLD
2do6HlDNY2LKFAIKaxz03Il6ZNlHdNh5TiUK5POHY62dpnEYJZOgdUbHZOzR
BfCFZwlh1Sn+FSB1Gsd3gBsDSxIfuBymisa4PLZlh1cZYDSBz7seJgdoI6hI
rQtdHWeEMBFZWL4aP5bncKPCzjY.AeJwS7u78a9O.cg6au.
-----------end_max5_patcher-----------
</code></pre>
It's frustrating I can't try it here! Just out of interest, I've tried to initialise all the values by connecting the loadbang to the trigger patch, as I noticed all the 'constant' values were 0 until the trigger button was pressed. I'm hoping they should all be correct by the time any of the controls are tweaked now.

I"m wondering if there is any way of doing some kind of macro in Max, so I can hide groups of objects? I've only got two active controls so far, and already it's turning into a rats-nest! It would be nice to be able to create some kind of macro or object that I could have instances of, as all the controls are essentially the same, just with different ranges and controller IDs.

Also, I wonder if my method of just connecting the output of both/all the sprintf objects to the single tosymbol the correct way of doing things?


Thanks again for all your help and advice, guy, I really appreciate it!
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 10:55 am

Also, I'm not sure if I'm setting the right thing for MIDI channel.
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 12:07 pm

Well, I've managed to find an old USB MIDI interface here at work, and hooked it up. I'm definitely getting some MIDI output, which is great! I'm also getting
call max_to_midi "240 66 48 0 41 247": no valid object set
call max_to_midi "240 66 48 0 12 247": no valid object set
error messages whenever I open the M4L device in the editor. I guess it doesn't really matter too much, as nothing seems to be sent out to the MIDI interface until a control is actually operated. I'm sure it's to do with event-flow again. I need to make sure that all the sysex values are correct before or at the point that a control is operated.

I've been using another 'object-based programming environement', Apple's Quartz Composer a lot over the past few years, and it works in a subtly different way. It does have 'lazy execution', but not taken to the same extreme, ie, a patch (equivalent to a Max object) will always be able to access any values plugged into any of its input ports when it executes. So, the idea of actually having to force an object upstream of a particular inlet to execute in order to access the result in an object connected to it seems quite strange to me.
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

broc
Posts: 1151
Joined: Mon Jul 26, 2004 8:37 am

Re: SYSEX Output

Post by broc » Fri May 21, 2010 1:42 pm

toneburst wrote:So, the idea of actually having to force an object upstream of a particular inlet to execute in order to access the result in an object connected to it seems quite strange to me.
Yes, Max can be classified as "data flow" language, meaning that execution is controlled only by incoming data.

So, in contrast to most programming languages there is no separation of control flow and data flow.

Personally I think it's a nice and powerful concept, in particular for midi/audio processing.

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 2:15 pm

broc wrote:Personally I think it's a nice and powerful concept, in particular for midi/audio processing.
It does mean you have to do a lot more patching, just to get things to work though. I guess it's down to what you're used to, as I'm sure there are plus and minus points to both setups.
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

amounra93
Posts: 432
Joined: Sat Jan 24, 2009 8:16 pm
Location: Arcata, CA
Contact:

Re: SYSEX Output

Post by amounra93 » Fri May 21, 2010 7:59 pm

Well, I've managed to find an old USB MIDI interface here at work, and hooked it up. I'm definitely getting some MIDI output, which is great! I'm also getting
Quote:
call max_to_midi "240 66 48 0 41 247": no valid object set
call max_to_midi "240 66 48 0 12 247": no valid object set
Hehe...warned you about that, but I had a feeling you might not know what I was talking about:
edit: I should mention, make sure you check where the "control surface x" dialog hooked up to the live.object is pointing to. I changed it when I was working on your patch, because that is where the Project X script is instantiated in my prefs, but if you only have one control surface installed, it should be "0", not "1". This can really bugger you if you forget about it. That's where a little js magick is nice (but not present, at the moment).
The value controller setup had me confused for a while though- I guess it's a way of 'wirelessly' passing values around.
It also stores those values for later use. If you ever want to know what an object does, just <option click> on it. It will take you to the help page.
I"m wondering if there is any way of doing some kind of macro in Max, so I can hide groups of objects?
There are lots of ways: the most basic is to create subpatchers (nested patchers), although with what your doing I would probably use abstractions so that you could initialize the arguments of each one when creating them.

Also, this might save you time:

http://www.snoize.com/MIDIMonitor/
http://www.aumhaa.com for Monomod and other m4l goodies.

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: SYSEX Output

Post by pid » Fri May 21, 2010 8:25 pm

hi toneburst, dunno why i am here, i should really not be on this thread as MIDI is not my area. anyway, could not resist some explanations / helping hand on patching stuff which you will need:

(for everything else listen to amounra93!!)

Code: Select all

<pre><code>
----------begin_max5_patcher----------
3628.3oc6cs+iiZiG+mm8uB2TcZ2JM6HrwlGmpTUudW0Uoq8jZ08S6rJhI3L
gtDHEHyrSe7+94Wj.IPhgPHdaS6pPFdX9xG+84Gab9sWcyjGR+HMeB3uCdG3
la9sWcyMhcw2wMp+9lIKC93r3fbwoMYV5xkzjhI2JOVA8iEh8+lYAIff37Tv
CTP9hzrBZBMDTjBtexS2O4KJuf3nD5rz0IhqBo1Yx5koqKhoEh6gkZuqBJls
HJ4woYzYERYDBwt2YcKfH2.sQ7MH3cVf2qtpnPg7j9vO+VOT4ccdZRQRvRp3
P+aZ7SzhnYAfeftlV8Txi9Uwo.4M6FQKJoTxfkRVFMmABAEQoIUjNerPbHN9
7MVpO1HYyyR+UZxTF9NMnnHK5g0EkX+tOqumeE+wqdE+iaO0dl0IQ+xZJuqn
XQTNPbqX8RyBVmSAoyYcPet0kpGBNt8PPKnCWdvtVFUWTRZAHi9Kqixnga5H
NWXt0Hi4Pjvdf35YTXdTRTQTPLHMI9EPThz3XVPN8z6.3Pe6c.t9icGfR5bv
lTGvuOcZP1iq4Ga5ze+bi4diMl6fpHcFCl+V0+wQfxu2Cr2BIdhHVHI16cPr
2crcxqzLjRmof8Lnf2lcEq8cTp4BiW4ezJR6blP5yLjkPelI96gXOEDyxa4y
sd6LlnlkFGSydKD33.vd.afCoYrDdHrT3jfvvODj8ICIck.paE.U1VEurhpd
BmzHViaDq+5LdLk+QZbXi3r2cPOhkOoOYW5IRcgXaTot7kffLJ3kz0fe5+8i
+KwWdNHoPl5e9B9AKVPAgAEArbNKdlRS.yVWjNeNHHIjkzSdZxWAhXegCgg7
SdIqNhXvOuNufGVlGQ9qt6t6ZL8TRWslHDYzBWhXCQ.i7DSZrK1dnMmFPfml
LKXU95XgZBCe.rNbPXJfmJIaSTAnHhAi7NjEAOQAyY46jufivz7BFn.nOQyd
ofiOfmSy9P9mAdSP3SQyn2JZCZXzrhlKJ.2SeXPnuD0Ea3YizHpCMXT+2uOg
8uHPNyeTxirDGYOjhSMD7HymAGLYUUIT9UkcoRyLJWzQAJS4IGLOMCTpyytt
76TEhAJqQil8bTHq239Irfzx8uDG+1PJuSheHvaXxLSBVEGLilKMcdNpXA+V
+H6VyPgGnY4rLbkc1LYIufYbFIDku3NPZg3ljytIKWGWDsJlpNGd6wJMTjSr
7FxsEYJSYfmWjxNs3HlNUNsfcCYZYrZ9CdHVTiYNUZw+Se82+u309y8ge+ja
EV6hlSbAKo44f0qDV5hVU3ffcGYJYY4zFU6fVcUuywxV5xjHcxi2Xz2jhmiu
Aq38kB6at0Lmnku9+7S+2sZVTvqEv7qYf7KOG7xmMLkx6pny.gp3qjCkMBdt
FL3kj9LymFHNMH7g.lIZBkFxr6XJ+zMDgv0YKMX3QsXp6udUvGXXZbFMH7kR
MXop+c7SM8iU5CxE5xAEh6B3MkMKyOLSmOnrsXMA24p3um8gW2r+Umt2SIxq
AijQ0jEZ6iZomhXzp4bDE7Z6WeexaR4NaBJ39t9h6SdGyyzJ1ibZ16aD0r6r
2Ah.tvRuCdBmCX+V.MiNUfhYURPpCUwIcOhs7qXf2VsENlPX4VJTXkLOx2Fm
9XzrNWU.DhjomHKwxaehDzqh.xYiWGY1.JbQALrlHJlaZjyhkW4ruYRkrcEO
P9hOswdReDUbKvf6GiSm8AZXEUkalDRm2k1HcEMY64Wq5jZknHOynjp02r68
MfkFxzlwl5GeNKkmVu3Ci82L4wrnvzDtzTqI36t79xTKjVE9Ue.DmQRvpFt3
hzz3GBxdJJOhkITsNDlNcPRzRlmrhHofgr1bcQKWkEI8fsYerZgXswh7Y7hd
q0Txi7TCGYSZgEKDs0VXq1X7TQApl0Vs8eHqtcr7B9.vBXU8XMZ20Z8XVRPV
QmjvxqpJygs910BDUUN1ur7cOZC5X6YChJ2uvSk7K2N733uxJ3MMJocbDcXb
zSBcxPYxrAz.Gu8.XI9SVrb1BVNdz1gR6CCkPnTmzppNITGrjaFq1zFpRZEU
a1UUWfW33.uRV41RIWus8KAZ4Xw4Iyc0q2F+NGVgsJmb6CqVWbXMWDFXN.gs
.+snc+GB61abV4avQBvJpX5ON6clvYmwAmK.O.h5se1RcVrBLctinCXxq57X
tFfvOETfEUHWUJVnRdYx2rwi.3G16r5DHqRJvoSIEnb9JP5VgXa8Cpw.vnkq
WVMurN4L91ZHXYSwJ0X.6MD2tS0+KVBvjxO6oaAr+j1vhpfTYMr7Kax.BERA
scrvRGej1X6CfEUCiaOQmN9i8vtsvBNSFsjitPZ4GuYTHOcc1rxdGUhaf5Bd
nfw+M0a8tM9w247VDEFVupFogP3JVpoEJwSN5QGsWqqRM2zTKwFYThMRSol2
o.MFolzAr1bjZmNf0FjhMbOPrc6QxmbpHhGOCCs0QtcLJwlG7TKwlXThsmtR
s8.J1pcxjeI6n4AOQCmJmcM6L0GpxV5wHWTKdCiSeHHVQG6lSdhV7S15NOFS
msITuZKtLTrnKmXF8jFcOO6prni5IK5XOylEcjjgM6SgE8lZiqrnekEcyfEc
n2UZzGLZzQVW4Q+LvitsyUhzOWDoa6ckI8QgIca+qToeVnRGackJ8yLU53qT
oe9nRm7WHpzwNFLU5VZRvgsYQlts1TkZYVzfYoIWo7HmFDYo15RDFx5SS8Dd
IgFzHA.6DdaNxM1tK3sAMJWZ6Gz2r7mn6nXXaVCGfstCG.14Jw5lOw5Eo4ur
7gz3tOyzsjuBy1Jl81qxdc4TuWuqpV8aQPQVVrs+NKBJ8.N4ujXAaXfZKdxK
re6aALq5F11sk0qya8zAea.rkulXxQvvmvKKsGuevvADxQGFxcTobKWaSNIH
W7tMEts9sIAIIoaGjgIei7U28a4KVIzjYuTdZOEr0rcSa7N622rJO53uLFRV
AjikD9vnOqT04woAaoCXxtiMBb+tG6MuPOAyJXBLWdmkFmlUN9KdtXBjCjHh
kuG+KtPWGrKSynhzrJHi8XWPylJGSgp2stX0n5BwhdPIOd0dpk9h23D9.tiE
rJlNeSjlx3LUD0krtbgLQ1VzcsCGkTevOpdzRjG1vwTuMbUvhlZAwpC0Fske
j+l6vegSmzXCVYjfZTVSCKeXD5M6eFaUfmtWfkpmWbZxiaNguMJlsOvFY6cv
2Ook69gvJlmnOvay7CI9ogs9zEkLOsUANMKTNZlMckqY8D4sdo4qnzv3nks1
CUPW0pLS+3pzDUo3v6Z8lW7hpW6UUyynWgU0MN.AffCWf.WmAINfs63EHvVx
Ls4EH.28.ApoSv4NN.FYTwAvxQuQFGngm5yRb.GaCHNfTgx.CBHErs4xbMBf
4FAXPqD.ao7lRNs..jgL.v.NcupMoSzGVTEiB8IMOlRZBKH61gktL8tFPDo9
rGQ+PUX4pgFRN7O6OsQNxTFoFpfMNTo1z.o4o.RifhZnGsHMO8OzdpeTCdHl
6hPPSqVYnNacUBax0kLnkWOo7A4LjT9LbnjtSNiNfXJqOWqVlUF5hXCYh5NC
H6gUlkEcvmjROpbB.r2rqPuYVQM.x6RqRUctPb7YKg9fUYHMGsCo0zTjnFV4
eb+36OsH5z7Yd+oBw.kT08skV08SFHJVkwDTFt98cEXDg9yUhUk1pmXhUPm+
zjXEzavRrBhtbnRkELr8bd88e2+76.eyh6ZglkcO7dzqTuY0FYcfRV1sEiRi
siLVwvSuBbiYvfwTt0VZgZPtOODk6bPBRZtFXEIHpHLUm.T8lEE3QYQYG8Ei
fGEkLwtVZ7UNTtXbnLrL5B6NitJ9TN2L55aTD5Ziq7Pecf8LsA16p+nKl+ng
ktID7LP2jIrl1dYF7SeqAg5ayr.sdOerPxQm6TmNVDOyjatA+2agRiREYlj9
RlIw8uJjYVVw6oRlIw4OSjYVpGMfjYRHWXUpgMcbz66KndtSGmfMq7wsN7S8
0IXwkZBVftNAKLtjw4TYeBw+IpBd8E7z4a02EV8gdomGav4LovLh52xgdmyD
9RmyDyoYQZR2GNW4ztDa4Tx1+w37u0AgiTc32OKI.xhM73iLWXOH++leXwG+
gURjsm6wMPJyqowsMBBVF7uaCYzU7e5jlw+oSgcASKRmtLJLpuEloFQQnsce
MZfWXil1p1uONRbjShT4FajHmYmtWCu0EtH91fD6tiHxeXbOYDAZnHx1kNM8
8156MHPBxPgDGmdG.5TgDrYR9U4OBVcedep9oylnM4WsFSBhMS9bD0SenemV
OdHHhbtJHUd5QDHngNagEPC6wdQmYlWo2PjzMPfZ.L2dnIxgqgFhlCNkqlWS
yWmMW7ixnUusyjLABQxbY5tCHn+kVS5bMc81vC3vMc8fWtoqmPdpup0HQ2cW
0.TX79KUy0VyiaakBvs1Is2pDPyqP.60iqsL4pgLAQiqLQzPlHiKNg7zPlPN
iqL4niLgGUYxVGcbn0nJS6b6ZQehK3nwCmzVlr0WlHthA.FKIvyg4vs7uNUo
EoqzB6fzZ4VUZsruC53334NPhLVWQtCJhXW6JhLw0ev.XacjV+w0MruNlxcq
OeLDI735wCqisA1abkIchVweg2Gw9NsjoQtuCpkJ93loArd2RKxDYT66f53L
ENttmvZkoAYbcYpCNMtpS5jeOYjQIs7D.GWYRmboIdlmLYOtAfIZ3bRH2DiR
Cm+tVMl9Kczsp5wSlPPcwoQLVmV0U3XddmPibemNwUPiLiH5j6DxdbkIacYD
YD66H5hSvwkMKnN5SDCCmF2HvZohOtIOgbMuDUzRlrG2RVHZEZYbIhjnCoe1
3wWlNlq.az3KSniISvwWlrOlLcJ5Sr+3Od0+GZK7V9C
-----------end_max5_patcher-----------
</code></pre>
as amounra said, abstractions would be useful in this case eventually, but only once you have got everything working the way you like it probs best, so encapsulation useful. but be careful - e.g. i am a trigger-happy encapsulator short-cut person, and always getting in trouble debugging. luckily i am trigger-happy DE-encapsulate shortcut person too.

hth.
3dot... wrote: in short.. we live in disappointing times..

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: SYSEX Output

Post by pid » Fri May 21, 2010 8:53 pm

by the way, forgot to say,
I'm also getting
Quote:
call max_to_midi "240 66 48 0 41 247": no valid object set
call max_to_midi "240 66 48 0 12 247": no valid object set

error messages whenever I open the M4L device in the editor. I guess it doesn't really matter too much, as nothing seems to be sent out to the MIDI interface until a control is actually operated.
...don't worry about that - happens all the time when building - it is just, as you reasoned, live.object instantiating before you've 'used' it, as it were.
3dot... wrote: in short.. we live in disappointing times..

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 10:03 pm

Hi again pid,

thanks again for the advice. I discovered encapsulation about an hour before reading your message :D
As you say, it's probably not the right time to do it, but I find it really hard to keep track of lots of objects, so I went for it anyway.

Code: Select all

<pre><code>
----------begin_max5_patcher----------
2736.3oc6cs0iihiE94p9Ufhz9zVSF7MfLusa2p0zR6rypcklW5tUIB3jvzD
bVfTSUyn4+9ZrgvkBHFBjhzKp5NIEXaN9yGe7weGeR8G2e2h0rmoQKz9AsOo
c2c+w82cm3RIW3tze+tE6se1w2NRTrEAzeis9WW7f7VwzmiEW9P1U1vBhi79
cZxUA5K0Subvw8dA9zXQi.Ru3A6XmcdAaeLj5DKEBnIjWGMHDm7FffDuYsTW
6K4sD6Xb0lxyUHFbQ66PFEkk.68BYYweKzy1W6uy7cytsrYhe4.U9rWr3zCQ
HYzvTbHEH3MnmO8IZXjGKnvC+tE4xugTvSkejg9o2xZaN.u0m47UpPh0ytnK
cS2ZE1AZPdMDknzKkKoWvgPZDMH1NNU3K9jsO5G+XoQN3xZu+FaGZiUtLTuH
qHaC8bYAIBQoZlb4rG2m3izxw6hxsnDA1GpoxwLl+Z6vm7h7V6SKMVvUesC7
1aGSi8jxCT+T871eHzKHtTaQCr4swtHmPlueolRdmmp4Ntzm7bn+lma7NQak
iVklPUP2ozDqRWusIXkmj4yrcWaGrs3MaXTqo4bMMuCfRG.DpORENXQsnFm5
Uc5GnpzUuZQsS.EcNsujUh+796y9vCCOZFyhdY+ZleinoduQyUB7S9JgT0Dl
5XIwpcvrn4rFMoccPSt4E9jTWMGaeeMdkdLl83dOWuQ.cA5RHEJvW.B0e.FC
tY.XeumnK42LAF5AlBUBSgX47ei9Co.xsEjxAicigRpzfJDHMB.T.PQM.nlW
Lf9P5+GTfcOMJxdKsdqAbPUygKp7UNeL5XXheCQZ5igha5BWVRiAPow.ido4
tZZo4JvfEMgK5prDT5B4jrW6NnffmqGW31Nr86oR2qVrX.QB4icQOmJZVb4B
kvB8FvhRl1NWmM2QVeufl7ITHtI2udTHhcLzICqS8tRqrj6Rih8BN4V+mx0k
qTvcdttkciVfydtGXbWhSkOEUf6pXm3HiRxcBDOgj6Dsekj6Z5fukxMVY8Dx
sodRMcv2R4NYMZMfp3MX5H2qTUOwb.w6zKx6.R1Vhreh59nz21GsiiC8VeLV
ZwrH6KsRDwVe1Za+TdaNst8IRHpsNpv3QCjZbNRSpop2miBhWkiepv4VYOsx
8xBXzEV2fsv5FR5vunGngfKIk8g57jtAuDR25AjTlFxcob5r3cRWN07BdPK5
kH5yZ7mWVorCBX47es3eExbOl3VprfQb0tfsZaBY64U+vwXsmr8ORuLlNU.y
kaeEgEXdmH5DZ9FRzIAK2RioojaRhrWXzMhNUoUlI57aShNe01ad0r3O9d4b
P97whkqx73Bk9iWxNlLFncLA54FlpqWek3ty9qbMxV1dNr2aO2PuvduHlcjV
YGlOKLaduEzDS.OT6m.UZxhCGFW.gzWMpn9cesekUVMefFAxnIURPhzd6YFB
f0OD.jFbQHSHgj7ICvJCcq1Qe3kf9ObEGAb1YGTlMqgJzJvhQCPZdAzGh.wM
Bk+H0+I9p.N1Z+S5Q5YwzD6roucsPWoEsTFA84NbLBLtlpnKgXqtF1kR1ZVg
I5qrRzwWART2S9DV2zBiZUamXdyv8cjv+fMIL9q8W7p9OH1rOiPFJMBkxINv
v7RFhP.SCrYx.iIenRGKLMAADiUsODYbyLDEqsVyaDmnj9lgQ0sdn9RBbvmX
XYfjf+JL.JVUFi3yZZeX3hiRjLP3ifUry6WZGbJ8WDE8h7KMcbZ.bLEcgdlN
Ftk9Zp8OA2+mh6KmWNM9FUosf4xx+yWTrBxLQgu3fE.rZJXA02ulbQPvXZwn
cWD6IDAqFpJ2vokbqbfOlVpIDytf2SH4lnX.DD3M4laZIgL8fakjayoUblPp
FeroEbqrUPq4vL8lEloFhoxOYGbj2mhOFRC+92K3CNgixT+W9qZ+zGe+G0b1
sTi6Vz5S6rupyYi1IFGW5rRSzOyAFWul3nPTLNJ8+TguRDjG3JYXNrjR7JqN
dpvUnUlCVx2lAKgaoJlEz2c0fE3n7bPAufy1MANcN91IAsPW9SeHsEel8AlZ
HQFQRSUXssILCLHz19sDQsoX6JRuHpsHi32N7sxWsb6VZn1Z4OiPbFjSxSOH
2VlJnwhaPiUeHzXy3mq12uZGDYCxXbliwRlqkG83WebY5voqUeZo.2FThFCj
DfFJjDb6fjXqQ.JMWMTHI71AIMLFAjL0P5.fj3ugRnfzkqyRTnKHNDP7.lRA
iBG4DkY+TeRwyBTY53RhB.b5vOjpAk.OsniC0I7tGxMQdrPIRa672x9s277c
.zuvUXYUrCYZL5cH8tzgPcuCAHFE5QIGsgQtGQTsGglXb.qqXDNPvombCUQt
ASO4FohbqOy49zK0NHCTZF.rfxT6.06T6.LmZG8CyQ3dmZG5yo1wbzJlSsi4
T6XN0NlSsi4T6XN0NlSsi4T6XN0NlSsi4T6XN0NlSsi4T6X5bLa++2S07M5g
H+V9L6eClhD2pojxsZJ.cqlxU2pY31aQ9DNGlotESkLeTpFwie4cen1Xd.NE
yiMgaWehddKHhH1PfXW.xOA3aViTZCAKJRSeAGvjzTYkFGJwI.tbLQTJeO.X
7olwDUWyTS1dTMvA0DxEv4Byk1Gis88bJhgk1tzYQmAbbSjyMua2xNL3I2Hm
XuzXkFt.FmvYKq9ObctVoeiVVW3fUMnw.F81OuHg6ECCMrE2jmAg+hUBwKe9
TZPkXf0gcTtsA3.E1wUx+1YfE37J4ARwrSgcDdcC0q3Kf6jzFiWpWk1YUTwq
rivp29I6ba10zrspiKsFk98wGoGJ4Y4fltdyMzqYbQIqR54IeVHu+ESCeTFR
uhUnVpf23yriyCGrbIxSqM1xpjBt.XaNs9e1p+EDgncrvb8iJiEkJoWPg.bp
WSA1yb45DxU+LWVWIxG4e7UKKWrb9rfsUkIdco9KZ3w5ETNvmkZLufulzXQs
I2L2F6VdAaXMJorPWYf4qqlGC7jpI0V0nCTpqu29lpcTL8PixL84CrfTtJ.K
a7gG+RKCWYCVFKq+1RPs9V2i25INxjEyobuAKTnL0XPyMPwo.2Wz2vd4bjvb
gatuYUM07uoQr.6.GZi1ZRp7m.e4T8ch4WM4hkixYVnMgYQfvLknaUVMFVvw
IY9ngM6goJHAlS4nzUJr4PXoBcCXnJYjbJYj5Cd97qoUUAa1P0.ZnBAZ0PU8
fZ2rAoO91fd2wX1lMZeHj9eORCbdocSQvQ0TzpBNMUuED01YfzC0g2RDAeCX
JRNfNAMFIErbUnYiQCnwHCzsfwnlXc3GoOKi5YzO74.LTCoqoizvfBG9CYfD
+bv6oN4EUtQXTxFgqVxZ2OLdX9lAwpvdxRO5HIN+n9WLHHz41N7.Btoeyp7D
ML4z93qw0V8hy2UbFSofgAajfhzOR.vp6eoorpYnYwPSzULS6evWEaPH6RU.
hnKUevnNQzXADxbRPQUq.q3Dw+F.s3rr+pKrBV.ZMlDPaC+ovM4u5gERMgKb
hJI8TK.O4fTm+5MZDLh0RW+zYmYn54RC3X8t+WB3dm3J4G7nTbQ7LKeTMjvT
0nkkBVsGkrFhPVo3s95fiUefwd0.mpRDAqhHUJo8FcYBBTUltd3DPWEYhbUk
IngJxj4UUlPpJRWO0IjRvD75phqh5TEAezkIywVl3+xed++SseOCi
-----------end_max5_patcher-----------
</code></pre>
I'm actually having an issue with a more basic thing now- I can't seem to work out how to get just the Presentation view to show back in Live, rather than Patching Mode. Dunno what I'm missing...

Re sharing data between the Cutoff and Reso controls- I think I do want to do that. The first part of the sysex string for each should be the same. I was assuming the value controller was one-way-only, but maybe this isn't right...

Thanks again!
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

toneburst
Posts: 91
Joined: Fri Jul 15, 2005 4:12 pm
Location: London UK
Contact:

Re: SYSEX Output

Post by toneburst » Fri May 21, 2010 10:36 pm

Damn.. now I'm getting 'no valid object set' messages whenever I operate a control...
:(

Code: Select all

<pre><code>
----------begin_max5_patcher----------
2491.3oc6bs0iihiE94p9UXkU6aUWBaLWx71tSqQSIs2zNR6Kc2Jh.NoXZBN
KPxT0LZ9uO9BDtDLASRwPoFUcmKXi43uyEe74ivuc+cKVSegjt.7cfOAt6te
696tSbH9AtK+62sXm2K9QdohtsX8grLZ7hGjMs2Ky+4v3sqRH9Yxgwz19QiG
.PWH+MjQwqfujeNwG1EFGQxDiGL+fgAhQmt9m+fEZQYOoGxZ1U4gxdcOQdAW
r1Kd6BvW3s962eO+kG54jIl7KrqXwkKi7hXNvlUeEXH+qnsMz3rzveUbIgH1
bR47G6Hm3x2bjyenp4Otk4OTy4+hSCMWJi81IZXwORhNRxB88.+KxAxhaG7b
zK5.A7WL9fO6xkPihHIe.1JPYzCfxzP7FzvUZ1ngkB141fT+sjPuHvemFEbC
QorjvsaIIf0x+z2PJ2QBAE3iqS2FRs4HYzN7f6zQ5AEu+VYjsijl5skbF9Ya
M.SJagQDBKsrPOZwrnrUAYnygLSiofEkJHYHNYl3qDQfSYDA6N.Hwv3JgDzT
FRrs0GRJB0LbHAOgiDGQ8BjgxzMDLBaIwEdu.15mKCdXoxnDZtkqOQSec2ZZ
j9VKHoCDzUfJVVZutsk6D1ZYeBYOIN.36EEAXmvpL5pcgAgC.mfRqGgMF.ZZ
peBNvoraU3QxirF3y2ghMllROK6tglVh3.sl5PCaV+7..FYHGSCoyETaaFnh
jhMUBLOj++wbUJN3.x2+vpzCIa77IoJ1tUevKjizICIcxzYsK3xIcNe1CASj
Any8wze4bj8zy4hMGkHx2KsZ.gwO.ReMk7BfINE8xKNll4kERiE88+jPCNvs
rjcLksor3sfMIzcrSe+gLfXurmacBRHozODQ2F5Ob32TDUy1Q6Xana+9ZqJs
jjbPOG0YmUXD4HIIMG1xuN2snbNYISMD5HlMl1RKKbEiJl1baD0+qDw7vn3f
AjM5MJT1pukmg.Iq8R8dxzhLUEItTmW8J6cHJaU6o6Uucd3GkmbiTvJ5x1jv
.ZLWHpcl7CWb49DP5BxesTtE8H1aeKmbFkFs1K4XXZ35HRMcAyWwKNbmWFa6
1R4gkGVQig61mj6eb5XjXO1X7bpOuDM0FJYKGaok.xwPexuDFvV5hOVknUsB
EVw1olWbsi2vaVXwW.ds5P+zGktiLWyp8qgKckd+TygrEmQYR64otaU75Ikw
YtiFUZn5hDKpeBm6UdAOSQy9zc6HcLqK5oHPo7COLP3tVvyyKuIz5zhscrmn
tAUnr3tVNM2Vjxfbmgp18CV8oQzjh.BtHGrE7gV+DrgPbA8ghMX81qB90HvO
SqalqmFHG6gth2vvgqBPpUAn1UAPYjXSSGjkE+S1vk1Ft8A8eXxnA7elsUax
Uq.VJcANqJ+JSUWUEBTmwtZnjG.M+M0fZKUn8sGc6hhfNxl5RV6RbtEpB5Mb
a4LfHNKwVFKc4V5Kgbid9mvFNtXyaPDmxzie6UKohrD1vyPE7WCa9OD14pUQ
HnTEcdVumqhrUnhFxhBlPGarCWw3vTUFXQ.JDzxd46LUTFXMH758Txey1Vr2
uA4oXo8BCLv2x101TB9KwPjXsYrIyqoGpgB5l5Nd1aiF4xYmpQpo+OQW6S1o
45oqO8Ty2r7SeKRNUJFsB2+T0Mpy5GfscURGXtr++6yFvNBQg6MZqv0.5pFs
MT.msOuZASK2mXTXrpsbIlc71aGrSoGR7KTwENyf5Sz.RZVX7If7SkqO1niO
GFDTeapB8YXvdVFrY4Bn71u3hlGZK2N8Tt4owNkja69J2tSJ4lGGoWxMdRI1
39ZcaMsrR3hCrOxM2bxZ5Xkf5KdaOsrts0IZB7cm4sX9McDanNh8sxJI+fL4
WVw6TuijfURZJW4kwV+c8gL4xp0p.daEAdPUNdaDcsWTdg1Ok05BMJrbGMop
l12WhB2JdmFvseETd6WcE7NA+Vm2I+CYzMaFJySEJ.IySNX8YdxXxw7jCTLY
LgtWCyS8YTlYdZl4oYlmlYdZl4oYlmlYdZl4oYlmlYdZl4oYlmlYdZl4oYlm
lYd5cAyS+oTz0ucKw86TFEduxfy6UFydmRP46T5f+yg88YlmtMLO84E7MIZa
CvtLWcaKdECQP9dD+bwjQjfhO8fLCGj17jrT7qDCIeDkrbo7GPlNzjLI9EfK
9UFxD.duZRV0+7oO9D36e9QE7S0r4idkFLsLrUY5nFcS477InToIcCsA7VFx
GGAxTfa6bZvoBru+pGMJIZJgMSxHIqjjMzXTNeujsWgqMQTuxMCl6LexKtC+
YwtVnaNEppHPUEAKcOgDDEtqVTlpsmQ1mppQxK6ow441CersdbHNLKM60Hhp
gXGyLRb51O1dygwpG8P1nyCLTTP1xnmU5TAXBUO.mqdpiAOSSJcTZXu1X7pP
ZUqyGZPwDl6k2ROJ8NVcVbyp8KhFusoLwNWRzBEWVIPZz5EkEC6q7AKsK4lF
nbZEFugpTRoIARxVUZfHO06qtJ1fBiKBWDTtTQyPM+WRJM1K1mnLVC+j+D7K
WJXCxsLZi7wpD1o6nMHKQ.F4qX74mx.C1X1mXMd9YrIGetUmCoBhiPEU10Iu
.hMdz9LGnpLPkIry.Us6eoWLHiKFChaHOkh+7CgQriAZ5eMGCpkxiJtqZ.+P
B4+efD6+Z2ghPWJTzxJ48zVXEkOxTt4QhrvyghF2PQ1lSfPQR64IXvHofU5A
8sXvnhZu2bes+H4EI+Loe2miwHfoAvvDfgfRlpkTd743OR7K6pbmvl7cB2rm
stcXr1aGV9PyynJS2VHMdjyXZ191gMt864UE39QwsOF3HIgeCGDAXQJByJ2U
bQMcfZiMRPwI+Aph9OiJWpKzbKQEwVTxnf+AK7+o6lzjsqOwcsfuTAk035Q8
qAPvt.Ha2btsj2yoxm+NK0.gbpJ10oVWo3okcF3oLunP+aNvJtcdeSgVGYAR
bDUnx0Uan0dBCsJdzYweTqU49pt+Np1KQxRK4TjckldpnQKHVGS8Sr7OfYtg
v2K+gOjVOxvzrZlUuMI5CtH5acRkkvTyB6mCVmUPeTMxXUwcRsh4edg7auH9
mo55sLYL8jIydHRBrDNZhjEtOxjw3JSvdHSXmwU00GYBZLpxDrWl3bAGMd5N
TejowEmLw8EmzPlLcr32AcH4OUELKKqhucsRKpuRqFdjXikUk1kN2Los21fl
ZHsNNUjVKS3sRZs5iz1vb4M2iodvUExDZ7kIzkjI33KSlWRlF2HKMxePwpmn
Qc0y9Dri+LUcDgIbuV7zZ5o5viqINzoGgBfVip4TCSEExz3lLFxtuIROhxDr
uIROh1S8QjtBIh8ke+9+.08yRJA
-----------end_max5_patcher-----------
</code></pre>
alx
http://soundcloud.com/toneburst

noises produced using
Live 9 Suite
MacPro 8-Core 3.2 GHz
MacBook Pro Core Duo 3.06GHz
MacOS X 10.8 (Mountain Lion)
Novation, Korg, Clavia and E-Mu hardware

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: SYSEX Output

Post by pid » Fri May 21, 2010 11:26 pm

value shares data, which is its power. put anything in one instance, bang it out another instance.

for patch / presentation, rightclick anywhere in unlocked patcher background and open the patcher inspector. then tick "open in presentation".

about other stuff, i'm pushed. i'll check tomorrow

good luck!
3dot... wrote: in short.. we live in disappointing times..

Post Reply