yep, i had do that. i must create a full command without prefix/suffix. so this function cannot take the same dynamic schem to be activated/déactivated because of name conflicts. So there is only one possibilities i must memorize to do it. that is the first limitation.
exemple:
possible prefixed dynamics commands:
(active;activer;activation;charge;charger;lance;lancer;ouvrir;ouvre;démarre;démarrer)
(arrête;arrêter;désactive;désactiver;stopper;stoppe;arrêt;coupe;couper;rentre;rentrer;ferme;fermer;fin)
suffixed dynamics:
(commande;reconnaissance) (vocales;audio;parole)
so i can spoke "active la reconnaissance vocale" to logicaly activate vocal command and "désactive la commande vocale" to déactivate it in the same dynamic suffix vocal command. see that i have more than this possibilities to call this function ( dynamics powa ). To resume, my suffix action depend on action vars initialized on prefix verb commands. So in facts it is the object who determined what i can do with him, and ignore others possibilities even if they were recognized.
unfortunately i must create another full command with another name to réactivate listenning because i can't use an existing command name generated by a dynamic/prefixed command (tested).
again, unfortunately with my method i must do a conditional test to get the action verb first, before doing the action.( see last message) that's the second limitation.
I dont know how you activate listenning with a vocal command, but, In profil option you could add a list where to specify commands(dynamics or not) manually, capable to reactivate listening mode when spoken even if the activation methode isnt at the first line. ( the listenning engine must only seek these specifics commands) it should be a sécure method to personalize the réactivation without interfer with the scripting method. maybe...
could you ?
ps: this method have compacted more than 300 commands in 40..... that is the best way i have found to opérate a natural speaking voice command interpreter. so i don't want to change this method. in addition, the code is more clear and visible. ( you 'll have a really good product when resulted )