SYSEX Output

Learn about building and using Max for Live devices.
amounra93
Posts: 432
Joined: Sat Jan 24, 2009 8:16 pm
Location: Arcata, CA
Contact:

Re: SYSEX Output

Post by amounra93 » Tue May 11, 2010 5:58 pm

Yes, its a workaround. But it works, and no external programs are necessary.

It would accomodate all the things you state you are trying to do, I think.

As far as sending Notes, etc, that's no problem. Do it as you normally would. You can either route them together through the control surface script, or send notes normally as you would any other device.
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 » Tue May 11, 2010 10:00 pm

Would one of you guys be kind enough to do a quick step-by-step on getting this working, for the non-python-gurus like myself?

Personally, I'd want to either be able to somehow receive sysex from my controller in Live, and send that on to my MIDI hardware, or receive CCs from my controller, which would then be translated into sysex strings and sent to the same hardware. Could that be done with remote scripts? Other people might have different requirements.

I've no real idea how complicated this is, so I don't really know how big an ask (as it were) this is, but it would be really cool to get some kind of realtime sound-tweaking going with my older MIDI hardware, even if I won't be able to do sysex dump recording for later recall. Maybe this is possible with M4L, too...

a|x
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 » Wed May 12, 2010 7:41 am

It's late here, but I'll try to post a quick how-to tomorrow. Its not too difficult, but its been a month or so since I worked this stuff out, so I'll have to dig through some old patches tomorrow. I think that you can accomplish exactly what you are trying to do, even with the recording of info. If you are just trying to convert CC's (incoming) to sysex (outgoing) you shouldn't have any problems, and it should be pretty quick. You can even record the CC's with Max, although that's not something I've done before (i.e. you are on your own hehe). But I can tell you how to get the rest going. Just confirm for me that what I just described is actually what you are trying to do.

You can do it with sysex input/output as well, but its a little slower (I do mean a little). Just depends on how much data we are talking about, and how crucial timing is.
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 » Wed May 12, 2010 1:12 pm

Hi again amounra93.

You know, I thought I knew exactly what I wanted, but now I'm not so sure ;)

Just so I get this straight in my head, am I right in thinking that remote scripts are designed purely to send data to and from external controller hardware, process it in some way and/or use that information to control Live's behaviour, and that your method subverts that model by sending certain kinds of input information from the controller directly to a MIDI output port, effectively bypassing Live's internal MIDI routing?

If this is the case, how would one then use that information in a M4L patch? Is that where the UDP port comes in- ie the remote script sends the sysex data to a UDP port, and listens on the same port (a bit like an insert point on a mixer), and M4L is able to intercept that data, do stuff to it (potentially), then resends it? The remote script then sends that data to a physical MIDI output of your choosing? Or am I completely off-beam here?

I think what I essentially need are two things:

1. A sysex record and playback device.
This would be some kind of device (an M4L instrument, probably), that could listen for sysex on a particular MIDI port/channel, and record it. It could then play that sysex out to the same port for recall of external hardware state.

2. In the absence of builtin support for recording sysex in Live, I'd like a device or method or converting incoming CCs (whether from a controller being played live, or from MIDI clips playing on that track) to sysex strings, and sending them out to external hardware. I think what I'm after here is really a custom MIDI Effect, though. I don't think there's a public API for MIDI Effects. I don't recall ever seeing any 3rd-party ones, anyway. I'd envisage adding this device to a given MIDI Track in Live, and that device would passively pass through all MIDI data, except for a given set of predefined CCs, which when detected, would be converted to sysex, based on some kind of (again predefined) lookup-table. These sysex strings would then be merged with the other MIDI data on that port/channel before being sent out to the external hardware.

Do either of these sound at all feasible currently, do you think?

a|x
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 » Sat May 15, 2010 12:14 am

Haven't forgotten about you, Toneburst, just over busy right now. I'll try to post later tonight.
http://www.aumhaa.com for Monomod and other m4l goodies.

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

Re: SYSEX Output

Post by amounra93 » Sun May 16, 2010 8:14 am

The second one is more feasible. Actually, either would work, but I think that you will have more luck with the second, just because of the nature of sysex.

Here is a good starting point. You will also need to put a python script inside your Live application bundle (lemme know if you don't know what I'm talking about).

