/[svn]/linuxsampler/trunk/src/drivers/audio/AudioOutputDevice.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/audio/AudioOutputDevice.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1721 by schoenebeck, Mon Dec 31 19:03:31 2007 UTC revision 1722 by schoenebeck, Thu Apr 10 17:41:32 2008 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2008 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 36  Line 36 
36  #include "../../engines/Engine.h"  #include "../../engines/Engine.h"
37  #include "AudioChannel.h"  #include "AudioChannel.h"
38  #include "../../common/SynchronizedConfig.h"  #include "../../common/SynchronizedConfig.h"
39    #include "../../effects/EffectChain.h"
40    
41  namespace LinuxSampler {  namespace LinuxSampler {
42    
# Line 241  namespace LinuxSampler { Line 242  namespace LinuxSampler {
242               */               */
243              std::map<String,DeviceCreationParameter*> DeviceParameters();              std::map<String,DeviceCreationParameter*> DeviceParameters();
244    
245                /**
246                 * Add a chain of master effects to this AudioOutputDevice.
247                 * You actually have to add effects to that chain afterwards.
248                 */
249                EffectChain* AddMasterEffectChain();
250    
251                /**
252                 * Remove the master effect chain given by @a iChain .
253                 *
254                 * @throws Exception - if given master effect chain doesn't exist
255                 */
256                void RemoveMasterEffectChain(uint iChain) throw (Exception);
257    
258                /**
259                 * Returns master effect chain given by @a iChain or @c NULL if
260                 * there's no such effect chain.
261                 */
262                EffectChain* MasterEffectChain(uint iChain) const;
263    
264                /**
265                 * Returns amount of master effect chains this AudioOutputDevice
266                 * currently provides.
267                 */
268                uint MasterEffectChainCount() const;
269    
270          protected:          protected:
271              SynchronizedConfig<std::set<Engine*> >    Engines;     ///< All sampler engines that are connected to the audio output device.              SynchronizedConfig<std::set<Engine*> >    Engines;     ///< All sampler engines that are connected to the audio output device.
272              SynchronizedConfig<std::set<Engine*> >::Reader EnginesReader; ///< Audio thread access to Engines.              SynchronizedConfig<std::set<Engine*> >::Reader EnginesReader; ///< Audio thread access to Engines.
273              std::vector<AudioChannel*>                Channels;    ///< All audio channels of the audio output device. This is just a container; the descendant has to create channels by himself.              std::vector<AudioChannel*>                Channels;    ///< All audio channels of the audio output device. This is just a container; the descendant has to create channels by himself.
274              std::map<String,DeviceCreationParameter*> Parameters;  ///< All device parameters.              std::map<String,DeviceCreationParameter*> Parameters;  ///< All device parameters.
275                std::vector<EffectChain*>                 vEffectChains;
276    
277              AudioOutputDevice(std::map<String,DeviceCreationParameter*> DriverParameters);              AudioOutputDevice(std::map<String,DeviceCreationParameter*> DriverParameters);
278    

Legend:
Removed from v.1721  
changed lines
  Added in v.1722

  ViewVC Help
Powered by ViewVC