#!perl5 # "Clip Talk" v 1.0 # by David Seay # # 1) Copy a selection of text from any application. # 2) Run this program to hear it spoken. # 3) Type 'cmd period' to stop speech and exit. # package Main; use Mac::Speech; use Mac::Events; use Mac::Events qw(@Event $CurrentEvent); use Mac::LowMem; $Event[keyDown] = \&key_down; &MacPerl::LoadExternals("clipboard.XFCN"); # XCMD for clipboard processing $clip = &Main::Clipboard(); # get the clip from clipboard &add_pauses_between_sentences; &give_speech; sub add_pauses_between_sentences { $clip =~ s/\n/ /g; $clip =~ s/ / /g; $clip =~ s/>//g; $clip =~ s/character); if (($CurrentEvent->modifiers & 256) == 256 && $k eq ".") { StopSpeech $channel or die $^E; DisposeSpeechChannel($channel); exit(0); } }