large multislider object and "preset" crashes max – help appreciated!

I’d like to apologise for the fact that my first post is a thread regarding a problem. I was hoping to share my attempt at a wave-morphing synth with the community, but I’ve run into difficulties using the ‘preset’ object in Max/Msp 5 on Windows 7 64-bit.

whereby a series of large "multislider" objects (512 sliders) are used to fill buffers which are then interpolated using an instance of "2d.wave~".

The technique works well, but I would like to add the ability to store and recall custom waveforms using ‘preset’. At present the multisliders are housed inside a subpatch, so I would need to connect them to preset via send and receive. Unfortunately, I have found that whenever I attempt to store the state of a multislider with a large number of sliders (=> 300, roughly), Max crashes. It works fine when the multislider is patched directly to preset, but always crashes whenever send and receive are used.

Here’s a little patch to help illustrate my problem. It would be very helpful to know whether others witness the same behaviour:

-- Pasted Max Patch, click to expand. --

Copy all of the following text. Then, in Max, select New From Clipboard.

If anyone can offer any insight, I’d really appreciate it. It won’t be too much of a headache to move the multisliders into the main patch and connect them directly, but it would be helpful to know whether or not this is a software bug, a platform specific problem or an oversight on my part.

Thanks in advance for any help or advice, here’s a quick overview of my system (just in case it helps):

Thanks for your response and thanks for the advice regarding pattr/pattrstorage. I actually utilised pattr in this patch to handle data from my waveform equations, but haven’t had a chance to study the broader system in any great detail. I’m still a novice really, and the [preset] object seemed like a simple means of adding a function to a patch that was more or less complete. I’ll definitely look into it.

Anyway, Max has stolen enough sleep from me for the night. I’ll look forward to hearing your thoughts on the [preset] issue once you’ve had a chance to investigate.

Here’s a patch I made awhile back for interpolating small buffers using multislider as an "in-between", so you can easily draw and store with pattr. It also lets you load an audio file and scrub to any point in it, which then takes the selected # of samples you want and puts it into multislider and the resulting buffer~. I limited it to 1024 samples, but multislider supports up to 4095. Should work fine to just specify more.

Also you can do all this with jit.catch~ which might be better in the long run—all the jitter FX can be applied to your audio parts, where interpolation is a simple jit.xfade between two matrices of audio data.

Some tidying up is needed, but the idea is there and you can get some fun sounds out of it, especially by changing the playback rate. with small samples at speed 1 it sounds like stuttery clicks, but up the speed to about 4 and you’re off into 80’s synth land :)

-- Pasted Max Patch, click to expand. --

Copy all of the following text. Then, in Max, select New From Clipboard.