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

Annotation of /gigedit/trunk/src/dimregionedit.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1156 - (hide annotations) (download) (as text)
Wed Apr 11 21:36:30 2007 UTC (17 years ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 6010 byte(s)
* implemented sample loop editing

1 persson 1100 /* -*- c++ -*-
2     * Copyright (C) 2006, 2007 Andreas Persson
3     *
4     * This program is free software; you can redistribute it and/or
5     * modify it under the terms of the GNU General Public License as
6     * published by the Free Software Foundation; either version 2, or (at
7     * your option) any later version.
8     *
9     * This program is distributed in the hope that it will be useful, but
10     * WITHOUT ANY WARRANTY; without even the implied warranty of
11     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12     * General Public License for more details.
13     *
14     * You should have received a copy of the GNU General Public License
15     * along with program; see the file COPYING. If not, write to the Free
16     * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17     * 02110-1301 USA.
18     */
19    
20     #ifndef GIGEDIT_DIMREGIONEDIT_H
21     #define GIGEDIT_DIMREGIONEDIT_H
22    
23     #include <gig.h>
24    
25     #include <gtkmm/entry.h>
26     #include <gtkmm/label.h>
27     #include <gtkmm/notebook.h>
28     #include <gtkmm/table.h>
29 schoenebeck 1118 #include <gtkmm/tooltips.h>
30 persson 1100
31     #include "paramedit.h"
32    
33     class DimRegionEdit : public Gtk::Notebook
34     {
35     public:
36     DimRegionEdit();
37     virtual ~DimRegionEdit();
38     void set_dim_region(gig::DimensionRegion* d);
39     Gtk::Entry* wSample;
40    
41     protected:
42 schoenebeck 1156 gig::DimensionRegion* dimregion;
43    
44 schoenebeck 1118 Gtk::Tooltips tooltips;
45    
46 schoenebeck 1151 Gtk::Table* table[7];
47 persson 1100
48     Gtk::Label* lSample;
49    
50     NumEntryPermille eEG1PreAttack;
51     NumEntryTemp<double> eEG1Attack;
52     NumEntryTemp<double> eEG1Decay1;
53     NumEntryTemp<double> eEG1Decay2;
54 persson 1138 BoolEntry eEG1InfiniteSustain;
55 persson 1100 NumEntryPermille eEG1Sustain;
56     NumEntryTemp<double> eEG1Release;
57 persson 1138 BoolEntry eEG1Hold;
58 persson 1100 ChoiceEntryLeverageCtrl eEG1Controller;
59 persson 1138 BoolEntry eEG1ControllerInvert;
60 persson 1100 NumEntryTemp<uint8_t> eEG1ControllerAttackInfluence;
61     NumEntryTemp<uint8_t> eEG1ControllerDecayInfluence;
62     NumEntryTemp<uint8_t> eEG1ControllerReleaseInfluence;
63     NumEntryTemp<double> eLFO1Frequency;
64     NumEntryTemp<uint16_t> eLFO1InternalDepth;
65     NumEntryTemp<uint16_t> eLFO1ControlDepth;
66     ChoiceEntry<gig::lfo1_ctrl_t> eLFO1Controller;
67 persson 1138 BoolEntry eLFO1FlipPhase;
68     BoolEntry eLFO1Sync;
69 persson 1100 NumEntryPermille eEG2PreAttack;
70     NumEntryTemp<double> eEG2Attack;
71     NumEntryTemp<double> eEG2Decay1;
72     NumEntryTemp<double> eEG2Decay2;
73 persson 1138 BoolEntry eEG2InfiniteSustain;
74 persson 1100 NumEntryPermille eEG2Sustain;
75     NumEntryTemp<double> eEG2Release;
76     ChoiceEntryLeverageCtrl eEG2Controller;
77 persson 1138 BoolEntry eEG2ControllerInvert;
78 persson 1100 NumEntryTemp<uint8_t> eEG2ControllerAttackInfluence;
79     NumEntryTemp<uint8_t> eEG2ControllerDecayInfluence;
80     NumEntryTemp<uint8_t> eEG2ControllerReleaseInfluence;
81     NumEntryTemp<double> eLFO2Frequency;
82     NumEntryTemp<uint16_t> eLFO2InternalDepth;
83     NumEntryTemp<uint16_t> eLFO2ControlDepth;
84     ChoiceEntry<gig::lfo2_ctrl_t> eLFO2Controller;
85 persson 1138 BoolEntry eLFO2FlipPhase;
86     BoolEntry eLFO2Sync;
87 persson 1100 NumEntryTemp<double> eEG3Attack;
88     NumEntryTemp<int16_t> eEG3Depth;
89     NumEntryTemp<double> eLFO3Frequency;
90     NumEntryTemp<int16_t> eLFO3InternalDepth;
91     NumEntryTemp<int16_t> eLFO3ControlDepth;
92     ChoiceEntry<gig::lfo3_ctrl_t> eLFO3Controller;
93 persson 1138 BoolEntry eLFO3Sync;
94     BoolEntry eVCFEnabled;
95 persson 1100 ChoiceEntry<gig::vcf_type_t> eVCFType;
96     ChoiceEntry<gig::vcf_cutoff_ctrl_t> eVCFCutoffController;
97 persson 1138 BoolEntry eVCFCutoffControllerInvert;
98 persson 1100 NumEntryTemp<uint8_t> eVCFCutoff;
99     ChoiceEntry<gig::curve_type_t> eVCFVelocityCurve;
100     NumEntryTemp<uint8_t> eVCFVelocityScale;
101     NumEntryTemp<uint8_t> eVCFVelocityDynamicRange;
102     NumEntryTemp<uint8_t> eVCFResonance;
103 persson 1138 BoolEntry eVCFResonanceDynamic;
104 persson 1100 ChoiceEntry<gig::vcf_res_ctrl_t> eVCFResonanceController;
105 persson 1138 BoolEntry eVCFKeyboardTracking;
106 persson 1100 NumEntryTemp<uint8_t> eVCFKeyboardTrackingBreakpoint;
107     ChoiceEntry<gig::curve_type_t> eVelocityResponseCurve;
108     NumEntryTemp<uint8_t> eVelocityResponseDepth;
109     NumEntryTemp<uint8_t> eVelocityResponseCurveScaling;
110     ChoiceEntry<gig::curve_type_t> eReleaseVelocityResponseCurve;
111     NumEntryTemp<uint8_t> eReleaseVelocityResponseDepth;
112     NumEntryTemp<uint8_t> eReleaseTriggerDecay;
113 persson 1138 NumEntryTemp<uint8_t> eCrossfade_in_start;
114     NumEntryTemp<uint8_t> eCrossfade_in_end;
115     NumEntryTemp<uint8_t> eCrossfade_out_start;
116     NumEntryTemp<uint8_t> eCrossfade_out_end;
117     BoolEntry ePitchTrack;
118 persson 1100 ChoiceEntry<gig::dim_bypass_ctrl_t> eDimensionBypass;
119     NumEntryTemp<int8_t> ePan;
120 persson 1138 BoolEntry eSelfMask;
121 persson 1100 ChoiceEntryLeverageCtrl eAttenuationController;
122 persson 1138 BoolEntry eInvertAttenuationController;
123 persson 1100 NumEntryTemp<uint8_t> eAttenuationControllerThreshold;
124     NumEntryTemp<uint8_t> eChannelOffset;
125 persson 1138 BoolEntry eSustainDefeat;
126     BoolEntry eMSDecode;
127 persson 1100 NumEntryTemp<uint16_t> eSampleStartOffset;
128     NoteEntry eUnityNote;
129 persson 1138 NumEntryTemp<int16_t> eFineTune;
130 persson 1100 NumEntryGain eGain;
131 persson 1117 BoolEntryPlus6 eGainPlus6;
132 schoenebeck 1156 BoolEntry eSampleLoopEnabled;
133     NumEntryTemp<uint32_t> eSampleLoopStart;
134     NumEntryTemp<uint32_t> eSampleLoopLength;
135     ChoiceEntry<uint32_t> eSampleLoopType;
136     BoolEntry eSampleLoopInfinite;
137     NumEntryTemp<uint32_t> eSampleLoopPlayCount;
138 persson 1100
139     int rowno;
140     int pageno;
141     int firstRowInBlock;
142    
143    
144     void addProp(LabelWidget& labelwidget);
145     void addString(char* labelText, Gtk::Label*& label,
146     Gtk::Entry*& widget);
147     void addHeader(char* text);
148     void nextPage();
149    
150     void VCFEnabled_toggled();
151     void VCFCutoffController_changed();
152     void VCFResonanceController_changed();
153     void EG1InfiniteSustain_toggled();
154     void EG2InfiniteSustain_toggled();
155     void EG1Controller_changed();
156     void EG2Controller_changed();
157     void AttenuationController_changed();
158     void LFO1Controller_changed();
159     void LFO2Controller_changed();
160     void LFO3Controller_changed();
161     void crossfade1_changed();
162     void crossfade2_changed();
163     void crossfade3_changed();
164     void crossfade4_changed();
165 schoenebeck 1156 void loop_enabled_toggled();
166     void loop_infinite_toggled();
167 persson 1100
168 schoenebeck 1156 void updateLoopElements();
169 persson 1100 };
170    
171     #endif

  ViewVC Help
Powered by ViewVC