/[svn]/gigedit/trunk/src/dimregionedit.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/dimregionedit.cpp

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

revision 1118 by schoenebeck, Sat Mar 24 13:48:16 2007 UTC revision 1153 by schoenebeck, Mon Apr 9 21:05:01 2007 UTC
# Line 19  Line 19 
19    
20  #include "dimregionedit.h"  #include "dimregionedit.h"
21    
22  bool update_gui;  #include <libintl.h>
23    #define _(String) gettext(String)
 namespace {  
     uint8_t& access_UnityNote(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->UnityNote;  
     }  
     int16_t& access_FineTune(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->FineTune;  
     }  
     uint32_t& access_SampleLoops(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->SampleLoops;  
     }  
     uint8_t& access_Crossfade_in_start(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->Crossfade.in_start;  
     }  
     uint8_t& access_Crossfade_in_end(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->Crossfade.in_end;  
     }  
     uint8_t& access_Crossfade_out_start(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->Crossfade.out_start;  
     }  
     uint8_t& access_Crossfade_out_end(gig::DimensionRegion* dimreg)  
     {  
         return dimreg->Crossfade.out_end;  
     }  
 }  
24    
25  DimRegionEdit::DimRegionEdit() :  DimRegionEdit::DimRegionEdit() :
26      eEG1PreAttack("PreAttack", &gig::DimensionRegion::EG1PreAttack, 0, 100, 2),      eEG1PreAttack("PreAttack", 0, 100, 2),
27      eEG1Attack("Attack", &gig::DimensionRegion::EG1Attack, 0, 60, 3),      eEG1Attack("Attack", 0, 60, 3),
28      eEG1Decay1("Decay1", &gig::DimensionRegion::EG1Decay1, 0.005, 60, 3),      eEG1Decay1("Decay1", 0.005, 60, 3),
29      eEG1Decay2("Decay2", &gig::DimensionRegion::EG1Decay2, 0, 60, 3),      eEG1Decay2("Decay2", 0, 60, 3),
30      eEG1InfiniteSustain("InfiniteSustain",      eEG1InfiniteSustain("InfiniteSustain"),
31                          &gig::DimensionRegion::EG1InfiniteSustain),      eEG1Sustain("Sustain", 0, 100, 2),
32      eEG1Sustain("Sustain", &gig::DimensionRegion::EG1Sustain, 0, 100, 2),      eEG1Release("Release", 0, 60, 3),
33      eEG1Release("Release", &gig::DimensionRegion::EG1Release, 0, 60, 3),      eEG1Hold("Hold"),
34      eEG1Hold("Hold", &gig::DimensionRegion::EG1Hold),      eEG1Controller("Controller"),
35      eEG1Controller("Controller", &gig::DimensionRegion::EG1Controller),      eEG1ControllerInvert("ControllerInvert"),
36      eEG1ControllerInvert("ControllerInvert",      eEG1ControllerAttackInfluence("ControllerAttackInfluence", 0, 3),
37                           &gig::DimensionRegion::EG1ControllerInvert),      eEG1ControllerDecayInfluence("ControllerDecayInfluence", 0, 3),
38      eEG1ControllerAttackInfluence("ControllerAttackInfluence",      eEG1ControllerReleaseInfluence("ControllerReleaseInfluence", 0, 3),
39                                    &gig::DimensionRegion::EG1ControllerAttackInfluence,      eLFO1Frequency("Frequency", 0.1, 10, 2),
40                                    0, 3),      eLFO1InternalDepth("InternalDepth", 0, 1200),
41      eEG1ControllerDecayInfluence("ControllerDecayInfluence",      eLFO1ControlDepth("ControlDepth", 0, 1200),
42                                   &gig::DimensionRegion::EG1ControllerDecayInfluence,      eLFO1Controller("Controller"),
43                                   0, 3),      eLFO1FlipPhase("FlipPhase"),
44      eEG1ControllerReleaseInfluence("ControllerReleaseInfluence",      eLFO1Sync("Sync"),
45                                     &gig::DimensionRegion::EG1ControllerReleaseInfluence,      eEG2PreAttack("PreAttack", 0, 100, 2),
46                                     0, 3),      eEG2Attack("Attack", 0, 60, 3),
47      eLFO1Frequency("Frequency", &gig::DimensionRegion::LFO1Frequency,      eEG2Decay1("Decay1", 0.005, 60, 3),
48                     0.1, 10, 2),      eEG2Decay2("Decay2", 0, 60, 3),
49      eLFO1InternalDepth("InternalDepth",      eEG2InfiniteSustain("InfiniteSustain"),
50                         &gig::DimensionRegion::LFO1InternalDepth, 0, 1200),      eEG2Sustain("Sustain", 0, 100, 2),
51      eLFO1ControlDepth("ControlDepth", &gig::DimensionRegion::LFO1ControlDepth,      eEG2Release("Release", 0, 60, 3),
52                        0, 1200),      eEG2Controller("Controller"),
53      eLFO1Controller("Controller", &gig::DimensionRegion::LFO1Controller),      eEG2ControllerInvert("ControllerInvert"),
54      eLFO1FlipPhase("FlipPhase", &gig::DimensionRegion::LFO1FlipPhase),      eEG2ControllerAttackInfluence("ControllerAttackInfluence", 0, 3),
55      eLFO1Sync("Sync", &gig::DimensionRegion::LFO1Sync),      eEG2ControllerDecayInfluence("ControllerDecayInfluence", 0, 3),
56      eEG2PreAttack("PreAttack", &gig::DimensionRegion::EG2PreAttack, 0, 100, 2),      eEG2ControllerReleaseInfluence("ControllerReleaseInfluence", 0, 3),
57      eEG2Attack("Attack", &gig::DimensionRegion::EG2Attack, 0, 60, 3),      eLFO2Frequency("Frequency", 0.1, 10, 2),
58      eEG2Decay1("Decay1", &gig::DimensionRegion::EG2Decay1, 0.005, 60, 3),      eLFO2InternalDepth("InternalDepth", 0, 1200),
59      eEG2Decay2("Decay2", &gig::DimensionRegion::EG2Decay2, 0, 60, 3),      eLFO2ControlDepth("ControlDepth", 0, 1200),
60      eEG2InfiniteSustain("InfiniteSustain",      eLFO2Controller("Controller"),
61                          &gig::DimensionRegion::EG2InfiniteSustain),      eLFO2FlipPhase("FlipPhase"),
62      eEG2Sustain("Sustain", &gig::DimensionRegion::EG2Sustain, 0, 100, 2),      eLFO2Sync("Sync"),
63      eEG2Release("Release", &gig::DimensionRegion::EG2Release, 0, 60, 3),      eEG3Attack("Attack", 0, 10, 3),
64      eEG2Controller("Controller", &gig::DimensionRegion::EG2Controller),      eEG3Depth("Depth", -1200, 1200),
65      eEG2ControllerInvert("ControllerInvert",      eLFO3Frequency("Frequency", 0.1, 10, 2),
66                           &gig::DimensionRegion::EG2ControllerInvert),      eLFO3InternalDepth("InternalDepth", 0, 1200),
67      eEG2ControllerAttackInfluence("ControllerAttackInfluence",      eLFO3ControlDepth("ControlDepth", 0, 1200),
68                                    &gig::DimensionRegion::EG2ControllerAttackInfluence,      eLFO3Controller("Controller"),
69                                    0, 3),      eLFO3Sync("Sync"),
70      eEG2ControllerDecayInfluence("ControllerDecayInfluence",      eVCFEnabled("Enabled"),
71                                   &gig::DimensionRegion::EG2ControllerDecayInfluence,      eVCFType("Type"),
72                                   0, 3),      eVCFCutoffController("CutoffController"),
73      eEG2ControllerReleaseInfluence("ControllerReleaseInfluence",      eVCFCutoffControllerInvert("CutoffControllerInvert"),
74                                     &gig::DimensionRegion::EG2ControllerReleaseInfluence,      eVCFCutoff("Cutoff"),
75                                     0, 3),      eVCFVelocityCurve("VelocityCurve"),
76      eLFO2Frequency("Frequency", &gig::DimensionRegion::LFO2Frequency,      eVCFVelocityScale("VelocityScale"),
77                     0.1, 10, 2),      eVCFVelocityDynamicRange("VelocityDynamicRange", 0, 4),
78      eLFO2InternalDepth("InternalDepth",      eVCFResonance("Resonance"),
79                         &gig::DimensionRegion::LFO2InternalDepth, 0, 1200),      eVCFResonanceDynamic("ResonanceDynamic"),
80      eLFO2ControlDepth("ControlDepth",      eVCFResonanceController("ResonanceController"),
81                        &gig::DimensionRegion::LFO2ControlDepth, 0, 1200),      eVCFKeyboardTracking("KeyboardTracking"),
82      eLFO2Controller("Controller", &gig::DimensionRegion::LFO2Controller),      eVCFKeyboardTrackingBreakpoint("KeyboardTrackingBreakpoint"),
83      eLFO2FlipPhase("FlipPhase", &gig::DimensionRegion::LFO2FlipPhase),      eVelocityResponseCurve("VelocityResponseCurve"),
84      eLFO2Sync("Sync", &gig::DimensionRegion::LFO2Sync),      eVelocityResponseDepth("VelocityResponseDepth", 0, 4),
85      eEG3Attack("Attack", &gig::DimensionRegion::EG3Attack, 0, 10, 3),      eVelocityResponseCurveScaling("VelocityResponseCurveScaling"),
86      eEG3Depth("Depth", &gig::DimensionRegion::EG3Depth, -1200, 1200),      eReleaseVelocityResponseCurve("ReleaseVelocityResponseCurve"),
87      eLFO3Frequency("Frequency", &gig::DimensionRegion::LFO3Frequency,      eReleaseVelocityResponseDepth("ReleaseVelocityResponseDepth", 0, 4),
88                     0.1, 10, 2),      eReleaseTriggerDecay("ReleaseTriggerDecay", 0, 8),
89      eLFO3InternalDepth("InternalDepth",      eCrossfade_in_start("Crossfade.in_start"),
90                         &gig::DimensionRegion::LFO3InternalDepth, 0, 1200),      eCrossfade_in_end("Crossfade.in_end"),
91      eLFO3ControlDepth("ControlDepth", &gig::DimensionRegion::LFO3ControlDepth,      eCrossfade_out_start("Crossfade.out_start"),
92                        0, 1200),      eCrossfade_out_end("Crossfade.out_end"),
93      eLFO3Controller("Controller", &gig::DimensionRegion::LFO3Controller),      ePitchTrack("PitchTrack"),
94      eLFO3Sync("Sync", &gig::DimensionRegion::LFO3Sync),      eDimensionBypass("DimensionBypass"),
95      eVCFEnabled("Enabled", &gig::DimensionRegion::VCFEnabled),      ePan("Pan", -64, 63),
96      eVCFType("Type", &gig::DimensionRegion::VCFType),      eSelfMask("SelfMask"),
97      eVCFCutoffController("CutoffController",      eAttenuationController("AttenuationController"),
98                           &gig::DimensionRegion::VCFCutoffController),      eInvertAttenuationController("InvertAttenuationController"),
99      eVCFCutoffControllerInvert("CutoffControllerInvert",      eAttenuationControllerThreshold("AttenuationControllerThreshold"),
100                                 &gig::DimensionRegion::VCFCutoffControllerInvert),      eChannelOffset("ChannelOffset", 0, 9),
101      eVCFCutoff("Cutoff", &gig::DimensionRegion::VCFCutoff),      eSustainDefeat("SustainDefeat"),
102      eVCFVelocityCurve("VelocityCurve", &gig::DimensionRegion::VCFVelocityCurve),      eMSDecode("MSDecode"),
103      eVCFVelocityScale("VelocityScale", &gig::DimensionRegion::VCFVelocityScale),      eSampleStartOffset("SampleStartOffset", 0, 2000),
104      eVCFVelocityDynamicRange("VelocityDynamicRange",      eUnityNote("UnityNote"),
105                               &gig::DimensionRegion::VCFVelocityDynamicRange,      eFineTune("FineTune", -49, 50),
106                               0, 4),      eGain("Gain", -96, 0, 2, -655360),
107      eVCFResonance("Resonance", &gig::DimensionRegion::VCFResonance),      eGainPlus6("Gain +6dB", eGain, 6 * -655360),
108      eVCFResonanceDynamic("ResonanceDynamic",      eSampleLoops("SampleLoops", 0, 1)
                          &gig::DimensionRegion::VCFResonanceDynamic),  
     eVCFResonanceController("ResonanceController",  
                             &gig::DimensionRegion::VCFResonanceController),  
     eVCFKeyboardTracking("KeyboardTracking",  
                          &gig::DimensionRegion::VCFKeyboardTracking),  
     eVCFKeyboardTrackingBreakpoint("KeyboardTrackingBreakpoint",  
                                    &gig::DimensionRegion::VCFKeyboardTrackingBreakpoint),  
     eVelocityResponseCurve("VelocityResponseCurve",  
                            &gig::DimensionRegion::VelocityResponseCurve),  
     eVelocityResponseDepth("VelocityResponseDepth",  
                            &gig::DimensionRegion::VelocityResponseDepth, 0, 4),  
     eVelocityResponseCurveScaling("VelocityResponseCurveScaling",  
                                   &gig::DimensionRegion::VelocityResponseCurveScaling),  
     eReleaseVelocityResponseCurve("ReleaseVelocityResponseCurve",  
                                   &gig::DimensionRegion::ReleaseVelocityResponseCurve),  
     eReleaseVelocityResponseDepth("ReleaseVelocityResponseDepth",  
                                   &gig::DimensionRegion::ReleaseVelocityResponseDepth,  
                                   0, 4),  
     eReleaseTriggerDecay("ReleaseTriggerDecay",  
                          &gig::DimensionRegion::ReleaseTriggerDecay, 0, 8),  
     eCrossfade_in_start("Crossfade.in_start", &access_Crossfade_in_start),  
     eCrossfade_in_end("Crossfade.in_end", &access_Crossfade_in_end),  
     eCrossfade_out_start("Crossfade.out_start", &access_Crossfade_out_start),  
     eCrossfade_out_end("Crossfade.out_end", &access_Crossfade_out_end),  
     ePitchTrack("PitchTrack", &gig::DimensionRegion::PitchTrack),  
     eDimensionBypass("DimensionBypass", &gig::DimensionRegion::DimensionBypass),  
     ePan("Pan", &gig::DimensionRegion::Pan, -64, 63),  
     eSelfMask("SelfMask", &gig::DimensionRegion::SelfMask),  
     eAttenuationController("AttenuationController",  
                            &gig::DimensionRegion::AttenuationController),  
     eInvertAttenuationController("InvertAttenuationController",  
                                  &gig::DimensionRegion::InvertAttenuationController),  
     eAttenuationControllerThreshold("AttenuationControllerThreshold",  
                                     &gig::DimensionRegion::AttenuationControllerThreshold),  
     eChannelOffset("ChannelOffset", &gig::DimensionRegion::ChannelOffset, 0, 9),  
     eSustainDefeat("SustainDefeat", &gig::DimensionRegion::SustainDefeat),  
     eMSDecode("MSDecode", &gig::DimensionRegion::MSDecode),  
     eSampleStartOffset("SampleStartOffset",  
                        &gig::DimensionRegion::SampleStartOffset, 0, 2000),  
     eUnityNote("UnityNote", &access_UnityNote),  
     eFineTune("FineTune", &access_FineTune, -49, 50),  
     eGain("Gain", -96, 0, 2),  
     eGainPlus6("Gain +6dB", eGain),  
     eSampleLoops("SampleLoops", &access_SampleLoops, 0, 1)  