Here's the basics of a patch to get you started. The python script is below. As far as using controllers converted into sysex, that will work: but I recommend using pattr's, as they will show up as named, automatable clip envelopes. This is how I automate most of the things I need in Live, and it will work for external devices as well.

I just put this together in a few minutes, and tested it briefly. You will need to install the python script in your Control Surfaces menu in the first slot for this to work the way it is.

The bit where it takes a controller input and converts it to a sysex string is there for demonstration purposes only. It would probably be useless in real life. But hopefully you get the gist.

Code: Select all

<pre><code>
----------begin_max5_patcher----------
662.3oc2Wt0aaBCFF9ZxuBKj1cYQ1FR.1Ua6uwTUjC3l3NvFgc1RWU+uOeHY
4PKFZKhnEoDr7ALu9g2uOadZRP3JwNpLD7EvO.AAOMIHv1jogf80CBqH6xKI
R6vB4zeKV8P3TWWJ5NksYkP9X0JQ4gNpIp7ML95kMzbka9QnEyfSAXzbSwb6
UT5LH3t82CqvNU5o+y33CSz8BthSpn1t9VCiTB9tnr3P27sULdIUYEG5Xihs
pKa0LSR1eryDBpe5tlciT8XM0IyvPvcldddxDyko8jKUTojrl9Bvfig.DXNH
AfvI.bbhGBggVlrHxTjgbUZAPn2CfvWQ.0hwYKulj+S.D.615jlZQBLyq0AN
bVG7ajLLtJbpqXHYjrtQOk2CLdoOwL+76i1iKDB2CdgxtQbRUrBljVpo.3q4
pR.ozW1nTKThcQbnnYy8PnjgyQk9VIzzi+Owc8pECILKEjhUD9Zetr4NWVzh
tymith4ysKigjM0MzZJu.jqcX.8MrTIVZLe8XuuHWFrnHuvJ8+sM+ZyDw9Ec
ltCCF5lMKrYqR76if2HIqrnQCiM8H.KyEfg7BF7v4Yhdu4nFzCNYfCHWKgFQ
4R41l6I4TI.0Cd4N+DBG46.Tnnans8zOAebIM1PhE1bOwIdO7zv4hfs.kgck
y3ctGOJ4jc5aK745kw8E6ba0mNAA+xOLytBMseNpjhsM4GlsCea.33xrfJUL
NQwD7SGT7YCZCqnfxO88llt0Bs31KBbl6HRNjhm+uZs3k6qXMG+bvE6GTSW7
3dcMY1kdL0jdmO8GR1glxNaPihlf8QSiGmLGVGf6xOAGeMkzklFWI0m2bIiq
j5UTWz3pIbeh5fiZT2EHnEMMx1oz9noORTmtxyS9Kf8OFaK
-----------end_max5_patcher-----------
</code></pre>
And the python script:

http://dl.dropbox.com/u/6044993/ProjectX.zip

Running sound right now (or I should be, anyway)....get back to me with more questions.
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 » Mon May 17, 2010 11:11 am

Hi amounra93,

sorry for the delayed reply. I've been away this weekend, so wasn't able to answer your message earlier. This looks cool. I will try it as soon as I get home from work, and get back to you.

Just to get me started, I know how to view the contents of an application bundle, but is there any particular place in there I have to install the script below? I'm a Mac user, don't know if this makes a difference at all.

Thanks very much!

a|x
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 » Mon May 17, 2010 9:24 pm

Applications/Live 8.13 OSX/Live/Contents/App-Resources/MIDI Remote Scripts/
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 » Tue May 18, 2010 9:33 pm

amounra93 wrote:

Code: Select all

