mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 07:00:46 +00:00
* Headers/AppKit/AppKit.h: Add include for NSSpeechSynthesizer.h
* Headers/AppKit/NSSpeechSynthesizer.h: Declarations. * Source/GNUmakefile: Add new files. * Source/NSSpeechSynthesizer.m: Add initial skeleton for NSSpeechSynthesizer class. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28121 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
bcdfa175b7
commit
67c5bccd17
5 changed files with 407 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2009-03-23 02:36-EDT Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Headers/AppKit/AppKit.h: Add include for NSSpeechSynthesizer.h
|
||||
* Headers/AppKit/NSSpeechSynthesizer.h: Declarations.
|
||||
* Source/GNUmakefile: Add new files.
|
||||
* Source/NSSpeechSynthesizer.m: Add initial skeleton for
|
||||
NSSpeechSynthesizer class.
|
||||
|
||||
2009-03-22 23:57-EDT Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Panels/English.lproj/GSToolbarCustomizationPalette.gorm: Add
|
||||
|
|
|
@ -156,6 +156,7 @@
|
|||
#include <AppKit/NSSearchFieldCell.h>
|
||||
#include <AppKit/NSSecureTextField.h>
|
||||
#include <AppKit/NSSound.h>
|
||||
#include <AppKit/NSSpeechSynthesizer.h>
|
||||
#include <AppKit/NSStepper.h>
|
||||
#include <AppKit/NSStepperCell.h>
|
||||
#include <AppKit/NSTableColumn.h>
|
||||
|
|
184
Headers/AppKit/NSSpeechSynthesizer.h
Normal file
184
Headers/AppKit/NSSpeechSynthesizer.h
Normal file
|
@ -0,0 +1,184 @@
|
|||
/** <title>NSSpeechSynthesizer</title>
|
||||
|
||||
<abstract>abstract base class for speech synthesis</abstract>
|
||||
|
||||
Copyright <copy>(C) 2009 Free Software Foundation, Inc.</copy>
|
||||
|
||||
Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
Date: Mar 2009
|
||||
|
||||
This file is part of the GNUstep GUI Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; see the file COPYING.LIB.
|
||||
If not, write to the Free Software Foundation,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _GNUstep_H_NSSpeechSynthesizer
|
||||
#define _GNUstep_H_NSSpeechSynthesizer
|
||||
|
||||
#include <Foundation/NSObject.h>
|
||||
|
||||
// NSSpeechBoundary enumerated type...
|
||||
typedef enum
|
||||
{
|
||||
NSSpeechImmediateBoundary = 0,
|
||||
NSSpeechWordBoundary,
|
||||
NSSpeechSentenceBoundary
|
||||
}
|
||||
NSSpeechBoundary;
|
||||
|
||||
// forward declarations...
|
||||
@class NSString, NSMutableDictionary, NSMutableArray, NSError;
|
||||
|
||||
// Keys for properties...
|
||||
extern NSString *NSVoiceIdentifier;
|
||||
extern NSString *NSVoiceName;
|
||||
extern NSString *NSVoiceAge;
|
||||
extern NSString *NSVoiceGender;
|
||||
extern NSString *NSVoiceDemoText;
|
||||
extern NSString *NSVoiceLanguage;
|
||||
extern NSString *NSVoiceLocaleIdentifier;
|
||||
extern NSString *NSVoiceSupportedCharacters;
|
||||
extern NSString *NSVoiceIndividuallySpokenCharacters;
|
||||
|
||||
// Values for gender
|
||||
extern NSString *NSVoiceGenderNeuter;
|
||||
extern NSString *NSVoiceGenderMale;
|
||||
extern NSString *NSVoiceGenderFemale;
|
||||
|
||||
// values for speech mode
|
||||
extern NSString *NSSpeechModeText;
|
||||
extern NSString *NSSpeechModePhoneme;
|
||||
extern NSString *NSSpeechModeNormal;
|
||||
extern NSString *NSSpeechModeLiteral;
|
||||
|
||||
// values for speech status...
|
||||
extern NSString *NSSpeechStatusOutputBusy;
|
||||
extern NSString *NSSpeechStatusOutputPaused;
|
||||
extern NSString *NSSpeechStatusNumberOfCharactersLeft;
|
||||
extern NSString *NSSpeechStatusPhonemeCode;
|
||||
|
||||
// values for error
|
||||
extern NSString *NSSpeechErrorCount;
|
||||
extern NSString *NSSpeechErrorOldestCode;
|
||||
extern NSString *NSSpeechErrorOldestCharacterOffset;
|
||||
extern NSString *NSSpeechErrorNewestCode;
|
||||
extern NSString *NSSpeechErrorNewestCharacterOffset;
|
||||
|
||||
// values for info
|
||||
extern NSString *NSSpeechSynthesizerInfoIdentifier;
|
||||
extern NSString *NSSpeechSynthesizerInfoVersion;
|
||||
|
||||
// values for command delimiter
|
||||
extern NSString *NSSpeechCommandPrefix;
|
||||
extern NSString *NSSpeechCommandSuffix;
|
||||
|
||||
// values for dictionaries.
|
||||
extern NSString *NSSpeechDictionaryLanguage;
|
||||
extern NSString *NSSpeechDictionaryModificationDate;
|
||||
extern NSString *NSSpeechDictionaryPronunciations;
|
||||
extern NSString *NSSpeechDictionaryAbreviations;
|
||||
extern NSString *NSSpeechDictionaryEntrySpelling;
|
||||
extern NSString *NSSpeechDictionaryEntryPhonemes;
|
||||
|
||||
// class declaration...
|
||||
@interface NSSpeechSynthesizer : NSObject
|
||||
{
|
||||
NSString *_voice;
|
||||
BOOL _usesFeedbackWindow;
|
||||
float _rate;
|
||||
float _volume;
|
||||
id _delegate;
|
||||
NSMutableArray *_dictionaries;
|
||||
NSMutableDictionary *_properties;
|
||||
}
|
||||
|
||||
// init...
|
||||
- (id) initWithVoice: (NSString *)voice;
|
||||
|
||||
// configuring speech synthesis
|
||||
- (BOOL) usesFeebackWindow;
|
||||
- (void) setUsesFeebackWindow: (BOOL)flag;
|
||||
|
||||
- (NSString *) voice;
|
||||
- (void) setVoice: (NSString *)voice;
|
||||
|
||||
- (float) rate;
|
||||
- (void) setRate: (float)rate;
|
||||
|
||||
- (float) volume;
|
||||
- (void) setVolume: (float)volume;
|
||||
|
||||
- (void) addSpeechDictionary: (NSDictionary *)speechDictionary;
|
||||
|
||||
- (id) objectForProperty: (NSString *)property error: (NSError **)error;
|
||||
|
||||
- (id) setObject: (id) object
|
||||
forProperty: (NSString *)property
|
||||
error: (NSError **)error;
|
||||
|
||||
- (id) delegate;
|
||||
- (void) setDelegate: (id)delegate;
|
||||
|
||||
// Getting information...
|
||||
+ (NSArray *) availableVoices;
|
||||
|
||||
+ (NSDictionary *) attributesForVoice: (NSString *)voice;
|
||||
|
||||
+ (NSString *) defaultVoice;
|
||||
|
||||
// Getting state...
|
||||
+ (BOOL) isAnyApplicationSpeaking;
|
||||
|
||||
// Synthesizing..
|
||||
- (BOOL) isSpeaking;
|
||||
|
||||
- (BOOL) startSpeakingString: (NSString *)text;
|
||||
|
||||
- (BOOL) startSpeakingString: (NSString *)text toURL: (NSURL *)url;
|
||||
|
||||
- (void) stopSpeaking;
|
||||
|
||||
- (void) stopSpeakingAtBoundary: (NSSpeechBoundary)boundary;
|
||||
|
||||
- (void) pauseSpeakingAtBoundary: (NSSpeechBoundary)boundary;
|
||||
|
||||
- (void) continueSpeaking;
|
||||
|
||||
- (NSString *) phonemesFromText: (NSString *)text;
|
||||
@end
|
||||
|
||||
// Speech synthesizer delegate informal protocol...
|
||||
@interface NSObject (NSSpeechSynthesizerDelegate)
|
||||
- (void)speechSynthesizer: (NSSpeechSynthesizer *)sender
|
||||
didEncounterErrorAtIndex: (NSUInteger)index
|
||||
ofString: (NSString *)string
|
||||
message: (NSString *)error;
|
||||
|
||||
- (void)speechSynthesizer: (NSSpeechSynthesizer *)sender
|
||||
didEncounterSyncMessage: (NSString *)error;
|
||||
|
||||
- (void)speechSynthesizer: (NSSpeechSynthesizer *)sender
|
||||
didFinishSpeaking: (BOOL)success;
|
||||
|
||||
- (void)speechSynthesizer: (NSSpeechSynthesizer *)sender
|
||||
willSpeakPhoneme: (short)phoneme;
|
||||
|
||||
- (void) speechSynthesizer: (NSSpeechSynthesizer *)sender
|
||||
willSpeakWord: (NSRange)range
|
||||
ofString: (NSString *)string;
|
||||
@end
|
||||
|
||||
#endif // _GNUstep_H_NSSpeechSynthesizer
|
|
@ -152,6 +152,7 @@ NSSelection.m \
|
|||
NSSlider.m \
|
||||
NSSliderCell.m \
|
||||
NSSound.m \
|
||||
NSSpeechSynthesizer.m \
|
||||
NSSpellChecker.m \
|
||||
NSSplitView.m \
|
||||
NSStepper.m \
|
||||
|
@ -348,6 +349,7 @@ NSSelection.h \
|
|||
NSSlider.h \
|
||||
NSSliderCell.h \
|
||||
NSSound.h \
|
||||
NSSpeechSynthesizer.h \
|
||||
NSSpellChecker.h \
|
||||
NSSpellServer.h \
|
||||
NSSplitView.h \
|
||||
|
|
212
Source/NSSpeechSynthesizer.m
Normal file
212
Source/NSSpeechSynthesizer.m
Normal file
|
@ -0,0 +1,212 @@
|
|||
/** <title>NSSpeechSynthesizer</title>
|
||||
|
||||
<abstract>abstract base class for speech synthesis</abstract>
|
||||
|
||||
Copyright <copy>(C) 2009 Free Software Foundation, Inc.</copy>
|
||||
|
||||
Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
Date: Mar 2009
|
||||
|
||||
This file is part of the GNUstep GUI Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; see the file COPYING.LIB.
|
||||
If not, write to the Free Software Foundation,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <Foundation/NSObject.h>
|
||||
#include <Foundation/NSString.h>
|
||||
#include <Foundation/NSDictionary.h>
|
||||
#include <Foundation/NSArray.h>
|
||||
#include <Foundation/NSError.h>
|
||||
#include "AppKit/NSSpeechSynthesizer.h"
|
||||
|
||||
// Keys for properties...
|
||||
NSString *NSVoiceIdentifier = @"NSVoiceIdentifier";
|
||||
NSString *NSVoiceName = @"NSVoiceName";
|
||||
NSString *NSVoiceAge = @"NSVoiceAge";
|
||||
NSString *NSVoiceGender = @"NSVoiceGender";
|
||||
NSString *NSVoiceDemoText = @"NSVoiceDemoText";
|
||||
NSString *NSVoiceLanguage = @"NSVoiceLanguage";
|
||||
NSString *NSVoiceLocaleIdentifier = @"NSVoiceLocaleIdentifier";
|
||||
NSString *NSVoiceSupportedCharacters = @"NSVoiceSupportedCharacters";
|
||||
NSString *NSVoiceIndividuallySpokenCharacters = @"NSVoiceIndividuallySpokenCharacters";
|
||||
|
||||
// Values for gender
|
||||
NSString *NSVoiceGenderNeuter = @"NSVoiceGenderNeuter";
|
||||
NSString *NSVoiceGenderMale = @"NSVoiceGenderMale";
|
||||
NSString *NSVoiceGenderFemale = @"NSVoiceGenderFemale";
|
||||
|
||||
// values for speech mode
|
||||
NSString *NSSpeechModeText = @"NSSpeechModeText";
|
||||
NSString *NSSpeechModePhoneme = @"NSSpeechModePhoneme";
|
||||
NSString *NSSpeechModeNormal = @"NSSpeechModeNormal";
|
||||
NSString *NSSpeechModeLiteral = @"NSSpeechModeLiteral";
|
||||
|
||||
// values for speech status...
|
||||
NSString *NSSpeechStatusOutputBusy = @"NSSpeechStatusOutputBusy";
|
||||
NSString *NSSpeechStatusOutputPaused = @"NSSpeechStatusOutputPaused";
|
||||
NSString *NSSpeechStatusNumberOfCharactersLeft = @"NSSpeechStatusNumberOfCharactersLeft";
|
||||
NSString *NSSpeechStatusPhonemeCode = @"NSSpeechStatusPhonemeCode";
|
||||
|
||||
// values for error
|
||||
NSString *NSSpeechErrorCount = @"NSSpeechErrorCount";
|
||||
NSString *NSSpeechErrorOldestCode = @"NSSpeechErrorOldestCode";
|
||||
NSString *NSSpeechErrorOldestCharacterOffset = @"NSSpeechErrorOldestCharacterOffset";
|
||||
NSString *NSSpeechErrorNewestCode = @"NSSpeechErrorNewestCode";
|
||||
NSString *NSSpeechErrorNewestCharacterOffset = @"NSSpeechErrorNewestCharacterOffset";
|
||||
|
||||
// values for info
|
||||
NSString *NSSpeechSynthesizerInfoIdentifier = @"NSSpeechSynthesizerInfoIdentifier";
|
||||
NSString *NSSpeechSynthesizerInfoVersion = @"NSSpeechSynthesizerInfoVersion";
|
||||
|
||||
// values for command delimiter
|
||||
NSString *NSSpeechCommandPrefix = @"NSSpeechCommandPrefix";
|
||||
NSString *NSSpeechCommandSuffix = @"NSSpeechCommandSuffix";
|
||||
|
||||
// values for dictionaries.
|
||||
NSString *NSSpeechDictionaryLanguage = @"NSSpeechDictionaryLanguage";
|
||||
NSString *NSSpeechDictionaryModificationDate = @"NSSpeechDictionaryModificationDate";
|
||||
NSString *NSSpeechDictionaryPronunciations = @"NSSpeechDictionaryPronunciations";
|
||||
NSString *NSSpeechDictionaryAbreviations = @"NSSpeechDictionaryAbreviations";
|
||||
NSString *NSSpeechDictionaryEntrySpelling = @"NSSpeechDictionaryEntrySpelling";
|
||||
NSString *NSSpeechDictionaryEntryPhonemes = @"NSSpeechDictionaryEntryPhonemes";
|
||||
|
||||
// class declaration...
|
||||
@implementation NSSpeechSynthesizer
|
||||
// init...
|
||||
- (id) initWithVoice: (NSString *)voice
|
||||
{
|
||||
return self;
|
||||
}
|
||||
|
||||
// configuring speech synthesis
|
||||
- (BOOL) usesFeebackWindow
|
||||
{
|
||||
return _usesFeedbackWindow;
|
||||
}
|
||||
|
||||
- (void) setUsesFeebackWindow: (BOOL)flag
|
||||
{
|
||||
_usesFeedbackWindow = flag;
|
||||
}
|
||||
|
||||
- (NSString *) voice
|
||||
{
|
||||
return _voice;
|
||||
}
|
||||
|
||||
- (void) setVoice: (NSString *)voice
|
||||
{
|
||||
ASSIGN(_voice, voice);
|
||||
}
|
||||
|
||||
- (float) rate
|
||||
{
|
||||
return _rate;
|
||||
}
|
||||
|
||||
- (void) setRate: (float)rate
|
||||
{
|
||||
_rate = rate;
|
||||
}
|
||||
|
||||
- (float) volume
|
||||
{
|
||||
return _volume;
|
||||
}
|
||||
|
||||
- (void) setVolume: (float)volume
|
||||
{
|
||||
_volume = volume;
|
||||
}
|
||||
|
||||
- (void) addSpeechDictionary: (NSDictionary *)speechDictionary
|
||||
{
|
||||
}
|
||||
|
||||
- (id) objectForProperty: (NSString *)property error: (NSError **)error
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (id) setObject: (id) object
|
||||
forProperty: (NSString *)property
|
||||
error: (NSError **)error
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (id) delegate
|
||||
{
|
||||
return _delegate;
|
||||
}
|
||||
|
||||
- (void) setDelegate: (id)delegate
|
||||
{
|
||||
_delegate = delegate;
|
||||
}
|
||||
|
||||
// Getting information...
|
||||
+ (NSArray *) availableVoices
|
||||
{
|
||||
return [NSArray array];
|
||||
}
|
||||
|
||||
+ (NSDictionary *) attributesForVoice: (NSString *)voice
|
||||
{
|
||||
return [NSDictionary dictionary];
|
||||
}
|
||||
|
||||
+ (NSString *) defaultVoice
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
// Getting state...
|
||||
+ (BOOL) isAnyApplicationSpeaking
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
// Synthesizing..
|
||||
- (BOOL) isSpeaking
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL) startSpeakingString: (NSString *)text
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL) startSpeakingString: (NSString *)text toURL: (NSURL *)url
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void) stopSpeaking {}
|
||||
|
||||
- (void) stopSpeakingAtBoundary: (NSSpeechBoundary)boundary {}
|
||||
|
||||
- (void) pauseSpeakingAtBoundary: (NSSpeechBoundary)boundary {}
|
||||
|
||||
- (void) continueSpeaking {}
|
||||
|
||||
- (NSString *) phonemesFromText: (NSString *)text
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
@end
|
||||
|
Loading…
Reference in a new issue