/[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 2330 - (hide annotations) (download) (as text)
Mon Mar 12 15:14:31 2012 UTC (12 years, 2 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 2969 byte(s)
* Introduced new C++ API method EngineChannel::InstrumentFileName(int index)
  allowing to retrieve the whole list of files used for the loaded
  instrument on an engine channel (a.k.a. part). Some GigaStudio instruments
  for example are splitted over several files like "Foo.gig", "Foo.gx01",
  "Foo.gx02", ...
* Bumped version to 1.0.0.svn18

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

  ViewVC Help
Powered by ViewVC