Author Topic: Contextual actions  (Read 1461 times)

0 Members and 1 Guest are viewing this topic.

fattybunter

  • $upporter
  • Contributor
  • *****
  • Posts: 57
  • Karma: 0
    • View Profile
Contextual actions
« on: June 23, 2011, 09:31:33 AM »
Not sure if this is doable as an additional feature or if I just have to be clever and do it with the existing tools.


I would like some actions to change depending on what the previous action was.  For instance, when in XBMC and I say "Scroll slowly", i want to be able to just say "stop" instead of "stop scrolling" since it's much more natural.  The only conflict with this I can think of is if music is playing, but I doubt anyone is going to want to stop music mid-scroll instead of stopping the scroll. 

Another example:  I use both MediaMonkey and XBMC to play music, so I would like to be able to say "stop" or "stop music" depending on which is playing music instead of "monkey stop" or "xbmc stop"


Again, not sure if this is a reasonable request, but I thought I'd throw it out there anyway.

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2319
  • Karma: 47
    • View Profile
Re: Contextual actions
« Reply #1 on: June 23, 2011, 10:36:13 AM »
Not sure if this is doable as an additional feature or if I just have to be clever and do it with the existing tools.


I would like some actions to change depending on what the previous action was.  For instance, when in XBMC and I say "Scroll slowly", i want to be able to just say "stop" instead of "stop scrolling" since it's much more natural.  The only conflict with this I can think of is if music is playing, but I doubt anyone is going to want to stop music mid-scroll instead of stopping the scroll.  

Another example:  I use both MediaMonkey and XBMC to play music, so I would like to be able to say "stop" or "stop music" depending on which is playing music instead of "monkey stop" or "xbmc stop"


Again, not sure if this is a reasonable request, but I thought I'd throw it out there anyway.
Hi fattybunter,
I'm not sure if I understood you correctly, but you can customize the phrases in the tree editor to your needs. You can use multiple phrases for a action. Example "stop music, please stop the music, music off," and so on. You must always separate the phrases with a comma. See picture for example in german.
You can create a event that diable all commands for MM when XBMC is active and also disable all XBMC command when MM is active. See picture for example.

Kalle
***********  get excited and make things  **********

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Contextual actions
« Reply #2 on: June 23, 2011, 10:49:40 AM »
under group properties you can specify that a group is only active when a program is focused.  You can also make a group active only when a particular process is NOT focused by putting an '!' in front of the processname.

So you could for example put some mediamonkey commands in a special group.  Open the group properties and where it says "active only for process:" enter this:   !xbmc
Then it will only listen for these commands when xbmc is not focused.

if you want more control you can use the actions that enable and disable groups: http://voxcommando.com/mediawiki/index.php?title=Actions#EnableGroup

you can also use the events generated whenever program focus changes, and xbmc generates evens when playing and pausing.  These show up in the history window and can be dragged onto a command to trigger it.

for scrolling you could enable the "stop" command group that stops scrolling.  By elevating the group priority, this stop command would supercede others whenever it was active.

note that any recognized command will stop any command that is currently looping, immediately, and then execute the new command.

I've really tried to make VC as flexible as possible so that you can be creative and customize everything to your personal scenario.  Of course there is always more that can be done to make it more powerful, and easier to use.  Sometimes I can do both, and sometimes I must balance one against the other.  Once you learn the ins and outs there is actually a ton of stuff you can do.

At some point I would like to create better tools for adapting to context.

EDIT: Kalle beat me to it!  Hopefully you'll get something from both responses.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Contextual actions
« Reply #3 on: June 23, 2011, 10:53:38 AM »
you could also just create a master stop command that checks if xbmc is running and if so sends xbmc a stop, then checks if MM is running and if so, sends it a stop command. (In this case I am ignoring the scrolling issue)

fattybunter

  • $upporter
  • Contributor
  • *****
  • Posts: 57
  • Karma: 0
    • View Profile
Re: Contextual actions
« Reply #4 on: June 23, 2011, 11:05:58 AM »
Thank you both for the answers.  I'm used to the event/action structure with EventGhost, but this is slightly different so I guess that's where my confusion came in.

"under group properties you can specify that a group is only active when a program is focused.  You can also make a group active only when a particular process is NOT focused by putting an '!' in front of the processname."

I think this will be perfect, but of course the other pointers will be helpful too once I want to make things more elegant.