Hi Charles,
Post by Charles JolyThis looks very promising!
I thought about it and Gate are not required.
I improved the design lately.
Post by Charles JolyI think it would be a nice addition to be able to disable all the
current gates of a master mode without referring to them directly.
The design is to still register the next master mode with:
void ComputeCore::setMasterModeNextMasterMode(PluginHandle plugin,MasterMode mode,MasterMode next);
but the new code will accept more than 1 next MasterMode handle for any current MasterMode.
The selection will be done with:
void CompureCore::setSelectNextMasterMode(PluginHandle plugin,MasterMode masterMode, MasterMode selectedNextMasterMode);
So obviously the best thing to do here I think is to add a master mode whose role is just to do this selection.
The path
A B C D E F G H
o---->o---->o---->o---->o---->o---->o---->o
becomes
A O* B C D E F G H
o---->o---->o---->o---->o---->o---->o---->o---->o
\
\
\ R S T U V W
->o---->o---->o---->o---->o---->o
Where the O* MasterMode perform the test and decides which path to go.
The default path is the first registered.
Does that fulfil your requirements for your work ?
If yes, I will cook up a patch.
-Sébastien
Post by Charles JolyThis way a plugin do not have to know the name of every gates that
were associated with the master mode by other plugins.
Charles Joly Beauparlant.
On Tue, Dec 4, 2012 at 10:53 AM, Sébastien Boisvert
Post by Sébastien BoisvertHello,
[I need at least one person for reviewing this.]
https://github.com/sebhtml/RayPlatform/blob/master/Documentation/Gates.txt