Difference between revisions of "Change Log"

From LINKS - Documentation
Jump to: navigation, search
(#ChangeLog v2.6.3.54)
(#ChangeLog v2.6.3.30)
Line 219: Line 219:
 
* Fixed shutdown so it closes LINKS completely.
 
* Fixed shutdown so it closes LINKS completely.
  
===#ChangeLog v2.6.3.24=== (Latest Public Beta as of 02/21/2017)
+
===#ChangeLog v2.6.3.24 (Latest Public Beta as of 02/21/2017)===
 
* Fixed issue with dictation in shell.action field.
 
* Fixed issue with dictation in shell.action field.
 
* Added functions:
 
* Added functions:

Revision as of 16:56, 21 February 2017

Here you can find changes done around every major dev beta update and that are now available in public beta.

Contents

#ChangeLog v2.6.3.104

  • Added a check for Ivona vendor "IVONA Software Sp. z o.o." which caused crashing.
    • This vendor is not compatible with all the speech functionalities. Like inline volume\rate control.

#ChangeLog v2.6.3.103

  • Added function:
    • [GetWordColumn("WordList","ColumnNameOrNumber")]

#ChangeLog v2.6.3.102

  • Added function:
    • [SetWord("test_greetings","good day","converted value","Good day")]
      • Example: http://localhost:54657/?action=[SetWord("test_greetings","good day","converted value","Good day")]&key=ABC1234
      • It takes existing wordlist, uses headers to distinguish which column to use.
      • Allows you to add or update words.

#ChangeLog v2.6.3.101

  • Added functions:
    • [CurrentWindowState]
    • [IsVisible]
    • [Show]
    • [Hide]

#ChangeLog v2.6.3.100

  • Added functions:
    • [GetSpokenPhraseFromGRXMLResult()]
      • Works after we call [GetRecognizedResult(...)]
    • [GetTagFromGRXMLResult("TagName")]
      • Works after we call [GetRecognizedResult(...)]
    • [Clear("FunctionOrString")]
      • Clears return value from function

#ChangeLog v2.6.3.99

  • Updated function:
    • [GetRecognizedResult(...)]
      • Updated so it stops listener before getting the results and start listener afterwards.
  • [GetProperty("name")]
    • Fixed
  1. ChangeLog v2.6.3.98

Added function: [GetProperty("name")] Updated function [SetProperty("name","value")] So it saves the properties in xml Sound effects function updated also, may resolve Cortana issue.

#ChangeLog v2.6.3.97

  • Added properties:
    • CreateVolumeGrammar
      • Can be set to false so default grammar is not made
      • Example: [SetProperty("CreateVolumeGrammar","false")]
  • CreateSwitchProfileGrammar
      • Can be set to false so default grammar is not made
      • Example: [SetProperty("CreateSwitchProfileGrammar","false")]
  • Updated function:
    • [SetProperty("name","value")]
      • This should be able to set any LINKS properties that is stored in InternalStrings or config xml
  • Added function:

#ChangeLog v2.6.3.96

  • Tray menu all organized
  • New tray option to keep LINKS on top
  • Bug fix for UserVars

#ChangeLog v2.6.3.93

  • Functions added:
    • [PlaySoundSync("sound effect")]
    • [PlayWavFileSync("full wav file path")]
    • [strike]Some more tool tips in internal functions under tray menu[/strike]

#ChangeLog v2.6.3.87

  • Updated tray menu for plugins.
    • Allows user to:
      • Run functions.
      • Remove plugins.

#ChangeLog v2.6.3.86

  • Added Function:
    • [SetSaveRejectedSpeech("true/false")] ' enabled by default
    • [Get_LastRejectedSpeechWavePath] - we may have to update this so filename removes any special characters.
      • Use this to get path to last rejected speech wav file path
  • Fixed:
    • Shell -con speech response issue.

#ChangeLog v2.6.3.85

  • Added cache control in WebRequest, so nothing is cached on client.

#ChangeLog v2.6.3.84

  • Added Function:
    • [SetRecogProfile("ProfileName")] - needs testing

#ChangeLog v2.6.3.83

  • Updated functions:
    • [GetRecognizedResult(…)]
      • Added error control

#ChangeLog v2.6.3.80

  • Bug fix - For response with wordlist variable
  • Updated Function:
    • [SetClipboardText(...)] so it does not return the clipboard
  • Changed "do not listen while you speak" functionality so it uses UserVoiceThreshold instead of disabling grammar on the fly that may have caused GetAnswers to not work properly.

#ChangeLog v2.6.3.79

  • A bug fix - clears any wandering speech prompts after 5 seconds when sync Speak is called multiple times in succession

#ChangeLog v2.6.3.78

  • Updated functions:
    • [GetRecognizedResult(…)] to fix Invocation error (tested for error)
  • Updated command dup check for Default commands.
  • Bug fix - For action with wordlist variable
  • Updated functions:
    • [GetClipboardText(...)] so it does not return the clipboard
    • [GetRecognizedResult(…)] to fix Invocation error (not tested)

#ChangeLog v2.6.3.77

  • Added voice threshold option

#ChangeLog v2.6.3.73

  • Added UserVoiceThreshold - set at 12 by default, may need to change mic volume or change the threshold as you prefer.
    • See Debug window for more details when you speak - itll alow you to figure out the correct threshold for your mic level.
    • Threshold is basically how loud you speak, the code takes 5 loudest points in the voice then averages it out then check against UserVoiceThreshold.
  • Added function:
    • [SerUserVoiceThreshold("Threshold as decimal")] - will be renamed to [SetUserVoiceThreshold(..)] in next update.

#ChangeLog v2.6.3.69

  • Added function:
    • [GetRecognizedResult("GrammarXML file","RuleName")]
      • Uses grxml file from GrXML folder, return recognized speech.
      • Example: [GetRecognizedResult("test_en-US", "Confirmation")]

#ChangeLog v2.6.3.67

  • Async tasks from plugins can now be called from LINKS ( this was an issue - it was calling the task from plugin and getting stuck on it)

#ChangeLog 2.6.3.64

  • Added Function:
    • [IsSpeaking]
    • [GetVersion]
    • [SetDefaultConfidence("0-1")]

#ChangeLog Unknown

  • [Audio("file path")] in any response
    • if response is like this:
    • sound of bird [Audio("bird")], sound of wind [Audio("wind")]
    • It will be all said and played in synchronously.
    • bird.wav and wind.wav has to be in soundeffects folder or full path or a url will be needed

#ChangeLog 2.6.3.58

  • Added a function:
    • [SetDefaultConfidence("confidence")]
      • Example: [SetDefaultConfidence(".5")]

#ChangeLog 2.6.3.57

  • Added a function [GetRecognizedSpeech]
  • Saves recognized command and returns path to the wav file.

#ChangeLog v2.6.3.56

  • Can handle one WordList grammar.

#ChangeLog v2.6.3.55

  • Added functions:
    • [AddCommand("shell/web/default","command/grammar","response","action","profile","phrase on success")]
    • [AddCommand("social","command/grammar","response","","profile","phrase on success")]

#ChangeLog v2.6.3.54

  • Updated Settings window - for theming

#ChangeLog 2.6.3.53

  • Updated [AddCommands("full path")] function
    • Checks for existing commands, does not adds duplicates.
    • Path is not case sensitive anymore.
  • Added [AddCommands("full path","phrase")]
    • Speaks phrase if command is added.
  • Fixed sound settings bg issue.

#ChangeLog 2.6.3.51

  • Added override=true in speak.html

#ChangeLog 2.6.3.50

#ChangeLog 2.6.3.49

  • Added updating status in tray icon
  • Added notification popup when update is completed.
  • AppUpdate strings are now available in InternalStrings.xml

#ChangeLog v2.6.3.46

  • Added request=override option for web requests. See change log .2.6.3.50

#ChangeLog 2.6.3.45

  • PTT on load is back, please let me know if it works better or not
  • Test re-pluging microphone, and maybe change default mic - see if it picks up the mic without restarting.

#ChangeLog 2.6.3.44

  • Added PersistedLanguageModelAdaptation and turned off all adaptations

#ChangeLog 2.6.3.40

  • Main window working with colors completely

#ChangeLog 2.6.3.39

  • Added theme customization

#ChangeLog v2.6.3.35

  • Fixed speech rate when using setVoice function.

#ChangeLog v2.6.3.31

  • Added speech rate slider in settings.
  • Fixed loading of correct volume and rate based on config on startup.

#ChangeLog v2.6.3.30

  • Fixed speech folder error on startup
  • Fixed shutdown so it closes LINKS completely.

#ChangeLog v2.6.3.24 (Latest Public Beta as of 02/21/2017)

  • Fixed issue with dictation in shell.action field.
  • Added functions:
    • [MoveThisWindow("ScreenNumber","PhraseOnSuccess","PhraseOnError")]
    • [MoveWindowByCaption("WinCaption","ScreenNumber","PhraseOnSuccess","PhraseOnError")]
    • [CloseWindowByCaption ("WinCaption","PhraseOnSuccess","PhraseOnError")]
    • [ActivateWindowByCaption("WinCaption","PhraseOnSuccess","PhraseOnError")]
    • [GetCaption("PhraseOnError")]
    • [SetWindowTransparency("Percent","PhraseOnError")]
    • [SetWindowTransparencyByCaption("WinCaption","Percent","PhraseOnError")]
    • [MoveWindowEx("WinCaption","WinLeft","WinTop","WinWidth","WinHeight","PhraseOnSuccess","PhraseOnError")]
    • [MoveThisWindowEx("WinCaption","WinLeft","WinTop","WinWidth","WinHeight","PhraseOnSuccess","PhraseOnError")]

#ChangeLog v2.6.3.18

  • Added functions:
    • [GetClipboardText()]
    • [Clip()]
    • [Type("str","sendkeys"] or [Type("str","winforms"]

#ChangeLog v2.6.3.17

  • Functions added:
    • [LoadProfile("profile name")]
    • [GetSpeech()] - use with output=response and request=DISABLE_RECURSE
      • Same as [GetLastSpeech()]
    • [GetClipboardText()]
    • [StreamIt("full file path")] - works with mp3
    • [SerialWrite("LED.ON","SerialConfig_test")]
    • [SerialReadLine("timeout in ms","SerialConfig_test")] (not stable)

#ChangeLog v2.6.3.15

  • Functions Added:
    • [GetLastSpeech()]
      • Enables speaking through browser
      • Run in webrequest with DISABLE_RECURSE action=[GetLastSpeech()]&request=DISABLE_RECURSE
      • Use in chrome only/maybe edge
    • [GetLastSpeechAsBase64()]
      • gets last speech as base64
    • [GetNextWaveFilePath("")]
      • file name to be used for other wave files.
      • This allows you to save custom wave file with a specific name in Customization\Speech\ that would be played by GetLastSpeech() function.
  • Added speech wav files in Customize\Speech folder
  • All async speech will be stored there for the session
  • Added 4 default commands
    • enable auto updates
    • disable auto updates
    • enable saving speech
    • disable saving speech
    • Reverted cortana.dll to older version

#ChangeLog v2.6.3.11

  • Read this - fix for ;
  • AiIntro function - had a problem in GetWord function - fixed. - May affect GetAnswer function (possibly in better direction.)
  • Speak function updated - When invalid voice name is provided it should handle that a bit better/faster

#ChangeLog v2.6.3.8

  • Updated [VoiceName...] parsing when using -ret
  • Added Functions:
    • [GetActiveVoiceName()]
    • [GetCurrentVoiceOfSpokenPhrase()]
    • [GetDefaultVoiceVolume()]
    • [GetDefaultSystemVolume()]
    • [GetDefaultVoiceRate()]

#ChangeLog v2.6.3.6

  • Keyboard section updated.
  • Record button working again.
  • Syntax updated for keys.
  • List of Keys that are now used in keyboard section.
  • Added Mouse event commands.
    • {MOUSE.MOVE:X-Axis,Y-Axis}
    • {MOUSE.LEFTDOWN}
    • {MOUSE.LEFTUP}
    • {MOUSE.RIGHTDOWN}
    • {MOUSE.RIGHTUP}
    • {MOUSE.MIDDLEDOWN}
    • {MOUSE.MIDDLEUP}

#ChangeLog v2.6.3.3

  • Updated Functions:
    • [AutoSleep(...)]
    • [GetAnswer()]
  • Added Function:
    • [InitQuestion("QuestionByAI","WordListTextFileName","PositiveGrammarColumnNameOrNumber","PositiveResultColumnNameOrNumber","NegativeGrammarColumnNameOrNumber","NegativeResultColumnNameOrNumber","ListeningTimeout","ShowIfItsNegativeOrPositive")] [GetAnswer()]
  • Tray/context menu now has version numbers for plugins.
  • Changed auto reset code so it uses less cpu.

#ChangeLog v2.6.2.96

  • Added customizable sounds for cortana without ui command.

#ChangeLog v2.6.2.94

  • Added New functions:
    • [SetVarDate("varName","date")]
      date format = yyyy,MM,dd,hh,mm,ss
    • [SetVarDate("varName","value","date")]
      date format = yyyy,MM,dd,hh,mm,ss

#ChangeLog v2.6.2.93

  • Added function:
    • [AutoSleep("EnableOrDisable","Timeout","PhraseOnExecute")] - not tested
  • Updated Function:
    • PlaySound function to be more stabilized
    • Cortana function
    • Added done sound on no GUI

#ChangeLog v2.6.2.91

  • Plugins can now be loaded from tray icon..
    • Plugins config is saved in Customization\XML\PluginsConfig.xml

#ChangeLog v2.6.2.88

  • Added function:
    • [GetPrevious("var name")] or [GetPreviousVar("var name")]

#ChangeLog v2.6.2.87

  • Added functions:
    • [Set("varName","varValue","resetTime","resetValue")]
      • Sample:
        • [Set("Details","NewsDescription","30","")]
        • [IsEmpty("StringToCheck")]","Return this string if StringToCheck IsEmpty")]
      • Sample:
        • [IsEmpty("[Get("[Get("Details")]")]","Details for what, sir?")]
        • Return data from a variable that may exist and speak it, else return "Details for what, sir?"
    • [Remove("varName")] or [RemoveVar("varName")]
    • [GetDateTime("varName","DateTimeFormat")] or [GetVarDateTime…]
      • Sample:
        • [GetDateTime("Details","dd/MM/yyyy")]
        • [GetDateTime("Details","HH:mm")]
    • [IndexOf("string","string to find")]
    • [LastIndexOf("string","string to find")]
  • Updated Functions:
    • Set/Get functions updated
    • Set function now updates DateTime and PreviousValue values.
    • Get doesn't not error anymore when variable is not found.

#ChangeLog v2.6.2.81

  • Fixed db loading issues.
  • Added a way to auto fix db connection issues.
  • Exposed SpeechSynth.SpeechPrompts so other apps/plugins can figure out if LINKS is speaking.

#ChangeLog v2.6.2.76

  • Function Added:
    • [LINKS.LHttp.Put("JSON","URI")]
    • [LINKS.LHttp.Put("{"on":true}","http://huebridge/api/lz3nFIcGOelQlsxsDJYqrXGuxivjFmWswZ9fIGcw/lights/1/state")]
  • Changed default settings
    • Made PersistedBackgroundAdaptation off by default
    • Moved music function to "Initial checks completed"
    • Disabled push to talk check box

#ChangeLog v2.6.2.74

  • Play/pause/stop music/video, show/hide media player commands updated.
  • Show/hide should now work with any media player selected in settings.
  • Play video should now play a random video.

#ChangeLog v2.6.2.73

  • Plugins now loads after everything else is loaded to make sure nothing crashes while it loads new assemblies.
  • Smoother startup animation.
  • Added plugins OnDispose support.
    • This method is called from all plugins before LINKS exits.
  • Allowed case insensitive for built in functions.
  • Replies back when asked to check update.
  • More stable webserver initialization.

#ChangeLog v2.6.2.71

  • Allows to run async functions, first async web function will be the uAuth2 function...
  • New default function added: "close without confirmation" (add it manually in default commands)

#ChangeLog v2.6.2.70

  • Bug fix for functions.
    • \\ was not allowed in beginning of any parameter. Fixed.

#ChangeLog v2.6.2.68

  • Enabled position saving for main control center.

#ChangeLog v2.6.2.67

  • Some UI templates updated so plugins can access them.

#ChangeLog v2.6.2.65

  • Added Function:
  • [SayAs("data","ContentType")]
    • This function is only for speech (obviously)
    • See this for more info on ContentType
    • Sample:
      • http://localhost:54657/?action=[Speak("The phone number is [SayAs("18001239874","Telephone")]")]&key=ABC1234

#ChangeLog v2.6.2.64

  • All UpdateReached events updated to fix multiple recognition events issues.

#ChangeLog v2.6.2.61

  • InitReport will now be written if audio error occurs.
  • Tray icon is now only clickable when LINKS is online and ready.
  • Each db command now starts with open and end with close connection, may help db issues.

#ChangeLog v2.6.2.58

  • Error log will now be posted in event viewer if LINKS is started as Administrator.

#ChangeLog v2.6.2.55

  • Might fix issue with DB connection bug when changing profiles while mic is on.
  • Test db performance issues including:
    • Calling commands from different sections and changing profile then calling more commands.
    • Changing profiles by voice vs change profile with UI.

#ChangeLog v2.6.2.52

  • Added Function:
    • [GetFile("FilePathOrUri","SaveAs")]
      • SaveAs is optional
      • Any file can now be downloaded. Might have a size limit.
      • Sample:
        • http://localhost:54657/?action=[GetFile("http://jarvis.ai-dot.net/test.txt","test.txt")]&key=ABC1234&output=response
    • [JsonToXML("FilePathOrUri","SaveAs")]
      • SaveAs is optional
      • Sample:
        • http://localhost:54657/?action=[JsonToXML("http://ai-dot.net/test_json.json","test_json.xml")]&key=ABC1234&output=response
    • [GetXPathValue("FilePathOrUri","XPath")]
      • Sample:
        • http://localhost:54657/?action=[GetXPathValue("http://ai-dot.net/test_json.json","/root/glossary/title")]&key=ABC1234&output=response

#ChangeLog v2.6.2.51

  • Fixes zunair.rocks/dashboard issue for fetching commands
  • [EmulateSpeech("any command")]
    • This should work on dynamic commands

#ChangeLog v2.6.2.50

  • Added Functions:
    • [TextToWave("phrase","voice","volume",'rate","filename","getBase64")]
    • [TextToWave("wave to base 64","","",'","","true")]
  • Speech code updated to fix a start of voice change/volume bug.

#ChangeLog v2.6.2.49

  • [TextToWave("phrase","voice","volume","rate","filename")]
    • Voice, Volume, Rate is same as SetTaskEx arguments/parameters.
    • Sample:
      • http://localhost:54657/?action=[TextToWave("This is a test","","","","")]&key=ABC1234
        It will make a wav file in LINKS\Customization\Speech\temp.wav
      • We can put file name or full path in last parameter if needed

#ChangeLog v2.6.2.48

  • Added Function:
    • [RemoveTask("name")]
      • Deletes task created by SetTaskEx
  • Updated tasks so each task is checked every second

#ChangeLog v2.6.2.47

  • Functions:
    • [GetXPathValue("XML xPath")]
      • Sample:
        • http://localhost:54657/?action=[GetXPathValue("G:\...\jarvisWPF.vshost.exe.config","/configuration/userSettings/jarvisWPF.Properties.Settings/setting{@name%3D"searchEngine"}")]&key=ABC1234&output=response
      • Take a look at FreeFormatter.com might be able to use all syntax from there... just replace any [...] square brackets with {...} curly braces and encode = and & characters
    • [GetAnswer("","","","","","","")]
      • Sample:
        • http://localhost:54657/?action=[GetAnswer("Do you want me to turn on x light?","yes;on;lights","Lights On","off;lights","Lights Off","5000","show")]&key=ABC1234&output=response

#ChangeLog v2.6.2.46

  • [GetAnswer("Do you want me to turn on x light?","yes;on;lights","Lights On","off;lights","Lights Off","5000","ShowIfItsNegativeOrPositive")]
  • [GetXPathValue("xmlFilePath","xPath")]

#ChangeLog v2.6.2.44

  • New command syntax for voice change per command
    • Sample:
      • Grammar: {ai=test_ainame} listen to {d=test_dictation}
      • Response:[VoiceName="{{ai}}"]I heard {d}. I am {ai} and my voice is set to {{ai}}
    • In any response we can now add the following to change voice properties:
      • [VoiceName="..."]
      • [VoiceRate="..."]
      • [VoiceEmphasis="..."]
      • [VolumeType="..."]
      • [SpeechDelay="..."]
  • Updated dictation code
    • Should fix the issue where ai name was spoken with the dictation.

#ChangeLog v2.6.2.37:

  • Updated update functions.
  • No more update check before startup.
  • Update will be checked after startup.
  • Will notify when update is completed.
  • AutoUpdate can be disabled from xml by changing UpdateOnStartup to false
  • Added LINKSSharedDirectory for scripts and WordLists
    • Can be changed from xml
    • When entering dir path do not end path with slash.

#ChangeLog v2.6.2.31:

  • Added Functions:
    • [GetAnswer("QuestionByAI","WordListTextFileName","PositiveGrammarColumnNameOrNumber","PositiveResultColumnNameOrNumber","NegativeGrammarColumnNameOrNumber","NegativeResultColumnNameOrNumber","ListeningTimeout","ShowIfItsNegativeOrPositive")]
      • "QuestionByAI" = question asked by AI
      • "WordListTextFileName" = WordList to use for positive and negative grammar and results
      • "PositiveGrammarColumnNameOrNumber" = WordList column name or number of positive grammar
      • "PositiveResultColumnNameOrNumber" = WordList column name or number of results to show if positive grammar is recognized
      • "NegativeGrammarColumnNameOrNumber" = WordList column name or number of negative grammar
      • "NegativeResultColumnNameOrNumber" = WordList column name or number of results to show if negative grammar is recognized
      • "ListeningTimeout" = stops listening for answer after defined milliseconds
      • "ShowIfItsNegativeOrPositive" = show/hide + or - symbol based on recognized data
      • Note: We don’t have to use WordList.
      • Example:
        • Command: Say a number
        • Response:[GetAnswer("which number?","test_nums.txt","firstAnswer","firstReslult","secondAnswer","secondResult","3000","Show")]
        • Sample word list:
firstAnswer firstReslult secondAnswer secondResult
one number 1 negative one minus 1
two number 2 negative two minus 2
three number 3 negative three minus 3
four number 4 negative four minus 4
Note: We can use any column for result or answer(grammar)
  • Make sure PositiveGrammar does not contain any words from NegativeGrammar and vice-versa.
  • Sample positive answer result: One = +number 1
  • [CallCommandEx("PositiveOrNagativeResponse","PositiveCommand","NegativeCommand")]
    • Positive or Negative command will be called based on PositiveOrNagativeResponse.
    • If PositiveOrNagativeResponse starts with a + sign, PositiveCommand will be called.
    • If PositiveOrNagativeResponse starts with a - sign, NegativeCommand will be called.
    • {{!Result!}} keyword can be used in PositiveCommand and NegativeCommand arguments to replace using PositiveOrNagativeResponse
    • Example:
      • Command: Hey LINKS
      • Response: [CallCommandEx("+Hello","{{!Result!}}","{{!Result!}}")]
      • In this case Action will be converted to [CallCommandEx("+Hello","Hello","{{!Result!}}")]
  • [SubString("String","startIndex","endIndex")]
    • Example:
      • Command: Remove first char of the string
      • Response: [SubString("+Test","1","")]
      • This will output "Test"

#ChangeLog v2.6.2.26:

  • New function:
    • [SetSpeechConfig("Elizabeth","100","-10")]
      • Name, Volume, Rate (-10 to 10)
      • Remember there are 3 types of volumes:
        • System Volume
        • Base Voice Volume - set through GUI/SetVoice functions and XML
        • Phrase Voice Volume - default is Medium, not allowed change default. Can change per phrase using SpeakEx function.
        • Some Examples:
          • SpeakEx with System Volume
          • localhost:54657/?action=[SpeakEx("Completed","","","","","system")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","","40","","","system")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft Zira Desktop","","","","system")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","40","","","system")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","40","Fast","","system")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","20","Slow","3","system")]&key=ABC1234
        • SpeakEx with Voice Volume
          • localhost:54657/?action=[SpeakEx("Completed","","","","","voice")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","","100","","","voice")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft Zira Desktop","","","","voice")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","40","","","voice")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","100","Fast","","voice")]&key=ABC1234
          • localhost:54657/?action=[SpeakEx("Completed","Microsoft David Desktop","20","Slow","3","voice")]&key=ABC1234
    • Sets default base volume for current voice
      • localhost:54657/?action=[SetSpeechVolume("20")]&key=ABC1234
    • Sets default voice
      • localhost:54657/?action=[SetSpeechVoice("Elizabeth")]&key=ABC1234
    • Sets base Volume and Rate for specific voice
      • localhost:54657/?action=[SetSpeechConfig("Elizabeth","100","-10")]&key=ABC1234
    • Test after volume and rate change:
      • localhost:54657/?action=[SpeakEx("Completed","Elizabeth","20","ExtraFast","0","voice")]&key=ABC1234

#ChangeLog v2.6.2.23:

  • VoiceConfig.XML added
    • Each voice volume will be saved separately.
  • UI and SetVoice should update VocieConfig
  • SpeakEx("phrase","VoiceName","VoiceVolume","VoiceRate","SpeechDelay","VoiceVolumeOrSystemVolume")
    • VoiceVolumeOrSystemVolume = voice or system

#ChangeLog v2.6.2.23:

  • Task xml is written asyc for better performance.
  • Added some error control in webservice functions
  • New Default function:
    • "stop current voice"
  • New Functions:
    • [StopVoiceByName("VoiceName","ResponseOnSuccess")]
    • [StopVoiceByIdentifier ("PhraseIdentifier","ResponseOnSuccess")]
      • PhraseIdentifier is only set in tasks atm - uses tasks name.

#ChangeLog v2.6.2.22:

  • New Functions:
    • [RunAsShell("shellCommand","responseAfterExecution","responseBeforeConfirmation","responseFailed","voiceVolume","voiceRate","voiceName","VoiceVolumeOrSystemVolume")]
  • Updated Function:
    • [SetSpeechVolume("volume")]
    • [SetTaskEx("name","datetime","speechBefore","speechAfter","speechFailed","voice","volume","runAsShellCommand","repeat","rate","VoiceVolumeOrSystemVolume")]

#ChangeLog v2.6.2.20:

  • Intro video code updated again. Video should now download in Customization folder.
  • Loading window will now reappear after intro video.
  • Function updated:
    • SpeakExSysVol is now async.
  • Functions Added:
    • Synchronous speech [SpeakExSysVolSync("phrase","VoiceVolume","VoiceRate","phraseDelay","VoiceName")] where delay = delay between next speech.
    • Asynchronous speech [SpeakExSysVolAsync("phrase","VoiceVolume","VoiceRate","phraseDelay","VoiceName")] where delay = delay between next speech.
  • Fixed saving/retrieving of "Play on startup (full screen)" settings.

#ChangeLog v2.6.2.18:

  • Intro video now downloads in Customization folder.
  • Better shutdown if error is found on startup.
  • Better disposing of HttpServer on exit.
  • New function: [AIIntro("This is {{!AIName!}};I am {{!AIName!}} using {{!AIVoice!}} voice to be used for {{!AICatagory!}}","test_ainame.txt")]
  • Speech Issues resolved - need to work on updating plugin speak functions
  • Added SplashScreen (loading window)
  • Fixed saving of Main Control Center size
  • Main Control Center max size is now based on smallest screen side of current monitor
  • New Functions:
    • [AIIntro("This is {{!AIName!}}","test_ainame.txt")]
    • [AIIntro("I am {{!AIName!}} using {{!AIVoice!}} voice","test_ainame.txt")]