<pre><code>
----------begin_max5_patcher----------
662.3oc2Wt0aaBCFF9ZxuBKj1cYQ1FR.1Ua6uwTUjC3l3NvFgc1RWU+uOeHY
4PKFZKhnEoDr7ALu9g2uOadZRP3JwNpLD7EvO.AAOMIHv1jogf80CBqH6xKI
R6vB4zeKV8P3TWWJ5NksYkP9X0JQ4gNpIp7ML95kMzbka9QnEyfSAXzbSwb6
UT5LH3t82CqvNU5o+y33CSz8BthSpn1t9VCiTB9tnr3P27sULdIUYEG5Xihs
pKa0LSR1eryDBpe5tlciT8XM0IyvPvcldddxDyko8jKUTojrl9Bvfig.DXNH
AfvI.bbhGBggVlrHxTjgbUZAPn2CfvWQ.0hwYKulj+S.D.615jlZQBLyq0AN
bVG7ajLLtJbpqXHYjrtQOk2CLdoOwL+76i1iKDB2CdgxtQbRUrBljVpo.3q4
pR.ozW1nTKThcQbnnYy8PnjgyQk9VIzzi+Owc8pECILKEjhUD9Zetr4NWVzh
tymith4ysKigjM0MzZJu.jqcX.8MrTIVZLe8XuuHWFrnHuvJ8+sM+ZyDw9Ec
ltCCF5lMKrYqR76if2HIqrnQCiM8H.KyEfg7BF7v4Yhdu4nFzCNYfCHWKgFQ
4R41l6I4TI.0Cd4N+DBG46.Tnnans8zOAebIM1PhE1bOwIdO7zv4hfs.kgck
y3ctGOJ4jc5aK745kw8E6ba0mNAA+xOLytBMseNpjhsM4GlsCea.33xrfJUL
NQwD7SGT7YCZCqnfxO88llt0Bs31KBbl6HRNjhm+uZs3k6qXMG+bvE6GTSW7
3dcMY1kdL0jdmO8GR1glxNaPihlf8QSiGmLGVGf6xOAGeMkzklFWI0m2bIiq
j5UTWz3pIbeh5fiZT2EHnEMMx1oz9noORTmtxyS9Kf8OFaK
-----------end_max5_patcher-----------
</code></pre>
Hiya, I've installed the Remote script inside the application bundle, but I'm afraid I'm a bit mystified as to what to do with the code above.

a|x
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 » Wed May 19, 2010 1:30 am

Copy the text, open a Max MIDI Effect patch and select from the Max menu "New from Clipboard". Its a compressed text version of a Max patcher. You won't get very far around these forums until you figure out that part lol.

You should use this code instead, there was one small mistake in the last bit that might give you trouble.

Code: Select all

<pre><code>
----------begin_max5_patcher----------
654.3oc0Wt0aaBCFF9ZxuBKj1cYQ1FH.6ps82XpJh.tIdCrQXmszU0+6yGHM
GZRvD0ZsHkfkOf+d4gW+YyySBBWx2RDgfu.9AHH34IAAllzMDzWOHroXaYcg
vLrPF4O7k+LbpsKIYqzzrjKdpYIudWGsExx0T1pEcjRoc9Qn4yfSAXThtHwb
EkMCBdn+dXaZnrZhzDHTeizJy7qh4mww6l8G4LIqngX55aczhZv240Ug6mH9
F4oyjsI4SsDqdBCeMx54SP+qoCDbFT25KSlnuL0QtzPDhhUj2.FbLDf.IfT.
BmBvwoWgPXngIyizE4HakKAH7Y.D5+X.cAiyFVaQ4u.P.bXqSVlAIv7wacf2
DYvWhLTlLbpsvCLRz1ohzi.sW5ST8uq6i5wEBgchWmwIgxu+bRMzJpfTqn.3
qkxZPQ80xFkYfRrcEGJZVxHcTnzahPYWjPS2++.20YK7.Lq4EUKKXqtlKKw5
xhlei4yQuy4yM50CrosizRXUfRkCCntgER9Bs4yg89hrYvhhFOrxt+VQVS+M
YlpCMFFlMyMYqRSFexJ3cJZTvXsCKvxsKvPi2yfuIvDMXNJebvIMb.kp4uiW
uPro6whRh35mRnmW1yOgvQi9.Tnn6ys8TA9ZbIKVSh4lbOwoi+vS2DTfd4Im
xFbOdT5A6zOpkOuulAW241LFUBB1oeXl4IT29wnRv2zUtKH61p.r+wrhHjTV
gjxYGNH3QCZMsphvN78lhtsbkl6EA3gy9hyYME4hlv9US5vgbgSH+ooXW3Tj
e4jKRJ0uRRGtzAzD1+RBOjj76ptSB2Ed0k6eMgbQS9aUG1oUcY90Ok6flNQ3
e3bB8AnIbt8iusaViSds1QhUU4kI+CvqnYbs
-----------end_max5_patcher-----------
</code></pre>
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 » Wed May 19, 2010 7:33 am

Ah, I seee....

