wow, long post. You're going to make me work now aren't you?
I'm really not following you now about the focus. First of all, there are two different kinds of focus in VC. There is a focus action that you can use in a command macro. You can use this to focus any program that is running. Then there is the focus detection system, where the currently focused program will show up in the command history automatically whenever a new program gains focus.
If you want to be able to bring a program into focus with the focus command, you just need to use the process name as the parameter. If you don't know the name of the process, you can
a) focus it, and the name will show up in the command history
b) look in the Windows Task Manager (Ctrl-Shift-Escape) which will show all your running processes.
now I think I am understanding better, and I don't want to automatically add all the running processes to the focus command. For one thing, they are always changing and VC likes to know the commands in advance. for another thing, there are many many processes running on your system and adding them all automatically will potentially cause problems with people accidentally focusing the wrong thing. The focus command is sort of an advanced feature anyway, I don't see new users using it that much.
Group specific prefixes have been around for a while.
We will have more control soon as I add events. You can use events to control focus volume etc. depending on what state the system is in... not for beginners!
I am sure there will always be new surprises...
I even surprise myself sometimes...
The bin is just a place where you can drag stuff to and from your main tree. You can open any command xml file there. Notice there are 3 icons over the bin. Save, Save-As and Load. When you first open the editor it opens the "bin.xml" file by default, but you can open something else if you want to mix and match commands and groups from different configurations. Just be careful, when you click "Save all" it will save the bin as well so if you dragged something out of the bin, dont' click save all unless you want it removed from the bin!
Eventually I would also like to have a WEB bin, that you can connect to which takes you to an online repository of commands. There could be an area for "official" bins and an area for users bins, and we could categorize them by program and language. One day............ but not today.
I can add only basic commands to winamp because there is no interface provided for move advanced functions. I looked at foobar for a while. There is nothing built in that would allow proper control over it. I tried playing with some plugins for foobar that might add functionality similar to what we have for MM but I didn't get very far before I got frustrated. If you want basic control for either of these programs you can do it with eventGhost, but I didn't want to clutter VC up with more stuff if I couldn't provide a decent feature set. As far as getting new users goes. There are millions of people using XMBC, iTunes, MediaMonkey etc. They just need to know about Vox. I think I need to work on features, simplicity of setup, and getting exposure, more than I need to be adding new programs. At least for the time being. I am already spread too thin. I appreciate the suggestion though.
Features that were more aware of your web browser are interesting, if a little over my head at the moment, especially considering how many different browsers there are out there. I would probably have to write separate code for each one. Perhaps is a plugin in the browser itself could send info to VC? For now I think it's too much work. You can do a fair amount now with keyboard emulation (go back, open new tabs, search for anything etc.) and with plugins like "mouseless browsing" for firefox, you can actually click links by voice as well.
There is already quite a bit of support for mouse emulation in Vox. Go look in the command builder! If you click the wand icon, you will see a tree with all available macro actions. You can right click, left click, move relative, move absolute, double click, drag etc.
I don't know about your monitor. Something in your system is telling it that the monitor is asleep. I'm using a typical system call to put the monitor to sleep, and there's really not much code in there that I can change. Does it typically wake up right away, or after some time?
Are you using XBMC on the same computer as VC? If so you should just use the ip address 127.0.0.1 instead of the actual ip address, that way it will never change. 127.0.0.1 basically means the ip of "this computer", and is sometimes called localhost.
I don't see a practical way that VC could automatically scan for XBMC's ip (other than sending out 256 webrequests), especially since you may have more than one instance of XBMC running on your LAN, but if I can figure it out, it would be nice to be able to use UNC names instead of IP addresses. (i.e. \\computername)
Phew! I made it to the bottom . Time to go make dinner.