If I click Get Event or GGCal set timer via the ggcal plugin I get the information in a dialogue box ala the tutorial, but the event does not show up in the VC history window???
I'm running VC 2.2.1.2 & GCal plugin V3.
Hm. Sounds like you might want to watch the video again. In it, James says that the event will not appear in the history window until the actual time that the event is scheduled to occur. He then demonstrates that.
With regard to the Ggcal version you're using, the latest version is GgCal 2.0.0.4
Going forward, knowing the true version number for various plugins will likely help avoid misunderstandings.
The plugin uses v3 of Google's API. I think James added the label "v3" to the settings window for long-time users, to alert them to the fact that the plugin was now using v3 of Google's API. I can see how that would be confusing!
However, VC plugin version numbers can always be found in the plugins tab within the Options or, for active plugins, the Plugins window that can be enabled in the main UI window.
Anyway I have copied the above code & whilst modifying it I'm trying to understand what each bit does.
{PF 1} Why is this used in the show OSD as all it does is show up as {PF.1} & when I delete it the command works fine without?
{PF.1} is only relevant if your command using a PayloadXML file in which phrases are associated with "unfriendly" values.
As Kalle mentions, in my command, I have associated friendly days of the week with the numbers that Google requires.
The GgCal.GetDay action requires {1}, because it needs a number, not a day of the week. It is only the OSD and TTS that would require {PF.1}. Since you didn't try to use {1} in your OSD etc., it is not a problem for you when you issue the command.
Lastly is there a way to say, "what's on my calendar on Friday", I imagine this would be done using the payload.xml but not sure what value I give to a day? Or is this as mentioned elsewhere a case of getting into the python plugin?
Yes, this requires an advanced solution that involves the Python plugin. I suggest holding off on this until you're more comfortable with the program.
So the below code is what I have done & it's working fine.
It may seem as though it's working fine if you only have one event in your calendar. However, your OSD will only show you the first event if you have more than one event on that day.
Below is how one would adjust your command so that it will return multiple events, if more than one event is scheduled for that day.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.4-->
<command id="139" name="What's on my Google Calendar {1} (revised)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Each event for that day is returns as a match: {Match.1}, {Match.2} etc. Currently will use your default calendar feed.">
<action>
<cmdType>GgCal.GetDay</cmdType>
<params>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>Agenda:</param>
<param>4000</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.AddText</cmdType>
<params>
<param>{Match.{i}}</param>
</params>
<cmdRepeat>{#M}</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{Match.{i}}</param>
</params>
<cmdRepeat>{#M}</cmdRepeat>
</action>
<phrase>What's on my Calendar, Do I have any appointments</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="True">payloads\Google days.xml</payloadFromXML>
</command>