I guessed it was some kind of binary file, but my attempt to save it as text and load it into M4L didn't work.
I'm a newbie when it comes to M4L. I bought it a while back, but haven't got around to trying it up till now, for various reasons. Now's the time though....

I'm stymied by a recurring font problem on my MacPro now, which is aggravating. As soon as I've got that cured, I'll be able to poke around and see if I can make this thing work.

Cheers,
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 » Wed May 19, 2010 12:53 pm

So, is there anything I have to edit in the python scripts to specify MIDI I/O? Or, do I do this in the MIDI Control Surface preferences in Live?

I've had a little poke around in the M4L file. I'm thinking maybe should just use M4L to create Live UI controls for the various parameters, so essentially making an editor for the synth. I can then use Live's own automation system to control the editor from my MIDI controller. I think this is what you were suggesting. Will your system, as it's currently setup, allow for that, by just modifying the M4L patch?

As the system is setup at the moment, does it pass through sysex data to the MIDI port setup in the Control Surface preferences, or does it translate a particular CC to a sysex string? Sorry to ask such a basic question, but as I said, I'm new to Max, and I'm currently at work, so I can't test it with the synth in question.

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

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

Re: SYSEX Output

Post by amounra93 » Thu May 20, 2010 7:39 am

Erm....I hope I'm not misleading you here. I've just given you a starter file to get working, but you'll have to learn a moderate amount of the M4L stuff to finish it.

If you insert the "ProjectX" as a Controller in the MIDI Control Surfaces page in Live Preferences, you will be able to send sysex out of whatever port you have assigned to its output on that page by utilizing the M4L patch I gave you.

I agree: setting up controls in the patcher which will be routed to sysex strings is probably the best way to accomplish what you want. Without knowing exactly what sysex strings the hardware is expecting to recieve, I couldn't tell you how to proceed. Glad to help out with more info, though :)

The patch I sent you doesn't really "DO" anything, it just gives you the capability of taking cc input and converting (this is the part YOU have to code) to sysex output to the port assigned to the Control Surface script.
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 » Thu May 20, 2010 2:19 pm

amounra93 wrote:Erm....I hope I'm not misleading you here. I've just given you a starter file to get working, but you'll have to learn a moderate amount of the M4L stuff to finish it.
Don't worry, I don't feel misled. I realised there was going to be some learning involved. I don't know Max, but I'm familiar with the graphical programming environment concept, having used several other applications that work in this way, so I should be able to pick it up reasonably well, hopefully.
If you insert the "ProjectX" as a Controller in the MIDI Control Surfaces page in Live Preferences, you will be able to send sysex out of whatever port you have assigned to its output on that page by utilizing the M4L patch I gave you.
That's cool. I managed to work that much out. I guess I don't need to set an input for the control surface in the Prefs, as it won't be receiving MIDI directly.
I agree: setting up controls in the patcher which will be routed to sysex strings is probably the best way to accomplish what you want. Without knowing exactly what sysex strings the hardware is expecting to recieve, I couldn't tell you how to proceed.
I do have a list of the strings for the various controls, as I made a patch for my Novation XStation a while back that seemed to work fine (that's how I know the EX-8000 is able to respond to sysex in realtime, unlike some synths of the same era).

Thinking out loud, I guess I'll probably try just doing a simple control for the cutoff (sysex '42 30 03 41 0F value'), as a start, then add more controls until I have a complete editor. I guess one of the hex numbers in the above string represents the MIDI channel, so I'd want to have a channel selector somewhere to change the channel on a global basis. I'll also need to find/make a dec>hex converter, and work out how to scale the controls appropriately so they send out value in the correct range. Hmm.. you're right, there's a lot to learn...
Glad to help out with more info, though :)
Thanks, I might well take you up on that offer :D
The patch I sent you doesn't really "DO" anything, it just gives you the capability of taking cc input and converting (this is the part YOU have to code) to sysex output to the port assigned to the Control Surface script.
I see now, thank you. I will (belatedly) have a look at the Max documentation, and see if I can get the basics under my belt.

Cheers,
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 » Thu May 20, 2010 9:42 pm

Hiya,

well, I've been poking around in M4L, and I must admit I'm completely mystified.
All I've managed to come up with so far is this

Code: Select all

