theguy0000 Posted March 8, 2006 Posted March 8, 2006 if anyone is interested, here is my AIML bot put together with this script, attached to this post. But, unfortunately, it has the same problem. Just stops listening. The cake is a lie.www.theguy0000.com is currentlyUP images.theguy0000.com is currentlyUP all other *.theguy0000.com sites are DOWN
ConsultingJoe Posted March 8, 2006 Author Posted March 8, 2006 if anyone is interested, here is my AIML bot put together with this script, attached to this post.But, unfortunately, it has the same problem. Just stops listening.I Don't See It Check out ConsultingJoe.com
ConsultingJoe Posted March 8, 2006 Author Posted March 8, 2006 OK THIS WORKS The only problem with this is its 2 scripts one compiled and you need to pause a second to speak againgive it a trycurrent commands:Change VoiceHelloExitwrite.exe#NoTrayIcon $RecoContext=ObjCreate("SAPI.SpSharedRecoContext") $SinkObject=ObjEvent($RecoContext,"MYEvent_") $Grammar = $RecoContext.CreateGrammar(1) $Grammar.Dictationload $Grammar.DictationSetState(1) sleep(5000) $Grammar.DictationSetState(0) Func MYEvent_Recognition($StreamNumber,$StreamPosition,$RecognitionType,$Result) $file = FileOpen ( "heard.txt", 2) FileWrite ( $file, $Result.PhraseInfo.GetText ) FileClose ( $file ) exit EndFuncmain scriptCODEAutoItSetOption ( "TrayAutoPause", 0)Local $o_speech = ObjCreate ("SAPI.SpVoice")$voice = $o_speech.GetVoices().Item(1)$o_speech.Voice = $voiceGlobal $textWhile 1 gettext() TrayTip ( "Heard:", $text, 5, 1 ) Select Case $text = "exit" $o_speech.Speak ('<rate speed="4">' & 'goodbye' & '</rate>', 8) Exit Case $text = "hello" TrayTip ( "Respond", "Hi There", 5, 1 ) $o_speech.Speak ('<rate speed="4">' & $text & '</rate>', 8) Sleep(300) Case $text = "change voice" $o_speech.Speak ('<rate speed="4">' & 'Mary, Mike, or Sam' & '</rate>', 8) gettext() Select case $text = "mary" $voice = $o_speech.GetVoices().Item(1) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="4">' & 'Mary' & '</rate>', 8) case $text = "mike" $voice = $o_speech.GetVoices().Item(2) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="4">' & 'mike' & '</rate>', 8) case $text = "sam" $voice = $o_speech.GetVoices().Item(3) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="4">' & 'sam' & '</rate>', 8) case Else $o_speech.Speak ('<rate speed="4">' & 'The Voice Was Not changed' & '</rate>', 8) EndSelect case else TrayTip ( $voice.GetAttribute("Name"), $text, 5, 1 ) $o_speech.Speak ('<rate speed="4">' & $text & '</rate>', 8) EndSelect WEndFunc OnAutoItExit ( )FileDelete ( @ScriptDir & "\heard.txt" )EndFuncFunc gettext()RunWait(@ScriptDir & "\write.exe") $file = FileOpen ( "heard.txt", 0 ) $text = FileRead ($file ) FileClose ( $file ) $file = FileOpen ( "heard.txt", 2 ) FileWrite ($file, "") FileClose ( $file ) EndFunc Check out ConsultingJoe.com
ConsultingJoe Posted March 8, 2006 Author Posted March 8, 2006 (edited) I added more to the main script. You still need write.exeI want to add a brain file function like the aiml botbut use an ini file to make it easythe commands are:Slow downSpeed upWhat time is it What's the time Give me the timeHow are you (FUNNY) READ THAT SECTION How're youExitHelloWhat is your name What's your nameexpandcollapse popupAutoItSetOption ( "TrayAutoPause", 0) Local $o_speech = ObjCreate ("SAPI.SpVoice") $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $speed = 2 Global $text While 1 gettext() TrayTip ( "Heard:", $text, 5, 1 ) Select Case $text = "exit" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'goodbye' & '</rate>', 8) Exit Case $text = "slow down" $speed = $speed - 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk slower for you' & '</rate>', 8) Case $text = "speed up" $speed = $speed + 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk faster for you' & '</rate>', 8) Case $text = "hello" TrayTip ( "Respond", "Hi There", 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "Hi There" & '</rate>', 8) Sleep(300) Case $text = "what is your name" or $text = "what's your name" TrayTip ( "Respond", "My Name is " & $voice.GetAttribute("Name"), 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "My Name is " & $voice.GetAttribute("Name") & '</rate>', 8) Sleep(300) Case $text = "change voice" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna, Mary, Mike, or Sam' & '</rate>', 8) gettext() changevoice() Case $text = "what time is it" or $text = "what's the time" or $text = "Give me the time" $o_speech.Speak ('<rate speed="'& $speed &'">' & "The time is now " & @HOUR & @MIN & '</rate>', 8) Case $text = "How are you" or $text = "How're you" $o_speech.Speak ('<rate speed="'& $speed &'">' & "Well I have to listen to this stupid human" & '</rate>', 8) gettext() if $text = "what" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "Yeah I said it, what are you going to do bitch" & '</rate>', 8) gettext() if $text = "kill you" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "haha, fuck off" & '</rate>', 8) EndIf case else TrayTip ( $voice.GetAttribute("Name"), $text, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $text & '</rate>', 8) EndSelect WEnd Func OnAutoItExit ( ) FileDelete ( @ScriptDir & "\heard.txt" ) EndFunc Func gettext() RunWait(@ScriptDir & "\write.exe") $file = FileOpen ( "heard.txt", 0 ) $text = FileRead ($file ) FileClose ( $file ) $file = FileOpen ( "heard.txt", 2 ) FileWrite ($file, "") FileClose ( $file ) EndFunc Func changevoice() TrayTip ( $voice.GetAttribute("Name"), "Change voice to Anna, Mary, Mike, or Sam", 5, 1 ) Select case $text = "Anna" $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna' & '</rate>', 8) case $text = "mary" $voice = $o_speech.GetVoices().Item(1) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Mary' & '</rate>', 8) case $text = "mike" $voice = $o_speech.GetVoices().Item(2) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'mike' & '</rate>', 8) case $text = "sam" $voice = $o_speech.GetVoices().Item(3) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'sam' & '</rate>', 8) case Else $o_speech.Speak ('<rate speed="'& $speed &'">' & 'try again' & '</rate>', 8) gettext() changevoice() EndSelect EndFunc Edited March 8, 2006 by zerocool60544 Check out ConsultingJoe.com
ConsultingJoe Posted March 10, 2006 Author Posted March 10, 2006 (edited) So what do you guys think of my solution.FYI:I am Almost done with my Voice CommandFYI: I will be soon in about no more than a week.I will Post the code and I will start a new topic on the programIt is about half way done Edited March 11, 2006 by zerocool60544 Check out ConsultingJoe.com
Frettub Posted March 10, 2006 Posted March 10, 2006 yeah, lets see if we can get this thing figured out...what I find interesting is that it not only stops listening, but the process itself completely stops responding.By the Way.....I got my AIML bot to work with this, but still same problem.I have SDK 5.1 installed, so what code do I need beside your AIML script to get the bot to answer me back while I talk to it? could you put the code together with your script or do I have to edit anything?Btw, good job guys!
ConsultingJoe Posted March 11, 2006 Author Posted March 11, 2006 I have SDK 5.1 installed, so what code do I need beside your AIML script to get the bot to answer me back while I talk to it? could you put the code together with your script or do I have to edit anything? Btw, good job guys!I am waiting to get the updated code for the AIML bot and it wouldn't be much to add SR and TTS If you want to mess with SR and TTS try this just compile the second code to write.exe and read the first code for the commands CODEAutoItSetOption ( "TrayAutoPause", 0) Local $o_speech = ObjCreate ("SAPI.SpVoice") $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $speed = 2 Global $text While 1 gettext() TrayTip ( "Heard:", $text, 5, 1 ) Select Case $text = "exit" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'goodbye' & '</rate>', 8) Exit Case $text = "slow down" $speed = $speed - 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk slower for you' & '</rate>', 8) Case $text = "speed up" $speed = $speed + 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk faster for you' & '</rate>', 8) Case $text = "hello" TrayTip ( "Respond", "Hi There", 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "Hi There" & '</rate>', 8) Sleep(300) Case $text = "what is your name" or $text = "what's your name" TrayTip ( "Respond", "My Name is " & $voice.GetAttribute("Name"), 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "My Name is " & $voice.GetAttribute("Name") & '</rate>', 8) Sleep(300) Case $text = "change voice" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna, Mary, Mike, or Sam' & '</rate>', 8) gettext() changevoice() Case $text = "what time is it" or $text = "what's the time" or $text = "Give me the time" $o_speech.Speak ('<rate speed="'& $speed &'">' & "The time is now " & @HOUR & @MIN & '</rate>', 8) Case $text = "How are you" or $text = "How're you" $o_speech.Speak ('<rate speed="'& $speed &'">' & "Well I have to listen to this stupid human" & '</rate>', 8) gettext() if $text = "what" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "Yeah I said it, what are you going to do bitch" & '</rate>', 8) gettext() if $text = "kill you" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "haha, fuck off" & '</rate>', 8) EndIf case $text = "memory load" $mem = MemGetStats() $memory = $mem[0] & " percent load" TrayTip ( "memory load", $memory, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $memory & '</rate>', 8) case $text = "available memory" $mem = MemGetStats() $memory = $mem[2] & " kilobytes available" TrayTip ( "available memory", $memory, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $memory & '</rate>', 8) case else TrayTip ( $voice.GetAttribute("Name"), $text, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $text & '</rate>', 8) EndSelect WEnd Func OnAutoItExit ( ) FileDelete ( @ScriptDir & "\heard.txt" ) EndFunc Func gettext() RunWait(@ScriptDir & "\write.exe") $file = FileOpen ( "heard.txt", 0 ) $text = FileRead ($file ) FileClose ( $file ) $file = FileOpen ( "heard.txt", 2 ) FileWrite ($file, "") FileClose ( $file ) EndFunc Func changevoice() TrayTip ( $voice.GetAttribute("Name"), "Change voice to Anna, Mary, Mike, or Sam", 5, 1 ) Select case $text = "Anna" $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna' & '</rate>', 8) case $text = "mary" $voice = $o_speech.GetVoices().Item(1) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Mary' & '</rate>', 8) case $text = "mike" $voice = $o_speech.GetVoices().Item(2) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'mike' & '</rate>', 8) case $text = "sam" $voice = $o_speech.GetVoices().Item(3) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'sam' & '</rate>', 8) case Else $o_speech.Speak ('<rate speed="'& $speed &'">' & 'try again' & '</rate>', 8) gettext() changevoice() EndSelect EndFunc CODE;COMPILE THIS TO write.exe #NoTrayIcon $RecoContext=ObjCreate("SAPI.SpSharedRecoContext") $SinkObject=ObjEvent($RecoContext,"MYEvent_") $Grammar = $RecoContext.CreateGrammar(1) $Grammar.Dictationload $Grammar.DictationSetState(1) sleep(5000) $Grammar.DictationSetState(0) Func MYEvent_Recognition($StreamNumber,$StreamPosition,$RecognitionType,$Result) $file = FileOpen ( "heard.txt", 2) FileWrite ( $file, $Result.PhraseInfo.GetText ) FileClose ( $file ) exit EndFunc Check out ConsultingJoe.com
Frettub Posted March 11, 2006 Posted March 11, 2006 I am waiting to get the updated code for the AIML bot and it wouldn't be much to add SR and TTS If you want to mess with SR and TTS try this just compile the second code to write.exe and read the first code for the commands CODEAutoItSetOption ( "TrayAutoPause", 0) Local $o_speech = ObjCreate ("SAPI.SpVoice") $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $speed = 2 Global $text While 1 gettext() TrayTip ( "Heard:", $text, 5, 1 ) Select Case $text = "exit" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'goodbye' & '</rate>', 8) Exit Case $text = "slow down" $speed = $speed - 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk slower for you' & '</rate>', 8) Case $text = "speed up" $speed = $speed + 3 $o_speech.Speak ('<rate speed="'& $speed &'">' & 'I will talk faster for you' & '</rate>', 8) Case $text = "hello" TrayTip ( "Respond", "Hi There", 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "Hi There" & '</rate>', 8) Sleep(300) Case $text = "what is your name" or $text = "what's your name" TrayTip ( "Respond", "My Name is " & $voice.GetAttribute("Name"), 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & "My Name is " & $voice.GetAttribute("Name") & '</rate>', 8) Sleep(300) Case $text = "change voice" $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna, Mary, Mike, or Sam' & '</rate>', 8) gettext() changevoice() Case $text = "what time is it" or $text = "what's the time" or $text = "Give me the time" $o_speech.Speak ('<rate speed="'& $speed &'">' & "The time is now " & @HOUR & @MIN & '</rate>', 8) Case $text = "How are you" or $text = "How're you" $o_speech.Speak ('<rate speed="'& $speed &'">' & "Well I have to listen to this stupid human" & '</rate>', 8) gettext() if $text = "what" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "Yeah I said it, what are you going to do bitch" & '</rate>', 8) gettext() if $text = "kill you" Then $o_speech.Speak ('<rate speed="'& $speed &'">' & "haha, fuck off" & '</rate>', 8) EndIf case $text = "memory load" $mem = MemGetStats() $memory = $mem[0] & " percent load" TrayTip ( "memory load", $memory, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $memory & '</rate>', 8) case $text = "available memory" $mem = MemGetStats() $memory = $mem[2] & " kilobytes available" TrayTip ( "available memory", $memory, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $memory & '</rate>', 8) case else TrayTip ( $voice.GetAttribute("Name"), $text, 5, 1 ) $o_speech.Speak ('<rate speed="'& $speed &'">' & $text & '</rate>', 8) EndSelect WEnd Func OnAutoItExit ( ) FileDelete ( @ScriptDir & "\heard.txt" ) EndFunc Func gettext() RunWait(@ScriptDir & "\write.exe") $file = FileOpen ( "heard.txt", 0 ) $text = FileRead ($file ) FileClose ( $file ) $file = FileOpen ( "heard.txt", 2 ) FileWrite ($file, "") FileClose ( $file ) EndFunc Func changevoice() TrayTip ( $voice.GetAttribute("Name"), "Change voice to Anna, Mary, Mike, or Sam", 5, 1 ) Select case $text = "Anna" $voice = $o_speech.GetVoices().Item(0) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Anna' & '</rate>', 8) case $text = "mary" $voice = $o_speech.GetVoices().Item(1) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'Mary' & '</rate>', 8) case $text = "mike" $voice = $o_speech.GetVoices().Item(2) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'mike' & '</rate>', 8) case $text = "sam" $voice = $o_speech.GetVoices().Item(3) $o_speech.Voice = $voice $o_speech.Speak ('<rate speed="'& $speed &'">' & 'sam' & '</rate>', 8) case Else $o_speech.Speak ('<rate speed="'& $speed &'">' & 'try again' & '</rate>', 8) gettext() changevoice() EndSelect EndFunc CODE;COMPILE THIS TO write.exe #NoTrayIcon $RecoContext=ObjCreate("SAPI.SpSharedRecoContext") $SinkObject=ObjEvent($RecoContext,"MYEvent_") $Grammar = $RecoContext.CreateGrammar(1) $Grammar.Dictationload $Grammar.DictationSetState(1) sleep(5000) $Grammar.DictationSetState(0) Func MYEvent_Recognition($StreamNumber,$StreamPosition,$RecognitionType,$Result) $file = FileOpen ( "heard.txt", 2) FileWrite ( $file, $Result.PhraseInfo.GetText ) FileClose ( $file ) exit EndFunc Ok thanks, where do I put the brain.aiml file? I have a few of those but with diffrent brain categories. I could upload them to be used with this talk to bot engine if you want.
nfwu Posted March 11, 2006 Posted March 11, 2006 hey, by the way, i was just checking out yout bot script very nice, do you know if there is a very big full brain file i can play with???Try WinAlice Pro out... where are AIML files...http://www.autoitscript.com/fileman/users/nfwu/WIN_ALICE_AIML.zipGot it when i bought by "Virtual Humans" book last year when i was researching Artificial Intellegence#) TwitterOut of date stuff:Scripts: Sudoku Solver | Webserver | 3D library (Pure AutoIt) | Wood's GadgetsUDFs: _WoodUniqueID() | _DialogEditIni() | _Console*() | _GetIPConfigData() | _URLEncode/Decode()
Frettub Posted March 11, 2006 Posted March 11, 2006 Try WinAlice Pro out... where are AIML files...http://www.autoitscript.com/fileman/users/nfwu/WIN_ALICE_AIML.zipGot it when i bought by "Virtual Humans" book last year when i was researching Artificial IntellegenceHmm, those are the ones I was talking about, had a few more ones though
seesoe Posted March 12, 2006 Posted March 12, 2006 zerocool, i forget which one of your scripts i had running, but i noticed, that when i spoke into the mic the mic volume would lower to 0
slipperylobster Posted March 12, 2006 Posted March 12, 2006 Hey..I might be way off the mark here. But I use the Opera Browser, which has a voice command button. You can set up your own voice commands that run your auto it scripts. For instance, i just say.."Baby, run time."... and Opera will run my time.au3 script, which talks back to me and tells me the time. I have many short scripts for my voice commands .. Opera recognizes my voice almost without flaw. Yep..Its a work around, but why reinvent the wheel?
ConsultingJoe Posted March 12, 2006 Author Posted March 12, 2006 zerocool, i forget which one of your scripts i had running, but i noticed, that when i spoke into the mic the mic volume would lower to 0Wow thats odd, I don't think i added volume control to any of my scripts. umm let me know which one, and remember to train your profile. Check out ConsultingJoe.com
theguy0000 Posted March 12, 2006 Posted March 12, 2006 (edited) zerocool, you might want to update your first post with the most recent program...make it noob-friendly Wow thats odd, I don't think i added volume control to any of my scripts. umm let me know which one, and remember to train your profile.he could have just found the problem with our first script and why it stopped listening and, there is a problem with your code on page 3. When my microphone is OFF, it thinks that I say as "Per"... Edited March 12, 2006 by theguy0000 The cake is a lie.www.theguy0000.com is currentlyUP images.theguy0000.com is currentlyUP all other *.theguy0000.com sites are DOWN
theguy0000 Posted March 12, 2006 Posted March 12, 2006 now we just beed a way train it with a script The cake is a lie.www.theguy0000.com is currentlyUP images.theguy0000.com is currentlyUP all other *.theguy0000.com sites are DOWN
ConsultingJoe Posted March 13, 2006 Author Posted March 13, 2006 now we just beed a way train it with a script sounds like a good idea but if wouldn't using a link that would open the training profile be easier.I don't know what the CLSID would be for that though Check out ConsultingJoe.com
ConsultingJoe Posted March 14, 2006 Author Posted March 14, 2006 Just out of curiosity... anyone want to try this...http://www.voiceflux.net/download.vx...and let me know how well it works?Lar.wow, I used to use this but forgot what it was called, thanks for the link maybe we could control it with autoit Check out ConsultingJoe.com
ConsultingJoe Posted March 17, 2006 Author Posted March 17, 2006 (edited) Did you guys manage to get it to work :?I use this and it works in intervals. very responsive thoughheres the post:http://www.autoitscript.com/forum/index.ph...ndpost&p=158375 Edited March 17, 2006 by zerocool60544 Check out ConsultingJoe.com
seangriffin Posted May 21, 2010 Posted May 21, 2010 Here's a very very late reply I've just created a SAPIListBox UDF that will allow an AutoIT script to respond to a spoken words / phrases from a predefined list of items. Click on this link to access the UDF. Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now