/[svn]/linuxsampler/trunk/src/Sampler.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/Sampler.h

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

revision 1130 by iliev, Sun Mar 25 18:59:14 2007 UTC revision 1723 by schoenebeck, Sun Apr 20 08:53:39 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, 2006 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 168  namespace LinuxSampler { Line 168  namespace LinuxSampler {
168              void RemoveAllEngineChangeListeners();              void RemoveAllEngineChangeListeners();
169    
170              /**              /**
171                 * Notifies listeners that the engine type of this sampler
172                 * channel is going to be changed soon.
173                 */
174                void fireEngineToBeChanged();
175    
176                /**
177               * Notifies listeners that the engine               * Notifies listeners that the engine
178               * type of this sampler channel is changed.               * type of this sampler channel is changed.
179               */               */
# Line 415  namespace LinuxSampler { Line 421  namespace LinuxSampler {
421               * @param NewCount The new number of active voices.               * @param NewCount The new number of active voices.
422               */               */
423              void fireTotalVoiceCountChanged(int NewCount);              void fireTotalVoiceCountChanged(int NewCount);
424                
425                void AddTotalStreamCountListener(TotalStreamCountListener* l);
426                void RemoveTotalStreamCountListener(TotalStreamCountListener* l);
427                void fireTotalStreamCountChanged(int NewCount);
428    
429              /**              /**
430               * Registers the specified listener to be notified when the number               * Registers the specified listener to be notified when the number
# Line 503  namespace LinuxSampler { Line 513  namespace LinuxSampler {
513               */               */
514              void DestroyMidiInputDevice(MidiInputDevice* pDevice) throw (Exception);              void DestroyMidiInputDevice(MidiInputDevice* pDevice) throw (Exception);
515    
516                 /**
517                 * Gets the current number of all active streams.
518                 * @returns The current number of all active streams.
519                 */
520                int GetDiskStreamCount();
521    
522              /**              /**
523               * Gets the current number of all active voices.               * Gets the current number of all active voices.
524               * @returns The current number of all active voices.               * @returns The current number of all active voices.
# Line 515  namespace LinuxSampler { Line 531  namespace LinuxSampler {
531               */               */
532              void Reset();              void Reset();
533    
534                /**
535                 * Advise the FPU to treat denormal floating point numbers as
536                 * zero, to avoid severe performance penalty when dealing with
537                 * such extreme floating point values.
538                 *
539                 * @returns @c true if FPU supports it, @c false otherwise
540                 */
541                static bool EnableDenormalsAreZeroMode();
542    
543          protected:          protected:
544              /**              /**
545               * Notifies listeners that the number of sampler channels has been changed.               * Notifies listeners that the number of sampler channels has been changed.
# Line 523  namespace LinuxSampler { Line 548  namespace LinuxSampler {
548              void fireChannelCountChanged(int NewCount);              void fireChannelCountChanged(int NewCount);
549    
550              /**              /**
551                 * Notifies listeners that the specified sampler channel has just
552                 * been added.
553                 * @param pChannel The new sampler channel.
554                 */
555                void fireChannelAdded(SamplerChannel* pChannel);
556    
557                /**
558                 * Notifies listeners that the specified sampler channel is
559                 * going to be removed soon.
560                 * @param pChannel sampler channel to be removed.
561                 */
562                void fireChannelToBeRemoved(SamplerChannel* pChannel);
563    
564                /**
565               * Notifies listeners that the number of audio output devices has been changed.               * Notifies listeners that the number of audio output devices has been changed.
566               * @param NewCount The new number of audio output devices.               * @param NewCount The new number of audio output devices.
567               */               */
# Line 535  namespace LinuxSampler { Line 574  namespace LinuxSampler {
574              void fireMidiDeviceCountChanged(int NewCount);              void fireMidiDeviceCountChanged(int NewCount);
575    
576              /**              /**
577                 * Notifies listeners that the supplied MIDI input device is
578                 * going to be destroyed soon.
579                 * @param pDevice MIDI input device to be destroyed
580                 */
581                void fireMidiDeviceToBeDestroyed(MidiInputDevice* pDevice);
582    
583                /**
584                 * Notifies listeners that the supplied MIDI input device was
585                 * just created.
586                 * @param pDevice new MIDI input device
587                 */
588                void fireMidiDeviceCreated(MidiInputDevice* pDevice);
589    
590                /**
591               * Notifies listeners that the number of effect sends               * Notifies listeners that the number of effect sends
592               * on a particular sampler channel is changed.               * on a particular sampler channel is changed.
593               * @param ChannelId The numerical ID of the sampler channel.               * @param ChannelId The numerical ID of the sampler channel.
# Line 559  namespace LinuxSampler { Line 612  namespace LinuxSampler {
612              ListenerList<VoiceCountListener*> llVoiceCountListeners;              ListenerList<VoiceCountListener*> llVoiceCountListeners;
613              ListenerList<StreamCountListener*> llStreamCountListeners;              ListenerList<StreamCountListener*> llStreamCountListeners;
614              ListenerList<BufferFillListener*> llBufferFillListeners;              ListenerList<BufferFillListener*> llBufferFillListeners;
615                ListenerList<TotalStreamCountListener*> llTotalStreamCountListeners;
616              ListenerList<TotalVoiceCountListener*> llTotalVoiceCountListeners;              ListenerList<TotalVoiceCountListener*> llTotalVoiceCountListeners;
617              ListenerList<FxSendCountListener*> llFxSendCountListeners;              ListenerList<FxSendCountListener*> llFxSendCountListeners;
618    
# Line 567  namespace LinuxSampler { Line 621  namespace LinuxSampler {
621                      void SetSampler(Sampler* pSampler) { this->pSampler = pSampler; }                      void SetSampler(Sampler* pSampler) { this->pSampler = pSampler; }
622    
623                      /**                      /**
624                         * Invoked when the engine type of the specified sampler
625                         * channel is going to be changed soon.
626                         * @param ChannelId The numerical ID of the sampler channel
627                         */
628                        virtual void EngineToBeChanged(int ChannelId);
629    
630                        /**
631                       * Invoked when the engine type of the                       * Invoked when the engine type of the
632                       * specified sampler channel is changed.                       * specified sampler channel is changed.
633                       * @param ChannelId The numerical ID of the sampler                       * @param ChannelId The numerical ID of the sampler

Legend:
Removed from v.1130  
changed lines
  Added in v.1723

  ViewVC Help
Powered by ViewVC