Added `-[NSArray validateAsPropertyList]` and `-[NSDictionary validateAsPropertyList...
[adiumx.git] / Source / AISoundController.m
blobe78bc2e11d7b2dba7e3ee835ebe726c8b6c80296
1 /* 
2  * Adium is the legal property of its developers, whose names are listed in the copyright file included
3  * with this source distribution.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6  * General Public License as published by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11  * Public License for more details.
12  * 
13  * You should have received a copy of the GNU General Public License along with this program; if not,
14  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15  */
17 #import "AdiumSound.h"
18 #import "AdiumSpeech.h"
19 #import "AdiumSoundSets.h"
21 @implementation AISoundController
23 - (id)init
25         if ((self = [super init])) {
26                 adiumSound = [[AdiumSound alloc] init];
27                 adiumSpeech = [[AdiumSpeech alloc] init];
28                 adiumSoundSets = [[AdiumSoundSets alloc] init];
29         }
30         
31         return self;
34 - (void)controllerDidLoad
36         [adiumSound controllerDidLoad];
37         [adiumSpeech controllerDidLoad];
40 - (void)controllerWillClose
42         [adiumSound release]; adiumSound = nil;
43         [adiumSpeech release]; adiumSpeech = nil;
44         [adiumSoundSets release]; adiumSoundSets = nil;
47 //Sound
48 - (void)playSoundAtPath:(NSString *)inPath{
49         [adiumSound playSoundAtPath:inPath];
51 - (void)stopPlayingSoundAtPath:(NSString *)inPath
53         [adiumSound stopPlayingSoundAtPath:inPath];
56 //Speech
57 - (NSArray *)voices{
58         return [adiumSpeech voices];
61 /*!
62  * @brief Speak the demonstration text for a voice
63  *
64  * @param voiceString The name of the voice that should be used to generate speech
65  * @param pitch The pitch to use, or 0.0 to use the default pitch
66  * @param rate The rate to use, 0.0 to use the default rate
67  */
68 - (void)speakDemoTextForVoice:(NSString *)voiceString withPitch:(float)pitch andRate:(float)rate{
69         [adiumSpeech speakDemoTextForVoice:voiceString withPitch:pitch andRate:rate];
71 - (float)defaultRate{
72         return [adiumSpeech defaultRate];
74 - (float)defaultPitch{
75         return [adiumSpeech defaultPitch];
77 - (void)speakText:(NSString *)text{
78         [adiumSpeech speakText:text];
80 - (void)speakText:(NSString *)text withVoice:(NSString *)voiceString pitch:(float)pitch rate:(float)rate{
81         [adiumSpeech speakText:text withVoice:voiceString pitch:pitch rate:rate];
84 //Soundsets
85 - (NSArray *)soundSets{
86         return [adiumSoundSets soundSets];
89 - (void)setSoundsAreMuted:(BOOL)muted
91         [adiumSound setSoundsAreMuted:muted];
94 @end