You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/interfaces/kspeech/kspeechsink.h

165 lines
7.7 KiB

/*
kspeechsink.h
KTTSD DCOP Signal Sink Interface
--------------------------------
Copyright:
(C) 2004 by Gary Cramblitt <garycramblitt@comcast.net>
-------------------
Original author: Gary Cramblitt <garycramblitt@comcast.net>
******************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; version 2 of the License. *
* *
***************************************************************************/
/**
* @interface KSpeechSink
*
* KTTSD DCOP Signal Sink
*
* @since KDE 3.4
*
* This defines the interface to sink signals emitted by KTTSD, the KDE Text-to-speech Deamon.
* The DCOP IDL Compiler generates a skeleton file from this interface definition that will
* marshal the arguments for you.
*
* @section Usage
*
* See the Signals section of kspeech.h for instructions.
*
* @warning The KSpeechSink interface is still being developed and is likely to change in the future.
*/
#ifndef _KSPEECHSINK_H_
#define _KSPEECHSINK_H_
#include <dcopobject.h>
class KSpeechSink : virtual public DCOPObject {
K_DCOP
public:
/**
* @enum kttsdJobState
* Job states returned by method getTextJobState.
*/
enum kttsdJobState
{
jsQueued = 0, /**< Job has been queued but is not yet speakable. */
jsSpeakable = 1, /**< Job is speakable, but is not speaking. */
jsSpeaking = 2, /**< Job is currently speaking. */
jsPaused = 3, /**< Job has been paused. */
jsFinished = 4 /**< Job is finished and is deleteable. */
};
/**
* @enum kttsdMarkupType
* %Speech markup language types.
*/
enum kttsdMarkupType
{
mtPlain = 0, /**< Plain text */
mtJsml = 1, /**< Java %Speech Markup Language */
mtSmml = 2, /**< %Speech Markup Meta-language */
mtSable = 3 /**< Sable 2.0 */
};
k_dcop:
/**
* This signal is emitted when KTTSD starts or restarts after a call to reinit.
*/
virtual ASYNC kttsdStarted() { };
/**
* This signal is emitted just before KTTSD exits.
*/
virtual ASYNC kttsdExiting() { };
/**
* This signal is emitted when the speech engine/plugin encounters a marker in the text.
* @param appId DCOP application ID of the application that queued the text.
* @param markerName The name of the marker seen.
* @see markers
*/
virtual ASYNC markerSeen(const TQCString& appId, const TQString& markerName) { Q_UNUSED(appId); Q_UNUSED(markerName); };
/**
* This signal is emitted whenever a sentence begins speaking.
* @param appId DCOP application ID of the application that queued the text.
* @param jobNum Job number of the text job.
* @param seq Sequence number of the text.
* @see getTextCount
*/
virtual ASYNC sentenceStarted(const TQCString& appId, uint jobNum, uint seq) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(seq); };
/**
* This signal is emitted when a sentence has finished speaking.
* @param appId DCOP application ID of the application that queued the text.
* @param jobNum Job number of the text job.
* @param seq Sequence number of the text.
* @see getTextCount
*/
virtual ASYNC sentenceFinished(const TQCString& appId, uint jobNum, uint seq) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(seq); };
/**
* This signal is emitted whenever a new text job is added to the queue.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textSet(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted whenever a new part is appended to a text job.
* @param appId The DCOP senderId of the application that created the job.
* @param jobNum Job number of the text job.
* @param partNum Part number of the new part. Parts are numbered starting
* at 1.
*/
virtual ASYNC textAppended(const TQCString& appId, uint jobNum, int partNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(partNum); };
/**
* This signal is emitted whenever speaking of a text job begins.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textStarted(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted whenever a text job is finished. The job has
* been marked for deletion from the queue and will be deleted when another
* job reaches the Finished state. (Only one job in the text queue may be
* in state Finished at one time.) If startText or resumeText is
* called before the job is deleted, it will remain in the queue for speaking.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textFinished(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted whenever a speaking text job stops speaking.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textStopped(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted whenever a speaking text job is paused.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textPaused(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted when a text job, that was previously paused, resumes speaking.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textResumed(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
/**
* This signal is emitted whenever a text job is deleted from the queue.
* The job is no longer in the queue when this signal is emitted.
* @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
* @param jobNum Job number of the text job.
*/
virtual ASYNC textRemoved(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
};
#endif // _KSPEECHSINK_H_