/[svn]/linuxsampler/trunk/src/engines/sf2/SF2SignalUnitRack.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/sf2/SF2SignalUnitRack.h

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

revision 2216 by iliev, Fri Jul 15 15:43:49 2011 UTC revision 2217 by iliev, Tue Jul 26 15:51:30 2011 UTC
# Line 30  Line 30 
30  namespace LinuxSampler { namespace sf2 {  namespace LinuxSampler { namespace sf2 {
31            
32      class Voice;      class Voice;
33        class SF2SignalUnitRack;
34            
35      class EGUnit : public SignalUnitBase<Voice>, public ::LinuxSampler::sfz::EGADSR {      class SFSignalUnit: public SignalUnit {
36          public:          public:
37                Voice* pVoice;
38    
39                SFSignalUnit(SF2SignalUnitRack* rack);
40        };
41        
42        class EGUnit : public SFSignalUnit, public ::LinuxSampler::sfz::EGADSR {
43            public:
44                EGUnit(SF2SignalUnitRack* rack): SFSignalUnit(rack) { }
45    
46              virtual bool  Active() { return active(); }              virtual bool  Active() { return active(); }
47              virtual float GetLevel() { return getLevel(); }              virtual float GetLevel() { return getLevel(); }
48              virtual void  EnterReleaseStage();              virtual void  EnterReleaseStage();
# Line 41  namespace LinuxSampler { namespace sf2 { Line 51  namespace LinuxSampler { namespace sf2 {
51    
52      class VolEGUnit : public EGUnit {      class VolEGUnit : public EGUnit {
53          public:          public:
54                VolEGUnit(SF2SignalUnitRack* rack): EGUnit(rack) { }
55    
56              virtual void  Trigger();              virtual void  Trigger();
57              virtual void  Increment();              virtual void  Increment();
58      };      };
59    
60      class ModEGUnit : public EGUnit {      class ModEGUnit : public EGUnit {
61          public:          public:
62                ModEGUnit(SF2SignalUnitRack* rack): EGUnit(rack) { }
63    
64              virtual void  Trigger();              virtual void  Trigger();
65              virtual void  Increment();              virtual void  Increment();
66      };      };
67    
68      class ModLfoUnit : public SignalUnitBase<Voice>, public LFOSigned {      class ModLfoUnit : public SFSignalUnit, public LFOSigned {
69          public:          public:
70              ModLfoUnit(): LFOSigned(1200.0f) { }              ModLfoUnit(SF2SignalUnitRack* rack): SFSignalUnit(rack), LFOSigned(1200.0f) { }
71              virtual bool  Active() { return true; }              virtual bool  Active() { return true; }
72              virtual void  Trigger();              virtual void  Trigger();
73              virtual void  Increment();              virtual void  Increment();
74              virtual float GetLevel() { return Level; }              virtual float GetLevel() { return Level; }
75      };      };
76    
77      class VibLfoUnit : public SignalUnitBase<Voice>, public LFOSigned {      class VibLfoUnit : public SFSignalUnit, public LFOSigned {
78          public:          public:
79              VibLfoUnit(): LFOSigned(1200.0f) { }              VibLfoUnit(SF2SignalUnitRack* rack): SFSignalUnit(rack), LFOSigned(1200.0f) { }
80              virtual bool  Active() { return true; }              virtual bool  Active() { return true; }
81              virtual void  Trigger();              virtual void  Trigger();
82              virtual void  Increment();              virtual void  Increment();
83              virtual float GetLevel() { return Level; }              virtual float GetLevel() { return Level; }
84      };      };
85            
86      class EndpointUnit : public EndpointSignalUnitBase<Voice> {      class EndpointUnit : public EndpointSignalUnit {
87          public:          public:
88                Voice* pVoice;
89    
90              Parameter *prmVolEg, *prmModEgPitch, *prmModEgCutoff, *prmModLfoVol,              Parameter *prmVolEg, *prmModEgPitch, *prmModEgCutoff, *prmModLfoVol,
91                        *prmModLfoPitch, *prmModLfoCutoff, *prmVibLfo;                        *prmModLfoPitch, *prmModLfoCutoff, *prmVibLfo;
92    
93              EndpointUnit();              EndpointUnit(SF2SignalUnitRack* rack);
94    
95              virtual void Trigger();              virtual void Trigger();
96    
# Line 87  namespace LinuxSampler { namespace sf2 { Line 103  namespace LinuxSampler { namespace sf2 {
103              virtual float GetResonance();              virtual float GetResonance();
104      };      };
105            
106      class SF2SignalUnitRack : public SignalUnitRackBase<Voice> {      class SF2SignalUnitRack : public SignalUnitRack {
107          private:          private:
108              VolEGUnit     suVolEG;              VolEGUnit     suVolEG;
109              ModEGUnit     suModEG;              ModEGUnit     suModEG;
# Line 97  namespace LinuxSampler { namespace sf2 { Line 113  namespace LinuxSampler { namespace sf2 {
113                            
114    
115          public:          public:
116                Voice* const pVoice;
117                    
118              /**              /**
119               * @param Voice The voice to which this rack belongs.               * @param Voice The voice to which this rack belongs.
120               */               */
121              SF2SignalUnitRack(Voice* Voice);              SF2SignalUnitRack(Voice* Voice);
122    
             virtual void                 Trigger();  
123              virtual EndpointSignalUnit*  GetEndpointUnit();              virtual EndpointSignalUnit*  GetEndpointUnit();
124      };      };
125            
126  }} // namespace LinuxSampler::sf2  }} // namespace LinuxSampler::sf2
127    
128  #endif  /* __LS_SF2SIGNALUNITRACK_H__ */  #endif  /* __LS_SF2SIGNALUNITRACK_H__ */
   

Legend:
Removed from v.2216  
changed lines
  Added in v.2217

  ViewVC Help
Powered by ViewVC