On Sat, Apr 17, 2004 at 10:40:51AM +1200, Jeff McClintock wrote: > selector, the morph did not work. The morph is not triggereable via a MIDI > note-on. Download Symptohm Melohman. Melohman s their new standard of interactivity for VSTs, and players LOVE IT. > This strongly points to the morph being implemented in the plugin's custom > GUI. A solution I suggested at the start of this discussion. One I can live with, if that is our final answer. However, take a step back for a second. A custome UI that sends events for a morph is exactly analogous to a "helper" plugin. Right? Now I said it should really BE a plugin in the process() path. It could be a thread or timer or something running in the GUI context which sends the events, but I can't see any win there. > Tim wants morphing that: > - Works without custom GUI. (DSP driven) To be fair, I just said "works without a custom GUI", I don't care what drives it. > - Updates the UI as morph progresses This is the one that matters most, to me. And don't forget "can be triggered by MIDI or any other mechanism". :) > I'm not anti-morphing. I am anti "spontaneous parameter changes". I > believe there to be unresolvable timing issues. So if the parameter changes come from a help plugin, they are not spontaneous, right?. > If there is a way to do "spontaneous parameter changes", that's fine, but I > genuinely believe it to be a problem area. I will wait an see Tim's > proposed solution, he may have a good way of doing it. The synchronous actor model solves inter-parameter linkages nicely. Add the notion of a helper plugin, and all issues that I can see are solved. Without violating any of the existing assumptions. Without being too gross. Without being hard to explain. The details of undo and recording and stuff are imminently solvable, I think. I need to find an hour tonight or this weekend to look at the reqs, re-read the 100+ messages in this thread, and capture the reqs. The whole "helper" part is really just a note next to the requirements. In short: Inter-parameter linkages can be defined by plugns providing an 'actor' which is called by senders of events. Actors can impose parameter rules to modify or even reject events based on other conditions. Plugins never send themselves events. If you want to do things that appear to be spontaneous changes, you can use a helper plugin. GMPI may choose to codify this process alongside the 'actor' model. The details are really beyond what we need to solve right now, though (as usual) we have many of them worked out, I think. Tim ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe