From: Joe E. <jo...@em...> - 2005-03-16 21:39:33
|
Brian wrote: > In the future, I would like to do a *much* more sophisticated cross > breeder, including this kind of functionality. Two issues though: One > is that a "Filter Envelope" would not be a name of a Param Model. Actually, I've been pondering a few ideas about that. Either ParamModels could be made so that they contain *other* ParamModels (like AWT containers being able to contain more containers). The utility of this (that I can think of right now) would be limited to: 1) You'd be able to select the granularity of crossbreeding (ie, you could use the entire Filter Envelope from Patch #1, or you could use the Attack point from Patch #1 and the Hold point from Patch #2, etc.). 2) If designed well, it might make it easier to code for complex data items which appear in numerous places. For example, if your synth uses 12 different envelopes (and the format of their data in the sysex is the same, just at different offsets within the data), then it should be possible to just make a FilterEnvelopeParamModel at each of those 12 offsets. > An envelope widget is actually an editor for many values, each with > its own model / sender. Well, in a nestable-ParamModel design, the overall FilterEnvelope probably wouldn't have a sender, but the individual points within it would. Granted, this might be making things too complicated, but I wanted to just put the idea in your head to see if you could envision any extra functionality that it might allow. > Anyway, this is long term stuff. Yet, there's no reason we can't be laying the foundation for it early. > I have some other ideas for the crossbreeder, Right now its pretty > stupid, but we can do a lot of interesting stuff with it by giving it > some more smarts about the patches its combining. One interesting idea that I thought of parallels what I've seen some photo-editing software do. I think Photoshop Elements does this. You tell it that you want to correct the color balance or something, and it shows you a 4x4 grid of thumbnails of your image, each with a different color correction applied to it. You click on one, and I *think* it then shows you another grid, with each of those being variations of what you picked. So, you're able to gradually "zero-in" on what you're after. I think that we could do that with JSL. MidiQuest currently does something like this, but it's not itterative. MQ lets you pick some number of patches and then it fills the current bank with random blends of them. I think that the most-clever tool, however, would be one that works like the Photoshop tool, where the user gets to itteratively pick the closest sound, and then JSL gradually converges on what the user is after. - Joe |