<pre><code>
----------begin_max5_patcher----------
871.3ocyWszbaBCD9r8uBMb10CBvFZu0GSllCc5gdLSGOxfvVIBIWIQpcyj+
6UR7v3XfPRcb8AiE6Js629sqVIdX7Hmk7sXoC3Cfa.iF8v3QirhLBFU99HmL
z1XJRZmlCC+a9xaclTnBwXbERQ3LqxOKvHEVB9JdKPpDD1JPpfmAtlopVgBu
UYm6sRPF5N7O1IwamdqrROKOimqnXk0cvRoEhT61fKvpiC3mkp1fTwq0dZg.
GqJzB8bm5NA.gdl+hBsuDM0sdMjDKDzAx6fyq7bJmoXnLqGb9nffnfOwoIUp
i4Ttnv9EV27POBBCmOy9Zs40w.g8zPvXdI4OVyC0qyH8wwiMOlLPtmRtGOMQ
Crtn+bEOMEbk.+qbLKdW0ztGIpCrirwgDtWEqJvRLqv1MX1YyMQcfk.BBrOC
aD3Gmll.bRobjZH4qRierYQwJMpMf9fjPTXvLnIG3My88QlAg5bQP3gIilQR
y7QiZ.emZrIz7jBKVfYnkTby42ZRUhz3ZARoq0Wlqv6GIKSik4QSNfli4oUh
qjefO2tgyzP05.MIb7LxYDkTsq.XsMgLc8hQ2b+osqlX4.2V0Vk2fsnin8rl
+avKsYA4ZtX+dnhxQmVs18DIoGCkwSJiDnWXqfceo+hZG1lqnb1p5IbEgpkA
5FXF+1GEQIr6LVS1Gv4IcFWDVJuSnxEIXQWqzl56boxMXbBkj0YhQg2Tf4Bc
1FOU+8B6Bc3I.08yUb4trkb5orQdTjoWfmusO9rY80G2KXf8weqZN2Asna9k
rDwV8BoE6R5sm47hSghBddtAdgxM5VyavrDPLhR0WFX6BEeQFIg7FTBUb1Bz
2uWdJ5BsFxblsVgInN8TSjsPJr+JH2WCy3cdXFcnstcdwuu6kX+MfsXUsef8
RPd+mKczmIIQqvGuGSSNfXs8Eb5BYtHEEquft6I851k7jqsdB5UrGadGDk+k
Ykz2t9KWC9ddGavb6N58mYKOBrAew3NOi5xr8hMzulcJKIJIEnsoRP+MceMj
h6ySJVeoaPvd522ZgqQ9gLkjmKhqBtpSC.6gbBVpHr5Oi3l8MFaLo0jjDLqI
B0mmsgSXpRP.9Yq4sghIysbddLEcVwj+Pfz7yJjfCBSdmWLYbGbHkSvyGlFT
4j+4kmF.j9Wxb5Wdb7eA6RIh3B
-----------end_max5_patcher-----------
</code></pre>
with this JavaScript decimal > hex converter script (which I'm not even sure I need)

Code: Select all

/*
    Js code to convert decimal number to hexadecimal
    toneburst 2010
*/

// inlets and outlets
inlets = 1;
outlets = 1;

// Function to convert decimal to hexadecimal
function d2h(d) {
    return d.toString(16);
}

// Function executed when inlet value changes
var oldr = 0;
function msg_int(r ) {
    if(r != oldr) {
        var hex = d2h(r);
        if (hex.length == 1) {
            hex = 0 + hex;
        }
        hex.toUpperCase();
        outlet(0, hex);
    oldr = r;
}
I'm completely stumped as to how to concatenate the resulting value with the rest of the string. I tried using sprintf but the resulting string just gave an error when I connected it to the tosymbol object.
I tried creating the whole sysex string in the JavaScript, but I couldn't work out how to access the values of more than one inlet port so I could pass in a number for the MIDI channel and controller codes as well as the value from the knob.
You've been more than helpful already, and you're perfectly at liberty to just tell me to RTFM, but it would be really cool if you could give me a couple of tips on getting this one simple control working. Maybe I don't need the JS at all- I really only decided to do it that way because I know JavaScript
reasonably well. There's probably a builtin object to handle dec_hex conversion.
I guess a lot of this comes down to datatypes. I'm used to using languages like JavaScript and PHP that are pretty relaxed about converting between one kind of data and another. Maybe Max is more strict...

Any tips very gratefully accepted.
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

Post Reply