/[svn]/libgig/trunk/src/gigdump.cpp
ViewVC logotype

Diff of /libgig/trunk/src/gigdump.cpp

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

revision 55 by schoenebeck, Tue Apr 27 09:06:07 2004 UTC revision 437 by persson, Wed Mar 9 22:02:40 2005 UTC
# Line 131  void PrintRegions(gig::Instrument* instr Line 131  void PrintRegions(gig::Instrument* instr
131              cout << "<NO_VALID_SAMPLE_REFERENCE> ";              cout << "<NO_VALID_SAMPLE_REFERENCE> ";
132          }          }
133          cout << "            KeyRange=" << pRegion->KeyRange.low << "-" << pRegion->KeyRange.high << ", ";          cout << "            KeyRange=" << pRegion->KeyRange.low << "-" << pRegion->KeyRange.high << ", ";
134          cout << "VelocityRange=" << pRegion->VelocityRange.low << "-" << pRegion->VelocityRange.high << ", Layer=" << pRegion->Layer << endl;          cout << "VelocityRange=" << pRegion->VelocityRange.low << "-" << pRegion->VelocityRange.high << ", Layers=" << pRegion->Layers << endl;
135          cout << "            Loops=" << pRegion->SampleLoops << endl;          cout << "            Loops=" << pRegion->SampleLoops << endl;
136            cout << "            Dimensions=" << pRegion->Dimensions << endl;
137            for (int iDimension = 0; iDimension < pRegion->Dimensions; iDimension++) {
138                cout << "            Dimension[" << iDimension << "]: Type=";
139                gig::dimension_def_t DimensionDef = pRegion->pDimensionDefinitions[iDimension];
140                switch (DimensionDef.dimension) {
141                    case gig::dimension_none:
142                        cout << "NONE";
143                        break;
144                    case gig::dimension_samplechannel: // If used sample has more than one channel (thus is not mono).
145                        cout << "SAMPLECHANNEL";
146                        break;
147                    case gig::dimension_layer: { // For layering of up to 8 instruments (and eventually crossfading of 2 or 4 layers).
148                        gig::crossfade_t crossfade = pRegion->pDimensionRegions[iDimension]->Crossfade;
149                        cout << "LAYER (Crossfade in_start=" << (int) crossfade.in_start << ",in_end=" << (int) crossfade.in_end << ",out_start=" << (int) crossfade.out_start << ",out_end=" << (int) crossfade.out_end << ")";
150                        break;
151                    }
152                    case gig::dimension_velocity: // Key Velocity (this is the only dimension where the ranges can exactly be defined).
153                        cout << "VELOCITY";
154                        break;
155                    case gig::dimension_channelaftertouch: // Channel Key Pressure
156                        cout << "AFTERTOUCH";
157                        break;
158                    case gig::dimension_releasetrigger: // Special dimension for triggering samples on releasing a key.
159                        cout << "RELEASETRIGGER";
160                        break;
161                    case gig::dimension_keyboard: // Key Position
162                        cout << "KEYBOARD";
163                        break;
164                    case gig::dimension_roundrobin: // Different samples triggered each time a note is played, dimension regions selected in sequence
165                        cout << "ROUNDROBIN";
166                        break;
167                    case gig::dimension_random: // Different samples triggered each time a note is played, random order
168                        cout << "RANDOM";
169                        break;
170                    case gig::dimension_modwheel: // Modulation Wheel (MIDI Controller 1)
171                        cout << "MODWHEEL";
172                        break;
173                    case gig::dimension_breath: // Breath Controller (Coarse, MIDI Controller 2)
174                        cout << "BREATH";
175                        break;
176                    case gig::dimension_foot: // Foot Pedal (Coarse, MIDI Controller 4)
177                        cout << "FOOT";
178                        break;
179                    case gig::dimension_portamentotime: // Portamento Time (Coarse, MIDI Controller 5)
180                        cout << "PORTAMENTOTIME";
181                        break;
182                    case gig::dimension_effect1: // Effect Controller 1 (Coarse, MIDI Controller 12)
183                        cout << "EFFECT1";
184                        break;
185                    case gig::dimension_effect2: // Effect Controller 2 (Coarse, MIDI Controller 13)
186                        cout << "EFFECT2";
187                        break;
188                    case gig::dimension_genpurpose1: // General Purpose Controller 1 (Slider, MIDI Controller 16)
189                        cout << "GENPURPOSE1";
190                        break;
191                    case gig::dimension_genpurpose2: // General Purpose Controller 2 (Slider, MIDI Controller 17)
192                        cout << "GENPURPOSE2";
193                        break;
194                    case gig::dimension_genpurpose3: // General Purpose Controller 3 (Slider, MIDI Controller 18)
195                        cout << "GENPURPOSE3";
196                        break;
197                    case gig::dimension_genpurpose4: // General Purpose Controller 4 (Slider, MIDI Controller 19)
198                        cout << "GENPURPOSE4";
199                        break;
200                    case gig::dimension_sustainpedal: // Sustain Pedal (MIDI Controller 64)
201                        cout << "SUSTAINPEDAL";
202                        break;
203                    case gig::dimension_portamento: // Portamento (MIDI Controller 65)
204                        cout << "PORTAMENTO";
205                        break;
206                    case gig::dimension_sostenutopedal: // Sostenuto Pedal (MIDI Controller 66)
207                        cout << "SOSTENUTOPEDAL";
208                        break;
209                    case gig::dimension_softpedal: // Soft Pedal (MIDI Controller 67)
210                        cout << "SOFTPEDAL";
211                        break;
212                    case gig::dimension_genpurpose5: // General Purpose Controller 5 (Button, MIDI Controller 80)
213                        cout << "GENPURPOSE5";
214                        break;
215                    case gig::dimension_genpurpose6: // General Purpose Controller 6 (Button, MIDI Controller 81)
216                        cout << "GENPURPOSE6";
217                        break;
218                    case gig::dimension_genpurpose7: // General Purpose Controller 7 (Button, MIDI Controller 82)
219                        cout << "GENPURPOSE7";
220                        break;
221                    case gig::dimension_genpurpose8: // General Purpose Controller 8 (Button, MIDI Controller 83)
222                        cout << "GENPURPOSE8";
223                        break;
224                    case gig::dimension_effect1depth: // Effect 1 Depth (MIDI Controller 91)
225                        cout << "EFFECT1DEPTH";
226                        break;
227                    case gig::dimension_effect2depth: // Effect 2 Depth (MIDI Controller 92)
228                        cout << "EFFECT2DEPTH";
229                        break;
230                    case gig::dimension_effect3depth: // Effect 3 Depth (MIDI Controller 93)
231                        cout << "EFFECT3DEPTH";
232                        break;
233                    case gig::dimension_effect4depth: // Effect 4 Depth (MIDI Controller 94)
234                        cout << "EFFECT4DEPTH";
235                        break;
236                    case gig::dimension_effect5depth:  // Effect 5 Depth (MIDI Controller 95)
237                        cout << "EFFECT5DEPTH";
238                        break;
239                    default:
240                        cout << "UNKNOWN - please report this !";
241                        break;
242                }
243                cout << ", Bits=" << (uint) DimensionDef.bits << ", Zones=" << (uint) DimensionDef.zones;
244                cout << ", SplitType=";
245                switch (DimensionDef.split_type) {
246                    case gig::split_type_normal:
247                        cout << "NORMAL" << endl;
248                        break;
249                    case gig::split_type_customvelocity:
250                        cout << "CUSTOMVELOCITY" << endl;
251                        break;
252                    case gig::split_type_bit:
253                        cout << "BIT" << endl;
254                        break;
255                    default:
256                        cout << "UNKNOWN" << endl;
257                }
258            }
259    
260          PrintDimensionRegions(pRegion);          PrintDimensionRegions(pRegion);
261    
262          pRegion = instr->GetNextRegion();          pRegion = instr->GetNextRegion();
# Line 154  void PrintDimensionRegions(gig::Region* Line 278  void PrintDimensionRegions(gig::Region*
278              if (pSample->pInfo->Name != "") {              if (pSample->pInfo->Name != "") {
279                  cout << "\"" << pSample->pInfo->Name << "\", ";                  cout << "\"" << pSample->pInfo->Name << "\", ";
280              }              }
281              cout << pSample->SamplesPerSecond << "Hz, " << endl;              cout << pSample->SamplesPerSecond << "Hz, ";
282                cout << "UnityNote=" << (int) pDimensionRegion->UnityNote << ", FineTune=" << (int) pDimensionRegion->FineTune << ", Gain=" << (-pDimensionRegion->Gain / 655360.0) << "dB, SampleStartOffset=" << pDimensionRegion->SampleStartOffset << endl;
283          }          }
284          else {          else {
285              cout << "                Sample: <NO_VALID_SAMPLE_REFERENCE> " << endl;              cout << "                Sample: <NO_VALID_SAMPLE_REFERENCE> " << endl;
# Line 165  void PrintDimensionRegions(gig::Region* Line 290  void PrintDimensionRegions(gig::Region*
290          cout << "                EG1PreAttack=" << pDimensionRegion->EG1PreAttack << "permille, EG1Attack=" << pDimensionRegion->EG1Attack << "s, EG1Decay1=" << pDimensionRegion->EG1Decay1 << "s,  EG1Sustain=" << pDimensionRegion->EG1Sustain << "permille, EG1Release=" << pDimensionRegion->EG1Release << "s, EG1Decay2=" << pDimensionRegion->EG1Decay2 << "s, EG1Hold=" << pDimensionRegion->EG1Hold << endl;          cout << "                EG1PreAttack=" << pDimensionRegion->EG1PreAttack << "permille, EG1Attack=" << pDimensionRegion->EG1Attack << "s, EG1Decay1=" << pDimensionRegion->EG1Decay1 << "s,  EG1Sustain=" << pDimensionRegion->EG1Sustain << "permille, EG1Release=" << pDimensionRegion->EG1Release << "s, EG1Decay2=" << pDimensionRegion->EG1Decay2 << "s, EG1Hold=" << pDimensionRegion->EG1Hold << endl;
291          cout << "                EG2PreAttack=" << pDimensionRegion->EG2PreAttack << "permille, EG2Attack=" << pDimensionRegion->EG2Attack << "s, EG2Decay1=" << pDimensionRegion->EG2Decay1 << "s,  EG2Sustain=" << pDimensionRegion->EG2Sustain << "permille, EG2Release=" << pDimensionRegion->EG2Release << "s, EG2Decay2=" << pDimensionRegion->EG2Decay2 << "s" << endl;          cout << "                EG2PreAttack=" << pDimensionRegion->EG2PreAttack << "permille, EG2Attack=" << pDimensionRegion->EG2Attack << "s, EG2Decay1=" << pDimensionRegion->EG2Decay1 << "s,  EG2Sustain=" << pDimensionRegion->EG2Sustain << "permille, EG2Release=" << pDimensionRegion->EG2Release << "s, EG2Decay2=" << pDimensionRegion->EG2Decay2 << "s" << endl;
292          cout << "                VCFEnabled=" << pDimensionRegion->VCFEnabled << ", VCFType=" << pDimensionRegion->VCFType << ", VCFCutoff=" << (int) pDimensionRegion->VCFCutoff << ",  VCFResonance=" << (int) pDimensionRegion->VCFResonance << ", VCFCutoffController=" << pDimensionRegion->VCFCutoffController << endl;          cout << "                VCFEnabled=" << pDimensionRegion->VCFEnabled << ", VCFType=" << pDimensionRegion->VCFType << ", VCFCutoff=" << (int) pDimensionRegion->VCFCutoff << ",  VCFResonance=" << (int) pDimensionRegion->VCFResonance << ", VCFCutoffController=" << pDimensionRegion->VCFCutoffController << endl;
293            cout << "                VelocityResponseCurve=";
294            switch (pDimensionRegion->VelocityResponseCurve) {
295                case gig::curve_type_nonlinear:
296                    cout << "NONLINEAR";
297                    break;
298                case gig::curve_type_linear:
299                    cout << "LINEAR";
300                    break;
301                case gig::curve_type_special:
302                    cout << "SPECIAL";
303                    break;
304                case gig::curve_type_unknown:
305                default:
306                    cout << "UNKNOWN - please report this !";
307            }
308            cout << ", VelocityResponseDepth=" << (int) pDimensionRegion->VelocityResponseDepth << ", VelocityResponseCurveScaling=" << (int) pDimensionRegion->VelocityResponseCurveScaling << endl;
309            cout << "                Pan=" << (int) pDimensionRegion->Pan << endl;
310    
311          dimensionRegions++;          dimensionRegions++;
312      }      }

Legend:
Removed from v.55  
changed lines
  Added in v.437

  ViewVC Help
Powered by ViewVC