/[svn]/linuxsampler/trunk/src/engines/gig/EngineChannel.h
ViewVC logotype

Annotation of /linuxsampler/trunk/src/engines/gig/EngineChannel.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3054 - (hide annotations) (download) (as text)
Thu Dec 15 12:47:45 2016 UTC (7 years, 4 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 3469 byte(s)
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).

1 schoenebeck 411 /***************************************************************************
2     * *
3     * LinuxSampler - modular, streaming capable sampler *
4     * *
5 persson 2390 * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck *
6     * Copyright (C) 2005 - 2008 Christian Schoenebeck *
7 schoenebeck 2871 * Copyright (C) 2009 - 2012 Christian Schoenebeck and Grigor Iliev *
8     * Copyright (C) 2012 - 2016 Christian Schoenebeck and Andreas Persson *
9 schoenebeck 411 * *
10     * This program is free software; you can redistribute it and/or modify *
11     * it under the terms of the GNU General Public License as published by *
12     * the Free Software Foundation; either version 2 of the License, or *
13     * (at your option) any later version. *
14     * *
15     * This program is distributed in the hope that it will be useful, *
16     * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18     * GNU General Public License for more details. *
19     * *
20     * You should have received a copy of the GNU General Public License *
21     * along with this program; if not, write to the Free Software *
22     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
23     * MA 02111-1307 USA *
24     ***************************************************************************/
25    
26     #ifndef __LS_GIG_ENGINECHANNEL_H__
27 iliev 2012 #define __LS_GIG_ENGINECHANNEL_H__
28 schoenebeck 411
29 iliev 2012 #include "../AbstractEngine.h"
30     #include "../EngineChannelBase.h"
31     #include "../EngineChannelFactory.h"
32 schoenebeck 412 #include "Voice.h"
33 schoenebeck 411
34 schoenebeck 3052 #if AC_APPLE_UNIVERSAL_BUILD
35     # include <libgig/gig.h>
36     #else
37     # include <gig.h>
38     #endif
39    
40 schoenebeck 411 namespace LinuxSampler { namespace gig {
41 persson 2390 class Voice;
42    
43 iliev 2012 class EngineChannel: public LinuxSampler::EngineChannelBase<Voice, ::gig::DimensionRegion, ::gig::Instrument> {
44     public:
45 schoenebeck 3054 virtual void SendProgramChange(uint8_t Program) OVERRIDE;
46     virtual void LoadInstrument() OVERRIDE;
47 schoenebeck 2871 virtual void ResetInternal(bool bResetEngine) OVERRIDE;
48 schoenebeck 3054 virtual String InstrumentFileName() OVERRIDE;
49     virtual String InstrumentFileName(int index) OVERRIDE;
50 schoenebeck 411
51 schoenebeck 3054 virtual AbstractEngine::Format GetEngineFormat() OVERRIDE;
52 schoenebeck 411
53 schoenebeck 2902 void reloadScript(::gig::Script* script);
54    
55 iliev 2012 friend class Voice;
56     friend class Engine;
57     friend class LinuxSampler::EngineChannelFactory;
58    
59     protected:
60 schoenebeck 411 EngineChannel();
61 schoenebeck 460 virtual ~EngineChannel();
62    
63 iliev 2012 float CurrentKeyDimension; ///< Current value (0-1.0) for the keyboard dimension, altered by pressing a keyswitching key.
64 schoenebeck 2902 ::gig::Script* CurrentGigScript; ///< Only used when a script is updated (i.e. by instrument editor), to check whether this engine channel is actually using that specific script reference.
65 schoenebeck 411
66 schoenebeck 3054 virtual void ProcessKeySwitchChange(int key) OVERRIDE;
67 schoenebeck 460
68 schoenebeck 411 };
69    
70     }} // namespace LinuxSampler::gig
71    
72 iliev 2012 #endif /* __LS_GIG_ENGINECHANNEL_H__ */

  ViewVC Help
Powered by ViewVC