Tom,

I found it did type backwards if I keyed too quick, but if you change the 
keyDown to keyUp, it types forward. Leaving "with messages" in allows it to 
interrupt the message queue, the downside is that it doesn't speak all 
chars/words.

The only way I can think of to get round this would be to create a custom 
message queue, maybe adding the chars/words to a container then deleting them 
as they are spoken, stop speaking when the container is empty. - Just thinking 
out loud on that though, haven't tried it.

Paul

On 2013-02-26, at 9:12 AM, Thomas McGrath III wrote:

> Paul,
> 
> Thanks for the reply. So, did it type backwards for you too when you tried it?
> 
> My problem and why I put the 'with messages' in was to allow to interrupt 
> long messages while speaking.
> revSpeak will terminate any existing queue once a new revSpeak is issued but 
> I can't get a new revSpeak to execute while revSpeak is speaking? a catch 22 
> - so after I put in the 'with messages' I was able to interrupt between 
> queues.
> 
> Any ideas?
> 
> Thanks again,
> 
> Tom
> -- Tom McGrath III
> http://lazyriver.on-rev.com
> [email protected]
> 
> On Feb 26, 2013, at 12:03 PM, Paul Hibbert <[email protected]> wrote:
> 
>> Tom,
>> 
>> If you remove the "with messages" from the wait statement it works fine - 
>> for me at least!
>> 
>> I think that’s what is screwing up the message queue.
>> 
>> Paul
>> 
>> On 2013-02-26, at 8:38 AM, Thomas McGrath III wrote:
>> 
>>> Has anyone ever experienced this type of weirdness with keyDown trapping?
>>> 
>>> I have this script in a substack of my main stack that should speak all 
>>> characters typed into this field:
>>> 
>>> on keyDown pKey
>>>   if charToNum(pKey) = 32 then
>>>        TASpeak "Space."
>>>        TASpeak field "SignIn" of this stack
>>>   else
>>>        TASpeak pKey
>>>   end if
>>>      pass keyDown
>>> end keyDown
>>> 
>>> 
>>> Later in a separate main stack:
>>> 
>>> on TASpeak pTextToSpeak
>>>   if gNoSpeech then
>>>        -- speech mode off
>>>   else
>>>        -- process Rate, Pitch etc.
>>>        revSpeak pTextToSpeak
>>>        wait until revIsSpeaking() is false with messages
>>>   end if
>>> end TASpeak
>>> 
>>> Now, If I type "Tom M" into the field slowly I get: Tom M 
>>> and it speaks each char 
>>> and then on entering a space it speaks the whole field
>>> 
>>> BUT, (here's the weirdness) If I type very fast I get: M moT
>>> and it speaks it in that order
>>> 
>>> This is just absolutely weird. Has anyone else seen this?
>>> 
>>> Tom
>>> 
>>> -- Tom McGrath III
>>> http://lazyriver.on-rev.com
>>> [email protected]
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> [email protected]
>>> Please visit this url to subscribe, unsubscribe and manage your 
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> [email protected]
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> [email protected]
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to