109  {  {
110      for (int i = 0 ; i < 5 ; i++) {      for (int i = 0 ; i < 7 ; i++) {
111          table[i] = new Gtk::Table(3, 1);          table[i] = new Gtk::Table(3, 1);
112          table[i]->set_col_spacings(5);          table[i]->set_col_spacings(7);
113      }      }
114    
115        // set tooltips
116        eUnityNote.set_tip(
117            _("note this sample is associated with (a.k.a. 'root note')")
118        );
119        eSampleStartOffset.set_tip(_("sample position at which playback should be started"));
120        ePan.set_tip(_("stereo balance (left/right)"));
121        eChannelOffset.set_tip(
122            _("output channel where the audio signal should be routed to (0 - 9)")
123        );
124        ePitchTrack.set_tip(
125            _("if true: sample will be pitched according to the key position "
126              "(this would be disabled for drums for example)")
127        );
128    
129      pageno = 0;      pageno = 0;
130      rowno = 0;      rowno = 0;
131      firstRowInBlock = 0;      firstRowInBlock = 0;
132    
133        addHeader(_("Mandatory Settings:"));
134      addString("Sample", lSample, wSample);      addString("Sample", lSample, wSample);
135      //TODO: the following would break drag&drop:   wSample->property_editable().set_value(false);  or this:    wSample->set_editable(false);      //TODO: the following would break drag&drop:   wSample->property_editable().set_value(false);  or this:    wSample->set_editable(false);
136      tooltips.set_tip(*wSample, "drop a sample here");      tooltips.set_tip(*wSample, _("drop a sample here"));
137      addHeader("EG1");      addProp(eUnityNote);
138        addHeader(_("Optional Settings:"));
139        addProp(eSampleStartOffset);
140        addProp(ePan);
141        addProp(eChannelOffset);
142        addHeader("Loops:");
143        addProp(eSampleLoops);
144        addHeader("Crossfade:");
145        addProp(eCrossfade_in_start);
146        addProp(eCrossfade_in_end);
147        addProp(eCrossfade_out_start);
148        addProp(eCrossfade_out_end);
149    
150        nextPage();
151    
152        addHeader(_("General Amplitude Settings:"));
153        addProp(eGain);
154        addProp(eGainPlus6);
155        addProp(eAttenuationController);
156        addProp(eInvertAttenuationController);
157        addProp(eAttenuationControllerThreshold);
158        addHeader(_("Amplitude Envelope (EG1):"));
159      addProp(eEG1PreAttack);      addProp(eEG1PreAttack);
160      addProp(eEG1Attack);      addProp(eEG1Attack);
161      addProp(eEG1Decay1);      addProp(eEG1Decay1);
# Line 207  DimRegionEdit::DimRegionEdit() : Line 169  DimRegionEdit::DimRegionEdit() :
169      addProp(eEG1ControllerAttackInfluence);      addProp(eEG1ControllerAttackInfluence);
170      addProp(eEG1ControllerDecayInfluence);      addProp(eEG1ControllerDecayInfluence);
171      addProp(eEG1ControllerReleaseInfluence);      addProp(eEG1ControllerReleaseInfluence);
172      addHeader("LFO1");  
173        nextPage();
174    
175        addHeader(_("Amplitude Oscillator (LFO1):"));
176      addProp(eLFO1Frequency);      addProp(eLFO1Frequency);
177      addProp(eLFO1InternalDepth);      addProp(eLFO1InternalDepth);
178      addProp(eLFO1ControlDepth);      addProp(eLFO1ControlDepth);
# Line 228  DimRegionEdit::DimRegionEdit() : Line 193  DimRegionEdit::DimRegionEdit() :
193      addProp(eLFO1Sync);      addProp(eLFO1Sync);
194    
195      nextPage();      nextPage();
     addHeader("EG2");  
     addProp(eEG2PreAttack);  
     addProp(eEG2Attack);  
     addProp(eEG2Decay1);  
     addProp(eEG2Decay2);  
     addProp(eEG2InfiniteSustain);  
     addProp(eEG2Sustain);  
     addProp(eEG2Release);  
     addProp(eEG2Controller);  
     addProp(eEG2ControllerInvert);  
     addProp(eEG2ControllerAttackInfluence);  
     addProp(eEG2ControllerDecayInfluence);  
     addProp(eEG2ControllerReleaseInfluence);  
     addHeader("LFO2");  
     addProp(eLFO2Frequency);  
     addProp(eLFO2InternalDepth);  
     addProp(eLFO2ControlDepth);  
     {  
         char* choices[] = { "internal", "modwheel", "foot",  
                             "internal+modwheel", "internal+foot", 0 };  
         static const gig::lfo2_ctrl_t values[] = {  
             gig::lfo2_ctrl_internal,  
             gig::lfo2_ctrl_modwheel,  
             gig::lfo2_ctrl_foot,  
             gig::lfo2_ctrl_internal_modwheel,  
             gig::lfo2_ctrl_internal_foot  
         };  
         eLFO2Controller.set_choices(choices, values);  
     }  
     addProp(eLFO2Controller);  
     addProp(eLFO2FlipPhase);  
     addProp(eLFO2Sync);  
   
     nextPage();  
196    
197      addHeader("EG3");      addHeader(_("General Filter Settings:"));
     addProp(eEG3Attack);  
     addProp(eEG3Depth);  
     addHeader("LFO3");  
     addProp(eLFO3Frequency);  
     addProp(eLFO3InternalDepth);  
     addProp(eLFO3ControlDepth);  
     {  
         char* choices[] = { "internal", "modwheel", "aftertouch",  
                             "internal+modwheel", "internal+aftertouch", 0 };  
         static const gig::lfo3_ctrl_t values[] = {  
             gig::lfo3_ctrl_internal,  
             gig::lfo3_ctrl_modwheel,  
             gig::lfo3_ctrl_aftertouch,  
             gig::lfo3_ctrl_internal_modwheel,  
             gig::lfo3_ctrl_internal_aftertouch  
         };  
         eLFO3Controller.set_choices(choices, values);  
     }  
     addProp(eLFO3Controller);  
     addProp(eLFO3Sync);  
     addHeader("VCF");  
198      addProp(eVCFEnabled);      addProp(eVCFEnabled);
199      {      {
200          char* choices[] = { "lowpass", "lowpassturbo", "bandpass",          char* choices[] = { "lowpass", "lowpassturbo", "bandpass",
# Line 352  DimRegionEdit::DimRegionEdit() : Line 262  DimRegionEdit::DimRegionEdit() :
262    
263      nextPage();      nextPage();
264    
265        addHeader(_("Filter Cutoff Envelope (EG2):"));
266        addProp(eEG2PreAttack);
267        addProp(eEG2Attack);
268        addProp(eEG2Decay1);
269        addProp(eEG2Decay2);
270        addProp(eEG2InfiniteSustain);
271        addProp(eEG2Sustain);
272        addProp(eEG2Release);
273        addProp(eEG2Controller);
274        addProp(eEG2ControllerInvert);
275        addProp(eEG2ControllerAttackInfluence);
276        addProp(eEG2ControllerDecayInfluence);
277        addProp(eEG2ControllerReleaseInfluence);
278        addHeader(_("Filter Cutoff Oscillator (LFO2):"));
279        addProp(eLFO2Frequency);
280        addProp(eLFO2InternalDepth);
281        addProp(eLFO2ControlDepth);
282        {
283            char* choices[] = { "internal", "modwheel", "foot",
284                                "internal+modwheel", "internal+foot", 0 };
285            static const gig::lfo2_ctrl_t values[] = {
286                gig::lfo2_ctrl_internal,
287                gig::lfo2_ctrl_modwheel,
288                gig::lfo2_ctrl_foot,
289                gig::lfo2_ctrl_internal_modwheel,
290                gig::lfo2_ctrl_internal_foot
291            };
292            eLFO2Controller.set_choices(choices, values);
293        }
294        addProp(eLFO2Controller);
295        addProp(eLFO2FlipPhase);
296        addProp(eLFO2Sync);
297    
298        nextPage();
299    
300        addHeader(_("General Pitch Settings:"));
301        addProp(eFineTune);
302        addProp(ePitchTrack);
303        addHeader(_("Pitch Envelope (EG3):"));
304        addProp(eEG3Attack);
305        addProp(eEG3Depth);
306        addHeader(_("Pitch Oscillator (LFO3):"));
307        addProp(eLFO3Frequency);
308        addProp(eLFO3InternalDepth);
309        addProp(eLFO3ControlDepth);
310        {
311            char* choices[] = { "internal", "modwheel", "aftertouch",
312                                "internal+modwheel", "internal+aftertouch", 0 };
313            static const gig::lfo3_ctrl_t values[] = {
314                gig::lfo3_ctrl_internal,
315                gig::lfo3_ctrl_modwheel,
316                gig::lfo3_ctrl_aftertouch,
317                gig::lfo3_ctrl_internal_modwheel,
318                gig::lfo3_ctrl_internal_aftertouch
319            };
320            eLFO3Controller.set_choices(choices, values);
321        }
322        addProp(eLFO3Controller);
323        addProp(eLFO3Sync);
324    
325        nextPage();
326    
327      eVelocityResponseCurve.set_choices(curve_type_texts, curve_type_values);      eVelocityResponseCurve.set_choices(curve_type_texts, curve_type_values);
328      addProp(eVelocityResponseCurve);      addProp(eVelocityResponseCurve);
329      addProp(eVelocityResponseDepth);      addProp(eVelocityResponseDepth);
# Line 361  DimRegionEdit::DimRegionEdit() : Line 333  DimRegionEdit::DimRegionEdit() :
333      addProp(eReleaseVelocityResponseCurve);      addProp(eReleaseVelocityResponseCurve);
334      addProp(eReleaseVelocityResponseDepth);      addProp(eReleaseVelocityResponseDepth);
335      addProp(eReleaseTriggerDecay);      addProp(eReleaseTriggerDecay);
     addProp(eCrossfade_in_start);  
     addProp(eCrossfade_in_end);  
     addProp(eCrossfade_out_start);  
     addProp(eCrossfade_out_end);  
     addProp(ePitchTrack);  
336      {      {
337          char* choices[] = { "none", "effect4depth", "effect5depth", 0 };          char* choices[] = { "none", "effect4depth", "effect5depth", 0 };
338          static const gig::dim_bypass_ctrl_t values[] = {          static const gig::dim_bypass_ctrl_t values[] = {
# Line 376  DimRegionEdit::DimRegionEdit() : Line 343  DimRegionEdit::DimRegionEdit() :
343          eDimensionBypass.set_choices(choices, values);          eDimensionBypass.set_choices(choices, values);
344      }      }
345      addProp(eDimensionBypass);      addProp(eDimensionBypass);
     addProp(ePan);  
346      addProp(eSelfMask);      addProp(eSelfMask);
     addProp(eAttenuationController);  
     addProp(eInvertAttenuationController);  
     addProp(eAttenuationControllerThreshold);  
     addProp(eChannelOffset);  
347      addProp(eSustainDefeat);      addProp(eSustainDefeat);
   
     nextPage();  
348      addProp(eMSDecode);      addProp(eMSDecode);
349      addProp(eSampleStartOffset);  
     addProp(eUnityNote);  
     addProp(eFineTune);  
     addProp(eGain);  
     addProp(eGainPlus6);  
     addProp(eSampleLoops);  
350      nextPage();      nextPage();
351    
352    
353      eEG1InfiniteSustain.signal_toggled().connect(      eEG1InfiniteSustain.signal_toggled().connect(
354          sigc::mem_fun(*this, &DimRegionEdit::EG1InfiniteSustain_toggled) );          sigc::mem_fun(*this, &DimRegionEdit::EG1InfiniteSustain_toggled) );
355      eEG2InfiniteSustain.signal_toggled().connect(      eEG2InfiniteSustain.signal_toggled().connect(
# Line 426  DimRegionEdit::DimRegionEdit() : Line 382  DimRegionEdit::DimRegionEdit() :
382      eCrossfade_out_end.signal_value_changed().connect(      eCrossfade_out_end.signal_value_changed().connect(
383          sigc::mem_fun(*this, &DimRegionEdit::crossfade4_changed));          sigc::mem_fun(*this, &DimRegionEdit::crossfade4_changed));
384    
385      append_page(*table[0], "EG1");      append_page(*table[0], "Sample");
386      append_page(*table[1], "EG2");      append_page(*table[1], "Amplitude (1)");
387      append_page(*table[2], "EG3");      append_page(*table[2], "Amplitude (2)");
388      append_page(*table[3], "Velocity");      append_page(*table[3], "Filter (1)");
389      append_page(*table[4], "Misc");      append_page(*table[4], "Filter (2)");
390        append_page(*table[5], "Pitch");
391        append_page(*table[6], "Misc");
392  }  }
393    
394  DimRegionEdit::~DimRegionEdit()  DimRegionEdit::~DimRegionEdit()
# Line 504  void DimRegionEdit::set_dim_region(gig:: Line 462  void DimRegionEdit::set_dim_region(gig::
462    
463      update_gui = false;      update_gui = false;
464      wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL");      wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL");
465      eEG1PreAttack.set_dimreg(d);      eEG1PreAttack.set_ptr(&d->EG1PreAttack);
466      eEG1Attack.set_dimreg(d);      eEG1Attack.set_ptr(&d->EG1Attack);
467      eEG1Decay1.set_dimreg(d);      eEG1Decay1.set_ptr(&d->EG1Decay1);
468      eEG1Decay2.set_dimreg(d);      eEG1Decay2.set_ptr(&d->EG1Decay2);
469      eEG1InfiniteSustain.set_dimreg(d);      eEG1InfiniteSustain.set_ptr(&d->EG1InfiniteSustain);
470      eEG1Sustain.set_dimreg(d);      eEG1Sustain.set_ptr(&d->EG1Sustain);
471      eEG1Release.set_dimreg(d);      eEG1Release.set_ptr(&d->EG1Release);
472      eEG1Hold.set_dimreg(d);      eEG1Hold.set_ptr(&d->EG1Hold);
473      eEG1Controller.set_dimreg(d);      eEG1Controller.set_ptr(&d->EG1Controller);
474      eEG1ControllerInvert.set_dimreg(d);      eEG1ControllerInvert.set_ptr(&d->EG1ControllerInvert);
475      eEG1ControllerAttackInfluence.set_dimreg(d);      eEG1ControllerAttackInfluence.set_ptr(&d->EG1ControllerAttackInfluence);
476      eEG1ControllerDecayInfluence.set_dimreg(d);      eEG1ControllerDecayInfluence.set_ptr(&d->EG1ControllerDecayInfluence);
477      eEG1ControllerReleaseInfluence.set_dimreg(d);      eEG1ControllerReleaseInfluence.set_ptr(&d->EG1ControllerReleaseInfluence);
478      eLFO1Frequency.set_dimreg(d);      eLFO1Frequency.set_ptr(&d->LFO1Frequency);
479      eLFO1InternalDepth.set_dimreg(d);      eLFO1InternalDepth.set_ptr(&d->LFO1InternalDepth);
480      eLFO1ControlDepth.set_dimreg(d);      eLFO1ControlDepth.set_ptr(&d->LFO1ControlDepth);
481      eLFO1Controller.set_dimreg(d);      eLFO1Controller.set_ptr(&d->LFO1Controller);
482      eLFO1FlipPhase.set_dimreg(d);      eLFO1FlipPhase.set_ptr(&d->LFO1FlipPhase);
483      eLFO1Sync.set_dimreg(d);      eLFO1Sync.set_ptr(&d->LFO1Sync);
484      eEG2PreAttack.set_dimreg(d);      eEG2PreAttack.set_ptr(&d->EG2PreAttack);
485      eEG2Attack.set_dimreg(d);      eEG2Attack.set_ptr(&d->EG2Attack);
486      eEG2Decay1.set_dimreg(d);      eEG2Decay1.set_ptr(&d->EG2Decay1);
487      eEG2Decay2.set_dimreg(d);      eEG2Decay2.set_ptr(&d->EG2Decay2);
488      eEG2InfiniteSustain.set_dimreg(d);      eEG2InfiniteSustain.set_ptr(&d->EG2InfiniteSustain);
489      eEG2Sustain.set_dimreg(d);      eEG2Sustain.set_ptr(&d->EG2Sustain);
490      eEG2Release.set_dimreg(d);      eEG2Release.set_ptr(&d->EG2Release);
491      eEG2Controller.set_dimreg(d);      eEG2Controller.set_ptr(&d->EG2Controller);
492      eEG2ControllerInvert.set_dimreg(d);      eEG2ControllerInvert.set_ptr(&d->EG2ControllerInvert);
493      eEG2ControllerAttackInfluence.set_dimreg(d);      eEG2ControllerAttackInfluence.set_ptr(&d->EG2ControllerAttackInfluence);
494      eEG2ControllerDecayInfluence.set_dimreg(d);      eEG2ControllerDecayInfluence.set_ptr(&d->EG2ControllerDecayInfluence);
495      eEG2ControllerReleaseInfluence.set_dimreg(d);      eEG2ControllerReleaseInfluence.set_ptr(&d->EG2ControllerReleaseInfluence);
496      eLFO2Frequency.set_dimreg(d);      eLFO2Frequency.set_ptr(&d->LFO2Frequency);
497      eLFO2InternalDepth.set_dimreg(d);      eLFO2InternalDepth.set_ptr(&d->LFO2InternalDepth);
498      eLFO2ControlDepth.set_dimreg(d);      eLFO2ControlDepth.set_ptr(&d->LFO2ControlDepth);
499      eLFO2Controller.set_dimreg(d);      eLFO2Controller.set_ptr(&d->LFO2Controller);
500      eLFO2FlipPhase.set_dimreg(d);      eLFO2FlipPhase.set_ptr(&d->LFO2FlipPhase);
501      eLFO2Sync.set_dimreg(d);      eLFO2Sync.set_ptr(&d->LFO2Sync);
502      eEG3Attack.set_dimreg(d);      eEG3Attack.set_ptr(&d->EG3Attack);
503      eEG3Depth.set_dimreg(d);      eEG3Depth.set_ptr(&d->EG3Depth);
504      eLFO3Frequency.set_dimreg(d);      eLFO3Frequency.set_ptr(&d->LFO3Frequency);
505      eLFO3InternalDepth.set_dimreg(d);      eLFO3InternalDepth.set_ptr(&d->LFO3InternalDepth);
506      eLFO3ControlDepth.set_dimreg(d);      eLFO3ControlDepth.set_ptr(&d->LFO3ControlDepth);
507      eLFO3Controller.set_dimreg(d);      eLFO3Controller.set_ptr(&d->LFO3Controller);
508      eLFO3Sync.set_dimreg(d);      eLFO3Sync.set_ptr(&d->LFO3Sync);
509      eVCFEnabled.set_dimreg(d);      eVCFEnabled.set_ptr(&d->VCFEnabled);
510      eVCFType.set_dimreg(d);      eVCFType.set_ptr(&d->VCFType);
511      eVCFCutoffController.set_dimreg(d);      eVCFCutoffController.set_ptr(&d->VCFCutoffController);
512      eVCFCutoffControllerInvert.set_dimreg(d);      eVCFCutoffControllerInvert.set_ptr(&d->VCFCutoffControllerInvert);
513      eVCFCutoff.set_dimreg(d);      eVCFCutoff.set_ptr(&d->VCFCutoff);
514      eVCFVelocityCurve.set_dimreg(d);      eVCFVelocityCurve.set_ptr(&d->VCFVelocityCurve);
515      eVCFVelocityScale.set_dimreg(d);      eVCFVelocityScale.set_ptr(&d->VCFVelocityScale);
516      eVCFVelocityDynamicRange.set_dimreg(d);      eVCFVelocityDynamicRange.set_ptr(&d->VCFVelocityDynamicRange);
517      eVCFResonance.set_dimreg(d);      eVCFResonance.set_ptr(&d->VCFResonance);
518      eVCFResonanceDynamic.set_dimreg(d);      eVCFResonanceDynamic.set_ptr(&d->VCFResonanceDynamic);
519      eVCFResonanceController.set_dimreg(d);      eVCFResonanceController.set_ptr(&d->VCFResonanceController);
520      eVCFKeyboardTracking.set_dimreg(d);      eVCFKeyboardTracking.set_ptr(&d->VCFKeyboardTracking);
521      eVCFKeyboardTrackingBreakpoint.set_dimreg(d);      eVCFKeyboardTrackingBreakpoint.set_ptr(&d->VCFKeyboardTrackingBreakpoint);
522      eVelocityResponseCurve.set_dimreg(d);      eVelocityResponseCurve.set_ptr(&d->VelocityResponseCurve);
523      eVelocityResponseDepth.set_dimreg(d);      eVelocityResponseDepth.set_ptr(&d->VelocityResponseDepth);
524      eVelocityResponseCurveScaling.set_dimreg(d);      eVelocityResponseCurveScaling.set_ptr(&d->VelocityResponseCurveScaling);
525      eReleaseVelocityResponseCurve.set_dimreg(d);      eReleaseVelocityResponseCurve.set_ptr(&d->ReleaseVelocityResponseCurve);
526      eReleaseVelocityResponseDepth.set_dimreg(d);      eReleaseVelocityResponseDepth.set_ptr(&d->ReleaseVelocityResponseDepth);
527      eReleaseTriggerDecay.set_dimreg(d);      eReleaseTriggerDecay.set_ptr(&d->ReleaseTriggerDecay);
528      eCrossfade_in_start.set_dimreg(d);      eCrossfade_in_start.set_ptr(&d->Crossfade.in_start);
529      eCrossfade_in_end.set_dimreg(d);      eCrossfade_in_end.set_ptr(&d->Crossfade.in_end);
530      eCrossfade_out_start.set_dimreg(d);      eCrossfade_out_start.set_ptr(&d->Crossfade.out_start);
531      eCrossfade_out_end.set_dimreg(d);      eCrossfade_out_end.set_ptr(&d->Crossfade.out_end);
532      ePitchTrack.set_dimreg(d);      ePitchTrack.set_ptr(&d->PitchTrack);
533      eDimensionBypass.set_dimreg(d);      eDimensionBypass.set_ptr(&d->DimensionBypass);
534      ePan.set_dimreg(d);      ePan.set_ptr(&d->Pan);
535      eSelfMask.set_dimreg(d);      eSelfMask.set_ptr(&d->SelfMask);
536      eAttenuationController.set_dimreg(d);      eAttenuationController.set_ptr(&d->AttenuationController);
537      eInvertAttenuationController.set_dimreg(d);      eInvertAttenuationController.set_ptr(&d->InvertAttenuationController);
538      eAttenuationControllerThreshold.set_dimreg(d);      eAttenuationControllerThreshold.set_ptr(&d->AttenuationControllerThreshold);
539      eChannelOffset.set_dimreg(d);      eChannelOffset.set_ptr(&d->ChannelOffset);
540      eSustainDefeat.set_dimreg(d);      eSustainDefeat.set_ptr(&d->SustainDefeat);
541      eMSDecode.set_dimreg(d);      eMSDecode.set_ptr(&d->MSDecode);
542      eSampleStartOffset.set_dimreg(d);      eSampleStartOffset.set_ptr(&d->SampleStartOffset);
543      eUnityNote.set_dimreg(d);      eUnityNote.set_ptr(&d->UnityNote);
544      eFineTune.set_dimreg(d);      eFineTune.set_ptr(&d->FineTune);
545      eGain.set_dimreg(d);      eGain.set_ptr(&d->Gain);
546      eGainPlus6.set_dimreg(d);      eGainPlus6.set_ptr(&d->Gain);
547      eSampleLoops.set_dimreg(d);      eSampleLoops.set_ptr(&d->SampleLoops);
548    
549      VCFEnabled_toggled();      VCFEnabled_toggled();
550    

Legend:
Removed from v.1118  
changed lines
  Added in v.1153

  ViewVC Help
Powered by ViewVC