98 |
}; |
}; |
99 |
|
|
100 |
|
|
101 |
|
class XFInCCUnit: public CCUnit { |
102 |
|
public: |
103 |
|
XFInCCUnit(SfzSignalUnitRack* rack, Listener* l = NULL): CCUnit(rack, l) { } |
104 |
|
|
105 |
|
virtual bool Active() { return Ctrls.size() > 0; } |
106 |
|
virtual void Calculate(); |
107 |
|
virtual void SetCrossFadeCCs(::sfz::Array<int>& loCCs, ::sfz::Array<int>& hiCCs); |
108 |
|
}; |
109 |
|
|
110 |
|
|
111 |
|
class XFOutCCUnit: public XFInCCUnit { |
112 |
|
public: |
113 |
|
XFOutCCUnit(SfzSignalUnitRack* rack, Listener* l = NULL): XFInCCUnit(rack, l) { } |
114 |
|
|
115 |
|
virtual void Calculate(); |
116 |
|
}; |
117 |
|
|
118 |
|
|
119 |
template <class T> |
template <class T> |
120 |
class EGUnit: public SfzSignalUnit { |
class EGUnit: public SfzSignalUnit { |
121 |
public: |
public: |
333 |
|
|
334 |
|
|
335 |
class EndpointUnit: public EndpointSignalUnit { |
class EndpointUnit: public EndpointSignalUnit { |
336 |
|
private: |
337 |
|
float xfCoeff; // crossfade coefficient |
338 |
|
|
339 |
public: |
public: |
340 |
Voice* pVoice; |
Voice* pVoice; |
341 |
|
XFInCCUnit suXFInCC; |
342 |
|
XFOutCCUnit suXFOutCC; |
343 |
|
|
344 |
EndpointUnit(SfzSignalUnitRack* rack); |
EndpointUnit(SfzSignalUnitRack* rack); |
345 |
|
|