Another week and a few more updates to Project Jeeves. I’m still in the initial phase of getting a proper framework in place, but that should not stop me from adding a feature or two.
Old grumpy me walks into room, enter left.
TvZ: “I say ol’ Jeeves, how about a tune to lighten up this morbid room?”
Jeeves : “Yes sir, I have four playlists to entertain you with. Number 1 …. “
TvZ: “Ah, jolly good. Number one, please my good man.”.
Jeeves : “Very well, sir”.
Adding the capability to play music should have been trivial I thought. Then I started reading on all the different music frameworks and how other people did it. It made me a bit depressed as it look like there would have been a lot more development involved than I initially though. Until I came across a little mp3 java library called JACo MP3 Player. Problems solved. I just needed to add some playlist functionality and I’m done.
Old grumpy TvZ walks into room and bumps his little toe against a chair.
TvZ : “OH BOLLOCKS! If you were alive you would meet me with pistols at dawn! Jeeves! Send an email to old lady code purple!”
Jeeves : “Yes sir. An email has been successfully sent, sir”.
You might think that this shouldn’t be an update since Jeeves already had email capabilities last week. Well…ok…but last week Jeeves was only able to retrieve unread emails and act upon them. So I’ve decided to add set email scripts to be actioned.
Blow is an example of a test email script:
<actionToPerform><actionName>email</actionName><params><param>emailsend</param><param>firstname.lastname@example.org</param><param>Test subject</param><param>test body</param></params></actionToPerform>
A short explanation of the script.
The voice recognition will pickup an action that will return a command “emailtest”. It will then in order perform the “actionToPerform”. So there can be multiple actions per voice command. This one will call the “email” service and action the emailSend sub-action (is that a word?). Then add more parameters, the recipient, the subject and the body of the email.
Not sure what to add next, still don’t have any hardware to connect up to start working on external interfaces.