• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeaccessibility API Reference
  • KDE Home
  • Contact Us
 

jovie

  • sources
  • kde-4.12
  • kdeaccessibility
  • jovie
  • jovie
jovie.cpp
Go to the documentation of this file.
1 /***************************************************** vim:set ts=4 sw=4 sts=4:
2  Jovie
3 
4  The KDE Text-to-Speech object.
5  ------------------------------
6  Copyright:
7  (C) 2006 by Gary Cramblitt <garycramblitt@comcast.net>
8  (C) 2009 by Jeremy Whiting <jpwhiting@kde.org>
9  -------------------
10  Original author: Gary Cramblitt <garycramblitt@comcast.net>
11 
12  This program is free software; you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation; either version 2 of the License, or
15  (at your option) any later version.
16 
17  This program is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with this program; if not, write to the Free Software
24  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25  ******************************************************************************/
26 
27 #include "jovie.h"
28 
29 #include <kspeech.h>
30 
31 // Qt includes.
32 #include <QtGui/QApplication>
33 #include <QtGui/QClipboard>
34 #include <QtCore/QTextStream>
35 #include <QtCore/QTextCodec>
36 #include <QtCore/QFile>
37 
38 // KDE includes.
39 #include <kdebug.h>
40 #include <kglobal.h>
41 #include <kmessagebox.h>
42 #include <klocale.h>
43 #include <kcomponentdata.h>
44 #include <kfiledialog.h>
45 #include <KRun>
46 #include <kaboutdata.h>
47 
48 
49 // Jovie includes.
50 #include "talkermgr.h"
51 #include "talkercode.h"
52 // define spd_debug here to avoid a link error in speech-dispatcher 0.6.7's header file for now
53 #define spd_debug spd_debug2
54 #include "speaker.h"
55 #include "jovietrayicon.h"
56 
57 #include "kspeechadaptor.h"
58 
59 /* JoviePrivate Class ================================================== */
60 
61 class JoviePrivate
62 {
63  JoviePrivate()
64  {
65  trayIcon = new JovieTrayIcon();
66  }
67 
68  ~JoviePrivate()
69  {
70  delete trayIcon;
71  }
72 
73  friend class Jovie;
74 
75 protected:
76  /*
77  * The DBUS sender ID of last application to call KTTSD.
78  */
79  QString callingAppId;
80 
81  /*
82  * The tray icon.
83  */
84  JovieTrayIcon *trayIcon;
85 
86 };
87 
88 /* Jovie Class ========================================================= */
89 
90 /* ---- Public Methods --------------------------------------------------- */
91 Jovie * Jovie::m_instance = NULL;
92 
93 Jovie * Jovie::Instance()
94 {
95  if (m_instance == NULL)
96  {
97  m_instance = new Jovie();
98  }
99  return m_instance;
100 }
101 
102 Jovie::Jovie(QObject *parent) :
103  QObject(parent), d(new JoviePrivate())
104 {
105  kDebug() << "Jovie::Jovie Running";
106 }
107 
108 Jovie::~Jovie()
109 {
110  kDebug() << "Jovie::~Jovie:: Stopping Jovie service";
111  Speaker::Instance()->requestExit();
112  delete d;
113  announceEvent(QLatin1String( "~Jovie" ), QLatin1String( "jovieExiting" ));
114  emit kttsdExiting();
115 }
116 
117 /* ---- DBUS exported functions ------------------------------------------ */
118 
119 bool Jovie::isSpeaking() const
120 {
121  return Speaker::Instance()->isSpeaking();
122 }
123 
124 QString Jovie::version() const
125 {
126  return KGlobal::mainComponent().aboutData()->version();
127 }
128 
129 QString Jovie::applicationName()
130 {
131  return Speaker::Instance()->getAppData(callingAppId())->applicationName();
132 }
133 
134 void Jovie::setApplicationName(const QString &applicationName)
135 {
136  kDebug() << "setting application name to : " << applicationName;
137  Speaker::Instance()->getAppData(callingAppId())->setApplicationName(applicationName);
138 }
139 
140 QString Jovie::defaultTalker()
141 {
142  return Speaker::Instance()->getAppData(callingAppId())->defaultTalker();
143 }
144 
145 void Jovie::setDefaultTalker(const QString &defaultTalker)
146 {
147  Speaker::Instance()->getAppData(callingAppId())->setDefaultTalker(defaultTalker);
148 }
149 
150 void Jovie::setCurrentTalker(const TalkerCode &talker)
151 {
152  Speaker::Instance()->setOutputModule(talker.outputModule());
153  Speaker::Instance()->setLanguage(TalkerCode::languageCodeToLanguage(talker.language()));
154  Speaker::Instance()->setVoiceType(talker.voiceType());
155  Speaker::Instance()->setVolume(talker.volume());
156  Speaker::Instance()->setSpeed(talker.rate());
157  Speaker::Instance()->setPitch(talker.pitch());
158 }
159 
160 int Jovie::defaultPriority()
161 {
162  return Speaker::Instance()->getAppData(callingAppId())->defaultPriority();
163 }
164 
165 void Jovie::setDefaultPriority(int defaultPriority)
166 {
167  Speaker::Instance()->getAppData(callingAppId())->setDefaultPriority((KSpeech::JobPriority)defaultPriority);
168 }
169 
170 QString Jovie::sentenceDelimiter()
171 {
172  return Speaker::Instance()->getAppData(callingAppId())->sentenceDelimiter();
173 }
174 
175 void Jovie::setSentenceDelimiter(const QString &sentenceDelimiter)
176 {
177  Speaker::Instance()->getAppData(callingAppId())->setSentenceDelimiter(sentenceDelimiter);
178 }
179 
180 bool Jovie::filteringOn()
181 {
182  return Speaker::Instance()->getAppData(callingAppId())->filteringOn();
183 }
184 
185 void Jovie::setFilteringOn(bool filteringOn)
186 {
187  Speaker::Instance()->getAppData(callingAppId())->setFilteringOn(filteringOn);
188 }
189 
190 bool Jovie::autoConfigureTalkersOn()
191 {
192  return Speaker::Instance()->getAppData(callingAppId())->autoConfigureTalkersOn();
193 }
194 
195 void Jovie::setAutoConfigureTalkersOn(bool autoConfigureTalkersOn)
196 {
197  Speaker::Instance()->getAppData(callingAppId())->setAutoConfigureTalkersOn(autoConfigureTalkersOn);
198 }
199 
200 bool Jovie::isApplicationPaused()
201 {
202  return Speaker::Instance()->isApplicationPaused(callingAppId());
203 }
204 
205 QString Jovie::htmlFilterXsltFile()
206 {
207  return Speaker::Instance()->getAppData(callingAppId())->htmlFilterXsltFile();
208 }
209 
210 void Jovie::setHtmlFilterXsltFile(const QString &htmlFilterXsltFile)
211 {
212  Speaker::Instance()->getAppData(callingAppId())->setHtmlFilterXsltFile(htmlFilterXsltFile);
213 }
214 
215 QString Jovie::ssmlFilterXsltFile()
216 {
217  return Speaker::Instance()->getAppData(callingAppId())->ssmlFilterXsltFile();
218 }
219 
220 void Jovie::setSsmlFilterXsltFile(const QString &ssmlFilterXsltFile)
221 {
222  Speaker::Instance()->getAppData(callingAppId())->setSsmlFilterXsltFile(ssmlFilterXsltFile);
223 }
224 
225 bool Jovie::isSystemManager()
226 {
227  return Speaker::Instance()->getAppData(callingAppId())->isSystemManager();
228 }
229 
230 void Jovie::setIsSystemManager(bool isSystemManager)
231 {
232  Speaker::Instance()->getAppData(callingAppId())->setIsSystemManager(isSystemManager);
233 }
234 
235 int Jovie::say(const QString &text, int options) {
236  // kDebug() << "Jovie::say: Adding '" << text << "' to queue.";
237  Speaker * speaker = Speaker::Instance();
238  return speaker->say(speaker->getAppData(callingAppId())->applicationName(), text, options);
239 }
240 
241 int Jovie::sayFile(const QString &filename, const QString &encoding)
242 {
243  // kDebug() << "Jovie::setFile: Running";
244  QFile file(filename);
245  int jobNum = 0;
246  if ( file.open(QIODevice::ReadOnly) )
247  {
248  QTextStream stream(&file);
249  if (!encoding.isEmpty())
250  {
251  QTextCodec* codec = QTextCodec::codecForName(encoding.toLatin1());
252  if (codec) stream.setCodec(codec);
253  }
254  jobNum = Speaker::Instance()->say(callingAppId(), stream.readAll(), 0);
255  file.close();
256  }
257  return jobNum;
258 }
259 
260 int Jovie::sayClipboard()
261 {
262  // Get the clipboard object.
263  QClipboard *cb = qApp->clipboard();
264 
265  // Copy text from the clipboard.
266  QString text = cb->text();
267 
268  // Speak it.
269  if (!text.isNull())
270  {
271  return Speaker::Instance()->say(callingAppId(), text, 0);
272  } else {
273  return 0;
274  }
275 }
276 
277 QStringList Jovie::outputModules()
278 {
279  return Speaker::Instance()->outputModules();
280 }
281 
282 QStringList Jovie::languagesByModule(const QString & module)
283 {
284  return Speaker::Instance()->languagesByModule(module);
285 }
286 
287 QStringList Jovie::getPossibleTalkers()
288 {
289  return Speaker::Instance()->getPossibleTalkers();
290 }
291 
292 void Jovie::setSpeed(int speed)
293 {
294  if (speed < -100 || speed > 100) {
295  kDebug() << "setSpeed called with out of range speed value: " << speed;
296  }
297  else {
298  Speaker::Instance()->setSpeed(speed);
299  }
300 }
301 
302 int Jovie::speed()
303 {
304  return Speaker::Instance()->speed();
305 }
306 
307 void Jovie::setPitch(int pitch)
308 {
309  if (pitch < -100 || pitch > 100) {
310  kDebug() << "setPitch called with out of range pitch value: " << pitch;
311  }
312  else {
313  Speaker::Instance()->setPitch(pitch);
314  }
315 }
316 
317 int Jovie::pitch()
318 {
319  return Speaker::Instance()->pitch();
320 }
321 
322 void Jovie::setVolume(int volume)
323 {
324  if (volume < -100 || volume > 100) {
325  kDebug() << "setVolume called with out of range volume value: " << volume;
326  }
327  else {
328  Speaker::Instance()->setVolume(volume);
329  }
330 }
331 
332 int Jovie::volume()
333 {
334  return Speaker::Instance()->volume();
335 }
336 
337 void Jovie::setOutputModule(const QString & module)
338 {
339  Speaker::Instance()->setOutputModule(module);
340 }
341 
342 void Jovie::setLanguage(const QString & language)
343 {
344  Speaker::Instance()->setLanguage(language);
345 }
346 
347 void Jovie::setVoiceType(int voiceType)
348 {
349  Speaker::Instance()->setVoiceType(voiceType);
350 }
351 
352 int Jovie::voiceType()
353 {
354  return Speaker::Instance()->voiceType();
355 }
356 
357 void Jovie::stop()
358 {
359  Speaker::Instance()->stop();
360 }
361 
362 void Jovie::cancel()
363 {
364  Speaker::Instance()->cancel();
365 }
366 
367 void Jovie::pause()
368 {
369  Speaker::Instance()->pause();
370 }
371 
372 void Jovie::resume()
373 {
374  Speaker::Instance()->resume();
375 }
376 
377 void Jovie::removeJob(int jobNum)
378 {
379  kDebug() << "not implemented in speech-dispatcher yet";
380 }
381 
382 void Jovie::removeAllJobs()
383 {
384  kDebug() << "not implemented in speech-dispatcher yet";
385 }
386 
387 int Jovie::getSentenceCount(int jobNum)
388 {
389  kDebug() << "not implemented in speech-dispatcher yet";
390  return 0;
391 }
392 
393 int Jovie::getCurrentJob()
394 {
395  kDebug() << "not implemented in speech-dispatcher yet";
396  return 0;
397 }
398 
399 int Jovie::getJobCount(int priority)
400 {
401  kDebug() << "not implemented in speech-dispatcher yet";
402  return 0;
403 }
404 
405 QStringList Jovie::getJobNumbers(int priority)
406 {
407  kDebug() << "not implemented in speech-dispatcher yet";
408  return QStringList();
409 }
410 
411 int Jovie::getJobState(int jobNum)
412 {
413  kDebug() << "not implemented in speech-dispatcher yet";
414  return 0;
415 }
416 
417 QByteArray Jovie::getJobInfo(int jobNum)
418 {
419  kDebug() << "not implemented in speech-dispatcher yet";
420  return QByteArray();
421 }
422 
423 QString Jovie::getJobSentence(int jobNum, int sentenceNum)
424 {
425  kDebug() << "not implemented in speech-dispatcher yet";
426  return QString();
427 }
428 
429 QStringList Jovie::getTalkerCodes()
430 {
431  return TalkerMgr::Instance()->getTalkers();
432 }
433 
434 QString Jovie::talkerToTalkerId(const QString &talker)
435 {
436  return TalkerMgr::Instance()->talkerCodeToTalkerId(talker);
437 }
438 
439 int Jovie::getTalkerCapabilities1(const QString &talker)
440 {
441  // TODO:
442  Q_UNUSED(talker);
443  return 0;
444 }
445 
446 int Jovie::getTalkerCapabilities2(const QString &talker)
447 {
448  // TODO:
449  Q_UNUSED(talker);
450  return 0;
451 }
452 
453 QStringList Jovie::getTalkerVoices(const QString &talker)
454 {
455  // TODO:
456  Q_UNUSED(talker);
457  return QStringList();
458 }
459 
460 void Jovie::changeJobTalker(int jobNum, const QString &talker)
461 {
462  jobNum = applyDefaultJobNum(jobNum);
463  Speaker::Instance()->setTalker(jobNum, talker);
464 }
465 
466 void Jovie::moveJobLater(int jobNum)
467 {
468  kDebug() << "not implemented in speech-dispatcher yet";
469 }
470 
471 int Jovie::moveRelSentence(int jobNum, int n)
472 {
473  kDebug() << "not implemented in speech-dispatcher yet";
474  return 0;
475 }
476 
477 void Jovie::showManagerDialog()
478 {
479  QString cmd = QLatin1String( "kcmshell4 kcmkttsd --caption " );
480  cmd += QLatin1Char( '\'' ) + i18n("KDE Text-to-Speech") + QLatin1Char( '\'' );
481  KRun::runCommand(cmd,NULL);
482 }
483 
484 void Jovie::kttsdExit()
485 {
486  announceEvent(QLatin1String( "kttsdExit" ), QLatin1String( "kttsdExiting" ));
487  emit kttsdExiting();
488  qApp->quit();
489 }
490 
491 void Jovie::init()
492 {
493  new KSpeechAdaptor(this);
494  if (ready()) {
495  QDBusConnection::sessionBus().registerObject(QLatin1String( "/KSpeech" ), this, QDBusConnection::ExportAdaptors);
496  }
497 }
498 
499 void Jovie::reinit()
500 {
501  // Reload ourself.
502  kDebug() << "Jovie::reinit: Running";
503  //if (Speaker::Instance()->isSpeaking())
504  // Speaker::Instance()->pause();
505  Speaker::Instance()->init();
506  QDBusConnection::sessionBus().unregisterObject(QLatin1String( "/KSpeech" ));
507  if (ready()) {
508  QDBusConnection::sessionBus().registerObject(QLatin1String( "/KSpeech" ), this, QDBusConnection::ExportAdaptors);
509  }
510 
511  d->trayIcon->slotUpdateTalkersMenu();
512 }
513 
514 void Jovie::setCallingAppId(const QString& appId)
515 {
516  d->callingAppId = appId;
517 }
518 
519 /* ---- Private Methods ------------------------------------------ */
520 
521 bool Jovie::initializeConfigData()
522 {
523  return true;
524 }
525 
526 bool Jovie::ready()
527 {
528  // TODO: add a check here to see if kttsd is ready (Speaker::Instance() will always be true...)
529  //if (Speaker::Instance())
530  // return true;
531  //kDebug() << "Jovie::ready: Starting KTTSD service";
532 // if (!initializeSpeechData()) return false;
533  if (!initializeTalkerMgr())
534  return false;
535  if (!initializeSpeaker())
536  return false;
537  announceEvent(QLatin1String( "ready" ), QLatin1String( "kttsdStarted" ));
538  emit kttsdStarted();
539  return true;
540 }
541 
542 bool Jovie::initializeSpeechData()
543 {
544  return true;
545 }
546 
547 bool Jovie::initializeTalkerMgr()
548 {
549  TalkerMgr::Instance()->loadTalkers(KGlobal::config().data());
550  return true;
551 }
552 
553 bool Jovie::initializeSpeaker()
554 {
555  kDebug() << "Jovie::initializeSpeaker: Instantiating Speaker";
556 
557  Speaker::Instance()->init();
558 
559  // Establish ourself as a System Manager application.
560  Speaker::Instance()->getAppData(QLatin1String( "jovie" ))->setIsSystemManager(true);
561 
562  return true;
563 }
564 
565 
566 void Jovie::slotJobStateChanged(const QString& appId, int jobNum, KSpeech::JobState state)
567 {
568  announceEvent(QLatin1String( "slotJobStateChanged" ), QLatin1String( "jobStateChanged" ), appId, jobNum, state);
569  emit jobStateChanged(appId, jobNum, state);
570 }
571 
572 void Jovie::slotMarker(const QString& appId, int jobNum, KSpeech::MarkerType markerType, const QString& markerData)
573 {
574  announceEvent(QLatin1String( "slotMarker" ), QLatin1String( "marker" ), appId, jobNum, markerType, markerData);
575  emit marker(appId, jobNum, markerType, markerData);
576 }
577 
578 void Jovie::slotFilteringFinished()
579 {
580  //Speaker::Instance()->doUtterances();
581 }
582 
583 QString Jovie::callingAppId()
584 {
585  // TODO: What would be nice is if there were a way to get the
586  // last DBUS sender() without having to add DBusMessage to every
587  // slot. Then it would not be necessary to hand-edit the adaptor.
588  return d->callingAppId;
589 }
590 
591 int Jovie::applyDefaultJobNum(int jobNum)
592 {
593  int jNum = jobNum;
594  if (!jNum)
595  {
596  jNum = Speaker::Instance()->findJobNumByAppId(callingAppId());
597  if (!jNum) jNum = getCurrentJob();
598  if (!jNum) jNum = Speaker::Instance()->findJobNumByAppId(QString());
599  }
600  return jNum;
601 }
602 
603 void Jovie::announceEvent(const QString& slotName, const QString& eventName)
604 {
605  kDebug() << "Jovie::" << slotName << ": emitting DBUS signal " << eventName;
606 }
607 
608 void Jovie::announceEvent(const QString& slotName, const QString& eventName, const QString& appId,
609  int jobNum, KSpeech::MarkerType markerType, const QString& markerData)
610 {
611  kDebug() << "Jovie::" << slotName << ": emitting DBUS signal " << eventName
612  << " with appId " << appId << " job number " << jobNum << " marker type " << markerType << " and data " << markerData << endl;
613 }
614 
615 void Jovie::announceEvent(const QString& slotName, const QString& eventName, const QString& appId,
616  int jobNum, KSpeech::JobState state)
617 {
618  kDebug() << "Jovie::" << slotName << ": emitting DBUS signal " << eventName <<
619  " with appId " << appId << " job number " << jobNum << " and state " << /* SpeechJob::jobStateToStr(state) << */ endl;
620 }
AppData::defaultTalker
QString defaultTalker() const
Returns the default talker code for the application.
Definition: appdata.cpp:73
Speaker::requestExit
void requestExit()
Tells the thread to exit.
Definition: speaker.cpp:485
AppData::ssmlFilterXsltFile
QString ssmlFilterXsltFile() const
Returns the full path name of the XSLT file that performs SSML filtering on jobs for the application...
Definition: appdata.cpp:85
Jovie::kttsdExiting
void kttsdExiting()
This signal is emitted just before KTTS exits.
TalkerMgr::talkerCodeToTalkerId
QString talkerCodeToTalkerId(const QString &talkerCode)
Given a Talker Code, returns the Talker ID of the talker that would speak a text job with that Talker...
Definition: talkermgr.cpp:326
Jovie::~Jovie
~Jovie()
Destructor.
Definition: jovie.cpp:108
Jovie::getJobInfo
QByteArray getJobInfo(int jobNum)
Get information about a job.
Definition: jovie.cpp:417
Speaker::getAppData
AppData * getAppData(const QString &appId) const
Get application data.
Definition: speaker.cpp:315
Jovie::setCurrentTalker
void setCurrentTalker(const TalkerCode &talker)
Sets the current talker for all applications.
Definition: jovie.cpp:150
Speaker::pitch
int pitch()
Definition: speaker.cpp:570
TalkerCode::language
QString language() const
Definition: talkercode.cpp:119
Jovie::reinit
void reinit()
Cause KTTSD to re-read its configuration.
Definition: jovie.cpp:499
AppData::filteringOn
bool filteringOn() const
Returns the applications's current filtering enabled flag.
Definition: appdata.cpp:79
Speaker::findJobNumByAppId
int findJobNumByAppId(const QString &appId) const
Given an appId, returns the last (most recently queued) Job Number with that appId, or if no such job, the Job Number of the last (most recent) job in the queue.
Definition: speaker.cpp:477
Jovie::setVoiceType
void setVoiceType(int voiceType)
Definition: jovie.cpp:347
Jovie::pause
void pause()
Pauses speech jobs belonging to the application.
Definition: jovie.cpp:367
AppData::setSsmlFilterXsltFile
void setSsmlFilterXsltFile(const QString &filename)
Sets the full path name of the XSLT file that performs SSML filtering on jobs for the application...
Definition: appdata.cpp:86
Speaker::isApplicationPaused
bool isApplicationPaused(const QString &appId)
Return true if the application is paused.
Definition: speaker.cpp:675
Jovie::htmlFilterXsltFile
QString htmlFilterXsltFile()
Returns the full path name to XSLT file used to convert HTML markup to speakable form.
Definition: jovie.cpp:205
Jovie::defaultPriority
int defaultPriority()
Returns the default priority for speech jobs submitted by the application.
Definition: jovie.cpp:160
Jovie::setOutputModule
void setOutputModule(const QString &module)
Definition: jovie.cpp:337
Jovie
Jovie – the KDE Text-to-Speech API.
Definition: jovie.h:46
Speaker::setOutputModule
void setOutputModule(const QString &module)
Definition: speaker.cpp:588
Jovie::sayClipboard
int sayClipboard()
Submits a speech job from the contents of the clipboard.
Definition: jovie.cpp:260
Jovie::filteringOn
bool filteringOn()
Returns whether speech jobs for this application are filtered using configured filter plugins...
Definition: jovie.cpp:180
Jovie::removeAllJobs
void removeAllJobs()
Removes all jobs belonging to the application.
Definition: jovie.cpp:382
Speaker::speed
int speed()
Definition: speaker.cpp:557
Jovie::removeJob
void removeJob(int jobNum)
Removes the specified job.
Definition: jovie.cpp:377
Speaker::cancel
void cancel()
Stops the currently spoken message from this connection (if there is any) and discards all the queued...
Definition: speaker.cpp:651
AppData::setHtmlFilterXsltFile
void setHtmlFilterXsltFile(const QString &filename)
Sets the full path name of the XSLT file that performs HTML filtering on jobs for the application...
Definition: appdata.cpp:84
AppData::sentenceDelimiter
QString sentenceDelimiter() const
Returns the GREP pattern that will be used as the sentence delimiter.
Definition: appdata.cpp:77
Jovie::marker
void marker(const QString &appId, int jobNum, int markerType, const QString &markerData)
This signal is emitted when a marker is processed.
Jovie::jobStateChanged
void jobStateChanged(const QString &appId, int jobNum, int state)
This signal is emitted each time the state of a job changes.
QObject
Speaker::resume
void resume()
Resumes the speech.
Definition: speaker.cpp:667
Jovie::defaultTalker
QString defaultTalker()
Returns the default talker for the application.
Definition: jovie.cpp:140
Jovie::changeJobTalker
void changeJobTalker(int jobNum, const QString &talker)
Change the talker of an already-submitted job.
Definition: jovie.cpp:460
Jovie::setIsSystemManager
void setIsSystemManager(bool isSystemManager)
Sets whether this is a System Manager application.
Definition: jovie.cpp:230
talkermgr.h
Jovie::sayFile
int sayFile(const QString &filename, const QString &encoding)
Creates and starts a speech job from a specified file.
Definition: jovie.cpp:241
Jovie::setPitch
void setPitch(int pitch)
Definition: jovie.cpp:307
Jovie::outputModules
QStringList outputModules()
Definition: jovie.cpp:277
Jovie::showManagerDialog
void showManagerDialog()
Display the KttsMgr program so that user can configure KTTS options.
Definition: jovie.cpp:477
Jovie::getCurrentJob
int getCurrentJob()
Returns the job number of the currently speaking job (any application).
Definition: jovie.cpp:393
Jovie::say
int say(const QString &text, int options)
Creates and starts a speech job.
Definition: jovie.cpp:235
TalkerMgr::loadTalkers
void loadTalkers(KConfig *c)
load the talkers from the given config object
Definition: talkermgr.cpp:65
Jovie::speed
int speed()
Definition: jovie.cpp:302
speaker.h
Jovie::setCallingAppId
void setCallingAppId(const QString &appId)
Called by DBusAdaptor so that KTTSD knows the application that called it.
Definition: jovie.cpp:514
Jovie::setDefaultPriority
void setDefaultPriority(int defaultPriority)
Sets the default priority for speech jobs submitted by the application.
Definition: jovie.cpp:165
TalkerCode::volume
int volume() const
Definition: talkercode.cpp:129
talkercode.h
Jovie::setHtmlFilterXsltFile
void setHtmlFilterXsltFile(const QString &htmlFilterXsltFile)
Sets the full path name to an XSLT file used to convert HTML markup to speakable form.
Definition: jovie.cpp:210
Jovie::getSentenceCount
int getSentenceCount(int jobNum)
Returns the number of sentences in a job.
Definition: jovie.cpp:387
Jovie::setSsmlFilterXsltFile
void setSsmlFilterXsltFile(const QString &ssmlFilterXsltFile)
Sets the full path name to XSLT file used to convert SSML markup to a speakable form.
Definition: jovie.cpp:220
Speaker::setVolume
void setVolume(int volume)
Definition: speaker.cpp:575
Speaker::Instance
static Speaker * Instance()
singleton accessor
Definition: speaker.cpp:249
Jovie::resume
void resume()
Resumes speech jobs belonging to the application.
Definition: jovie.cpp:372
AppData::applicationName
QString applicationName() const
Returns the friendly display name for the application.
Definition: appdata.cpp:71
Jovie::getTalkerCapabilities1
int getTalkerCapabilities1(const QString &talker)
Returns a bitarray giving the capabilities of a talker.
Definition: jovie.cpp:439
TalkerCode::rate
int rate() const
Definition: talkercode.cpp:134
TalkerCode::languageCodeToLanguage
static QString languageCodeToLanguage(const QString &languageCode)
Converts a language code plus optional country code to language description.
Definition: talkercode.cpp:282
AppData::setApplicationName
void setApplicationName(const QString &applicationName)
Sets the friendly display name for the application.
Definition: appdata.cpp:72
TalkerCode
Definition: talkercode.h:38
Jovie::moveRelSentence
int moveRelSentence(int jobNum, int n)
Advance or rewind N sentences in a job.
Definition: jovie.cpp:471
TalkerMgr::getTalkers
QStringList getTalkers()
Get a list of the talkers configured in Speech Dispatcher.
Definition: talkermgr.cpp:239
AppData::htmlFilterXsltFile
QString htmlFilterXsltFile() const
Returns the full path name of the XSLT file that performs HTML filtering on jobs for the application...
Definition: appdata.cpp:83
Jovie::setVolume
void setVolume(int volume)
Definition: jovie.cpp:322
JovieTrayIcon
Definition: jovietrayicon.h:37
Jovie::isApplicationPaused
bool isApplicationPaused()
Returns whether application is paused.
Definition: jovie.cpp:200
Jovie::getJobState
int getJobState(int jobNum)
Returns the state of a job.
Definition: jovie.cpp:411
Jovie::init
void init()
post ctor helper method that instantiates the dbus adaptor class, and registers
Definition: jovie.cpp:491
Speaker::say
int say(const QString &appId, const QString &text, int sayOptions)
Queue and start a speech job.
Definition: speaker.cpp:365
Speaker::voiceType
int voiceType()
Definition: speaker.cpp:638
Jovie::setApplicationName
void setApplicationName(const QString &applicationName)
Sets a friendly display name for the application.
Definition: jovie.cpp:134
Jovie::talkerToTalkerId
QString talkerToTalkerId(const QString &talker)
Given a talker, returns the Talker ID for the talker.
Definition: jovie.cpp:434
AppData::setAutoConfigureTalkersOn
void setAutoConfigureTalkersOn(bool autoConfigureTalkersOn)
Sets whether KTTSD should attempt to automatically configure talkers to meet requested talker attribu...
Definition: appdata.cpp:88
jovie.h
AppData::defaultPriority
KSpeech::JobPriority defaultPriority() const
Returns the default priority (job type) for the application.
Definition: appdata.cpp:75
Jovie::getJobNumbers
QStringList getJobNumbers(int priority)
Returns a list job numbers for the jobs belonging to the application with the specified priority...
Definition: jovie.cpp:405
Jovie::pitch
int pitch()
Definition: jovie.cpp:317
Speaker::volume
int volume()
Definition: speaker.cpp:583
AppData::setDefaultPriority
void setDefaultPriority(KSpeech::JobPriority defaultPriority)
Set the default priority (job type) for the application.
Definition: appdata.cpp:76
Speaker::isSpeaking
bool isSpeaking()
Determine if kttsd is currently speaking any jobs.
Definition: speaker.cpp:491
Jovie::getTalkerCodes
QStringList getTalkerCodes()
Return a list of full Talker Codes for configured talkers.
Definition: jovie.cpp:429
Jovie::stop
void stop()
Definition: jovie.cpp:357
Jovie::getJobSentence
QString getJobSentence(int jobNum, int sentenceNum)
Return a sentence of a job.
Definition: jovie.cpp:423
Speaker::languagesByModule
QStringList languagesByModule(const QString &module)
Definition: speaker.cpp:506
Jovie::voiceType
int voiceType()
Definition: jovie.cpp:352
AppData::setSentenceDelimiter
void setSentenceDelimiter(const QString &sentenceDelimiter)
Sets the GREP pattern that will be used as the sentence delimiter.
Definition: appdata.cpp:78
Speaker::init
void init()
(re)initializes the filtermgr
Definition: speaker.cpp:302
Jovie::applicationName
QString applicationName()
Returns the friendly display name for the application.
Definition: jovie.cpp:129
Speaker::stop
void stop()
Stops the message currently being spoken on a given connection.
Definition: speaker.cpp:643
Speaker::outputModules
QStringList outputModules()
Get the output modules available from speech-dispatcher.
Definition: speaker.cpp:501
Jovie::setAutoConfigureTalkersOn
void setAutoConfigureTalkersOn(bool autoConfigureTalkersOn)
Sets whether KTTSD will automatically attempt to configure new talkers to meet required talker attrib...
Definition: jovie.cpp:195
Speaker::setSpeed
void setSpeed(int speed)
Definition: speaker.cpp:549
Speaker::pause
void pause()
Pauses the speech.
Definition: speaker.cpp:659
TalkerCode::voiceType
int voiceType() const
Definition: talkercode.cpp:124
AppData::setDefaultTalker
void setDefaultTalker(const QString &defaultTalker)
Sets the default talker code for the application.
Definition: appdata.cpp:74
Jovie::setDefaultTalker
void setDefaultTalker(const QString &defaultTalker)
Sets the default talker for the application.
Definition: jovie.cpp:145
Jovie::Instance
static Jovie * Instance()
singleton accessor
Definition: jovie.cpp:93
Jovie::languagesByModule
QStringList languagesByModule(const QString &module)
Definition: jovie.cpp:282
Jovie::autoConfigureTalkersOn
bool autoConfigureTalkersOn()
Returns whether KTTSD will automatically attempt to configure new talkers to meet required talker att...
Definition: jovie.cpp:190
Jovie::isSpeaking
bool isSpeaking() const
Returns true if KTTSD is currently speaking.
TalkerCode::outputModule
QString outputModule() const
Definition: talkercode.cpp:149
Jovie::moveJobLater
void moveJobLater(int jobNum)
Move a job one position down in the queue so that it is spoken later.
Definition: jovie.cpp:466
AppData::isSystemManager
bool isSystemManager() const
Returns whether this application is a KTTS System Manager.
Definition: appdata.cpp:89
Speaker::setPitch
void setPitch(int pitch)
Definition: speaker.cpp:562
Jovie::isSystemManager
bool isSystemManager()
Returns whether this is a System Manager application.
Definition: jovie.cpp:225
Speaker::setLanguage
void setLanguage(const QString &language)
Definition: speaker.cpp:615
Jovie::setSpeed
void setSpeed(int speed)
Definition: jovie.cpp:292
Jovie::setSentenceDelimiter
void setSentenceDelimiter(const QString &sentenceDelimiter)
Sets the regular expression used to perform Sentence Boundary Detection (SBD) for the application...
Definition: jovie.cpp:175
Jovie::ssmlFilterXsltFile
QString ssmlFilterXsltFile()
Returns the full path name to XSLT file used to convert SSML markup to a speakable form...
Definition: jovie.cpp:215
AppData::setIsSystemManager
void setIsSystemManager(bool isSystemManager)
Sets whether this application is a KTTS System Manager.
Definition: appdata.cpp:90
jovietrayicon.h
Jovie::setLanguage
void setLanguage(const QString &language)
Definition: jovie.cpp:342
Jovie::sentenceDelimiter
QString sentenceDelimiter()
Returns the regular expression used to perform Sentence Boundary Detection (SBD) for the application...
Definition: jovie.cpp:170
AppData::setFilteringOn
void setFilteringOn(bool filteringOn)
Sets the applications's current filtering enabled flag.
Definition: appdata.cpp:80
Speaker
Definition: speaker.h:65
AppData::autoConfigureTalkersOn
bool autoConfigureTalkersOn() const
Returns if KTTSD should attempt to automatically configure talkers to meet requested talker attribute...
Definition: appdata.cpp:87
TalkerCode::pitch
int pitch() const
Definition: talkercode.cpp:139
Jovie::getJobCount
int getJobCount(int priority)
Returns the number of jobs belonging to the application with the specified job priority.
Definition: jovie.cpp:399
TalkerMgr::Instance
static TalkerMgr * Instance()
singleton accessor
Definition: talkermgr.cpp:36
Jovie::volume
int volume()
Definition: jovie.cpp:332
Speaker::setTalker
void setTalker(int jobNum, const QString &talker)
Change the talker for a job.
Definition: speaker.cpp:496
Jovie::getTalkerCapabilities2
int getTalkerCapabilities2(const QString &talker)
Returns a bitarray giving the capabilities of a talker.
Definition: jovie.cpp:446
Jovie::kttsdStarted
void kttsdStarted()
This signal is emitted when KTTSD starts.
Speaker::getPossibleTalkers
QStringList getPossibleTalkers()
Definition: speaker.cpp:523
Jovie::version
QString version() const
Returns the version number of KTTSD.
Jovie::cancel
void cancel()
Definition: jovie.cpp:362
Jovie::getPossibleTalkers
QStringList getPossibleTalkers()
Get all possible talkers supported by speech-dispatcher configuration.
Definition: jovie.cpp:287
Jovie::setFilteringOn
void setFilteringOn(bool filteringOn)
Sets whether speech jobs for this application are filtered using configured filter plugins...
Definition: jovie.cpp:185
Speaker::setVoiceType
void setVoiceType(int voiceType)
Definition: speaker.cpp:629
Jovie::getTalkerVoices
QStringList getTalkerVoices(const QString &talker)
Return a list of the voice codes of voices available in the synthesizer corresponding to a talker...
Definition: jovie.cpp:453
Jovie::kttsdExit
void kttsdExit()
Shuts down KTTSD.
Definition: jovie.cpp:484
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:32:25 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

jovie

Skip menu "jovie"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeaccessibility API Reference

Skip menu "kdeaccessibility API Reference"
  • jovie

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal