Put NSAutoreleasePool usage around other distributed notification observer methods
[adiumx.git] / Source / AdiumSound.h
blob0559a1026b0e39aa83409cb3adace1e5f0dfaaf6
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.
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.
17 #import <Adium/AIObject.h>
18 #import "AISoundController.h"
20 @interface AdiumSound : AIObject {
21 NSMutableDictionary *soundCacheDict;
22 NSMutableArray *soundCacheArray;
23 NSTimer *soundCacheCleanupTimer;
25 float customVolume;
27 unsigned soundsAreMuted;
30 /*!
31 * @brief Finish Initing
33 * Requires:
34 * 1) Preference controller is ready
36 - (void)controllerDidLoad;
38 /*!
39 * @brief Play a sound
41 * @param inPath path to the sound file
43 - (void)playSoundAtPath:(NSString *)inPath;
44 /*!
45 * @brief Stop playing a sound
47 * @par Playback must have been started through \c AdiumSound; otherwise, the results are undefined.
49 * @param inPath path to the sound file
51 - (void)stopPlayingSoundAtPath:(NSString *)inPath;
53 /*! @brief Mute or unmute sounds.
55 * @par Calls to this method nest: If you call this method twice with \c YES, you must then call it twice with \c NO, or sounds will not be unmuted.
57 * @param mute \c YES if you want sounds muted; \c NO if you want sounds unmuted.
59 - (void)setSoundsAreMuted:(BOOL)mute;
61 @end