Sequencing with coll, timeline, etc.

Brennon Bortz's icon

I'm trying to figure out the "best" way to accomplish a tax in Max. I've previously tried "sequencing"--er, probably stated best as "executing a series of predefined events...not necessarily MIDI"--with a coll object. I used the coll object to store a huge number of messages to be sent to receive objects. The text file quickly became absurdly large. I also became insanely frustrated with the fact that it discarded anything entered into the text file if even a single error (missing semicolon, etc.) was made during entry. On more than a few occasions, I lost ENORMOUS amounts of work due to this issue. What's more, such a large coll file is ridiculously hard to read, sort through, etc.

So, I've started playing with timeline, which seems to be equally buggy. My experiments have led me to several questions/issues:

1) Does anyone else have problems with a timeline object accurately reflecting the names and argument parameters of an associated action patch? For instance, in one action patch I reference, which uses 12 or so tiCmd objects, the contextual menu in the timeline editor shows the first 6 or so, and then repeats the same name for the rest of the objects. This persists even when I save the action patch, restart Max, reboot, etc. What's more, changing the name of the tiCmd object whose name is repeated in the timeline editor, shows the same change in the timeline editor. However, a message sent to one or several of these repeated objects in the timeline does get routed to the appropriate object! This would work, however, it's impossible to know which exactly of the repeated object names in the contextual menu to choose in order to send a message to the appropriate object. And, the contextual menu per-tiCmd choices (message, int, edetonate, etc.) are based on the arguments for that object that gets repeated. In other words, I only have the options to send a specific message (I'm not speaking about a "message" object, per se) to any of the "repeated" objects in the timeline editor.

Phew, that was a mouthful. I know that was quite convoluted, but any solution to the main issue should solve all of those other subordinate problems. I'm sure I'm not explaining clearly...

2) When sending a true-blue "message" from the timeline, is there any way to give it a label, caption, etc.? To give an example, the way I've worked around the problems I described above is to separate different pieces of patch "logic" into different action patches. (This solves everything above, but gets very unwieldy.) So, one action patch controls a group of related parameters within the main patch. I assign this action patch to one track. Within this action patch, there are several tiCmd objects, most of which send their output to a line object--so, they're all receiving messages. Even glancing away from a "stack" of such messages within one track, I can quickly forget which message is being sent to which tiCmd object, because they're not labeled in any way--just plain ol' messages. Is there any way to change this? Even a way to color them (though that's hardly preferable) would be a step in the right direction.

3) Is there simply a better way to do work like this? A lot of my work boils down to the need to do this sort of "sequencing"--before I have a finished product. It seems to me that this would be true of many Max/MSP works. Have I just missed something in my patch design? Am I conceptualizing things wrong from the beginning? Is there another method I should be using?

If you made it through all of that, thank you! Any and all comments and suggestions will be greatly appreciated!

Best,
Brennon

Steven Miller's icon

From all I gather (and my own experience with it), [timeline] is
seriously buggy and will not be fixed. Rumor has it that there will
be some other object(s) to replace its functionality in Max 5.
Meanwhile, if you're on a Mac have a look at ICE:
www.dspaudio.com/software/ice/ice_overview.php>. It's now free for
downloading.

On Mar 16, 2008, at 11:18 PM, Brennon Bortz wrote:

>
> I'm trying to figure out the "best" way to accomplish a tax in
> Max. I've previously tried "sequencing"--er, probably stated best
> as "executing a series of predefined events...not necessarily
> MIDI"--with a coll object. I used the coll object to store a huge
> number of messages to be sent to receive objects. The text file
> quickly became absurdly large. I also became insanely frustrated
> with the fact that it discarded anything entered into the text file
> if even a single error (missing semicolon, etc.) was made during
> entry. On more than a few occasions, I lost ENORMOUS amounts of
> work due to this issue. What's more, such a large coll file is
> ridiculously hard to read, sort through, etc.
>

----
Steven M. Miller
Professor, Contemporary Music Program
College of Santa Fe

Home
SFIFEM
Atrium Sound Space
OVOS
CMP