/[svn]/linuxsampler/trunk/src/engines/sfz/sfz.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/sfz/sfz.cpp

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

revision 2264 by iliev, Mon Aug 22 10:00:01 2011 UTC revision 2265 by iliev, Mon Aug 22 12:22:34 2011 UTC
# Line 322  namespace sfz Line 322  namespace sfz
322          volume_oncc.clear();          volume_oncc.clear();
323          volume_curvecc.clear();          volume_curvecc.clear();
324          volume_smoothcc.clear();          volume_smoothcc.clear();
325            volume_stepcc.clear();
326          pan = 0;          pan = 0;
327          pan_oncc.clear();          pan_oncc.clear();
328          pan_curvecc.clear();          pan_curvecc.clear();
329          pan_smoothcc.clear();          pan_smoothcc.clear();
330            pan_stepcc.clear();
331          width = 100;          width = 100;
332          position = 0;          position = 0;
333          amp_keytrack = 0;          amp_keytrack = 0;
# Line 381  namespace sfz Line 383  namespace sfz
383          cutoff_oncc.clear();          cutoff_oncc.clear();
384          cutoff_smoothcc.clear();          cutoff_smoothcc.clear();
385          cutoff_curvecc.clear();          cutoff_curvecc.clear();
386            cutoff_stepcc.clear();
387          cutoff2_oncc.clear();          cutoff2_oncc.clear();
388          cutoff2_smoothcc.clear();          cutoff2_smoothcc.clear();
389          cutoff2_curvecc.clear();          cutoff2_curvecc.clear();
390            cutoff2_stepcc.clear();
391                    
392          resonance_oncc.clear();          resonance_oncc.clear();
393          resonance_smoothcc.clear();          resonance_smoothcc.clear();
394          resonance_curvecc.clear();          resonance_curvecc.clear();
395            resonance_stepcc.clear();
396          resonance2_oncc.clear();          resonance2_oncc.clear();
397          resonance2_smoothcc.clear();          resonance2_smoothcc.clear();
398          resonance2_curvecc.clear();          resonance2_curvecc.clear();
399            resonance2_stepcc.clear();
400    
401          // per voice equalizer          // per voice equalizer
402          eq1_freq = 50;          eq1_freq = 50;
# Line 435  namespace sfz Line 441  namespace sfz
441              xfout_locc.set(i, 0);              xfout_locc.set(i, 0);
442              xfout_hicc.set(i, 0);              xfout_hicc.set(i, 0);
443    
             // filter  
             cutoff_stepcc.set(i, 0);  
             resonance_stepcc.set(i, 0);  
               
             cutoff2_stepcc.set(i, 0);  
             resonance2_stepcc.set(i, 0);  
   
444              // per voice equalizer              // per voice equalizer
445              eq1_freq_oncc.set(i, 0);              eq1_freq_oncc.set(i, 0);
446              eq2_freq_oncc.set(i, 0);              eq2_freq_oncc.set(i, 0);
# Line 639  namespace sfz Line 638  namespace sfz
638          region->volume_oncc = volume_oncc;          region->volume_oncc = volume_oncc;
639          region->volume_curvecc = volume_curvecc;          region->volume_curvecc = volume_curvecc;
640          region->volume_smoothcc = volume_smoothcc;          region->volume_smoothcc = volume_smoothcc;
641            region->volume_stepcc = volume_stepcc;
642          region->pan = pan;          region->pan = pan;
643          region->pan_oncc = pan_oncc;          region->pan_oncc = pan_oncc;
644          region->pan_curvecc = pan_curvecc;          region->pan_curvecc = pan_curvecc;
645          region->pan_smoothcc = pan_smoothcc;          region->pan_smoothcc = pan_smoothcc;
646            region->pan_stepcc = pan_stepcc;
647          region->width = width;          region->width = width;
648          region->position = position;          region->position = position;
649          region->amp_keytrack = amp_keytrack;          region->amp_keytrack = amp_keytrack;
# Line 1040  namespace sfz Line 1041  namespace sfz
1041              copySmoothValues(r->volume_smoothcc, r->volume_oncc);              copySmoothValues(r->volume_smoothcc, r->volume_oncc);
1042              r->volume_smoothcc.clear();              r->volume_smoothcc.clear();
1043                            
1044                copyStepValues(r->volume_stepcc, r->volume_oncc);
1045                r->volume_stepcc.clear();
1046                
1047              copyCurves(r->pitch_curvecc, r->pitch_oncc);              copyCurves(r->pitch_curvecc, r->pitch_oncc);
1048              r->pitch_curvecc.clear();              r->pitch_curvecc.clear();
1049                            
# Line 1055  namespace sfz Line 1059  namespace sfz
1059              copySmoothValues(r->pan_smoothcc, r->pan_oncc);              copySmoothValues(r->pan_smoothcc, r->pan_oncc);
1060              r->pan_smoothcc.clear();              r->pan_smoothcc.clear();
1061                            
1062                copyStepValues(r->pan_stepcc, r->pan_oncc);
1063                r->pan_stepcc.clear();
1064                
1065              copyCurves(r->cutoff_curvecc, r->cutoff_oncc);              copyCurves(r->cutoff_curvecc, r->cutoff_oncc);
1066              r->cutoff_curvecc.clear();              r->cutoff_curvecc.clear();
1067                            
1068              copySmoothValues(r->cutoff_smoothcc, r->cutoff_oncc);              copySmoothValues(r->cutoff_smoothcc, r->cutoff_oncc);
1069              r->cutoff_smoothcc.clear();              r->cutoff_smoothcc.clear();
1070                            
1071                copyStepValues(r->cutoff_stepcc, r->cutoff_oncc);
1072                r->cutoff_stepcc.clear();
1073                
1074              copyCurves(r->cutoff2_curvecc, r->cutoff2_oncc);              copyCurves(r->cutoff2_curvecc, r->cutoff2_oncc);
1075              r->cutoff2_curvecc.clear();              r->cutoff2_curvecc.clear();
1076                            
1077              copySmoothValues(r->cutoff2_smoothcc, r->cutoff2_oncc);              copySmoothValues(r->cutoff2_smoothcc, r->cutoff2_oncc);
1078              r->cutoff2_smoothcc.clear();              r->cutoff2_smoothcc.clear();
1079                            
1080                copyStepValues(r->cutoff2_stepcc, r->cutoff2_oncc);
1081                r->cutoff2_stepcc.clear();
1082                
1083              copyCurves(r->resonance_curvecc, r->resonance_oncc);              copyCurves(r->resonance_curvecc, r->resonance_oncc);
1084              r->resonance_curvecc.clear();              r->resonance_curvecc.clear();
1085                            
1086              copySmoothValues(r->resonance_smoothcc, r->resonance_oncc);              copySmoothValues(r->resonance_smoothcc, r->resonance_oncc);
1087              r->resonance_smoothcc.clear();              r->resonance_smoothcc.clear();
1088                            
1089                copyStepValues(r->resonance_stepcc, r->resonance_oncc);
1090                r->resonance_stepcc.clear();
1091                
1092              copyCurves(r->resonance2_curvecc, r->resonance2_oncc);              copyCurves(r->resonance2_curvecc, r->resonance2_oncc);
1093              r->resonance2_curvecc.clear();              r->resonance2_curvecc.clear();
1094                            
1095              copySmoothValues(r->resonance2_smoothcc, r->resonance2_oncc);              copySmoothValues(r->resonance2_smoothcc, r->resonance2_oncc);
1096              r->resonance2_smoothcc.clear();              r->resonance2_smoothcc.clear();
1097                            
1098                copyStepValues(r->resonance2_stepcc, r->resonance2_oncc);
1099                r->resonance2_stepcc.clear();
1100                
1101              for (int j = 0; j < r->eg.size(); j++) {              for (int j = 0; j < r->eg.size(); j++) {
1102                  copyCurves(r->eg[j].pan_curvecc, r->eg[j].pan_oncc);                  copyCurves(r->eg[j].pan_curvecc, r->eg[j].pan_oncc);
1103                  r->eg[j].pan_curvecc.clear();                  r->eg[j].pan_curvecc.clear();
# Line 1088  namespace sfz Line 1107  namespace sfz
1107                  copySmoothValues(r->lfos[j].volume_smoothcc, r->lfos[j].volume_oncc);                  copySmoothValues(r->lfos[j].volume_smoothcc, r->lfos[j].volume_oncc);
1108                  r->lfos[j].volume_smoothcc.clear();                  r->lfos[j].volume_smoothcc.clear();
1109                                    
1110                    copyStepValues(r->lfos[j].volume_stepcc, r->lfos[j].volume_oncc);
1111                    r->lfos[j].volume_stepcc.clear();
1112                    
1113                  copySmoothValues(r->lfos[j].freq_smoothcc, r->lfos[j].freq_oncc);                  copySmoothValues(r->lfos[j].freq_smoothcc, r->lfos[j].freq_oncc);
1114                  r->lfos[j].freq_smoothcc.clear();                  r->lfos[j].freq_smoothcc.clear();
1115                                    
1116                    copyStepValues(r->lfos[j].freq_stepcc, r->lfos[j].freq_oncc);
1117                    r->lfos[j].freq_stepcc.clear();
1118                    
1119                  copySmoothValues(r->lfos[j].pitch_smoothcc, r->lfos[j].pitch_oncc);                  copySmoothValues(r->lfos[j].pitch_smoothcc, r->lfos[j].pitch_oncc);
1120                  r->lfos[j].pitch_smoothcc.clear();                  r->lfos[j].pitch_smoothcc.clear();
1121                                    
1122                    copyStepValues(r->lfos[j].pitch_stepcc, r->lfos[j].pitch_oncc);
1123                    r->lfos[j].pitch_stepcc.clear();
1124                    
1125                  copySmoothValues(r->lfos[j].pan_smoothcc, r->lfos[j].pan_oncc);                  copySmoothValues(r->lfos[j].pan_smoothcc, r->lfos[j].pan_oncc);
1126                  r->lfos[j].pan_smoothcc.clear();                  r->lfos[j].pan_smoothcc.clear();
1127                                    
1128                    copyStepValues(r->lfos[j].pan_stepcc, r->lfos[j].pan_oncc);
1129                    r->lfos[j].pan_stepcc.clear();
1130                    
1131                  copySmoothValues(r->lfos[j].cutoff_smoothcc, r->lfos[j].cutoff_oncc);                  copySmoothValues(r->lfos[j].cutoff_smoothcc, r->lfos[j].cutoff_oncc);
1132                  r->lfos[j].cutoff_smoothcc.clear();                  r->lfos[j].cutoff_smoothcc.clear();
1133                                    
1134                    copyStepValues(r->lfos[j].cutoff_stepcc, r->lfos[j].cutoff_oncc);
1135                    r->lfos[j].cutoff_stepcc.clear();
1136                    
1137                  copySmoothValues(r->lfos[j].resonance_smoothcc, r->lfos[j].resonance_oncc);                  copySmoothValues(r->lfos[j].resonance_smoothcc, r->lfos[j].resonance_oncc);
1138                  r->lfos[j].resonance_smoothcc.clear();                  r->lfos[j].resonance_smoothcc.clear();
1139                    
1140                    copyStepValues(r->lfos[j].resonance_stepcc, r->lfos[j].resonance_oncc);
1141                    r->lfos[j].resonance_stepcc.clear();
1142              }              }
1143          }          }
1144      }      }
# Line 1576  namespace sfz Line 1613  namespace sfz
1613              if (strcmp(s, "_freq") == 0) lfo(x).freq = check(key, 0.0f, 20.0f, ToFloat(value));              if (strcmp(s, "_freq") == 0) lfo(x).freq = check(key, 0.0f, 20.0f, ToFloat(value));
1614              else if (sscanf(s, "_freq_oncc%d", &y)) lfo(x).freq_oncc.add( CC(y, check(key, 0.0f, 20.0f, ToFloat(value))) );              else if (sscanf(s, "_freq_oncc%d", &y)) lfo(x).freq_oncc.add( CC(y, check(key, 0.0f, 20.0f, ToFloat(value))) );
1615              else if (sscanf(s, "_freq_smoothcc%d", &y)) lfo(x).freq_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_freq_smoothcc%d", &y)) lfo(x).freq_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1616                else if (sscanf(s, "_freq_stepcc%d", &y)) lfo(x).freq_stepcc.add( CC(y, 0, -1, 0, check(key, 0.0f, 20.0f, ToFloat(value))) );
1617              else if (strcmp(s, "_wave") == 0) lfo(x).wave = ToInt(value);              else if (strcmp(s, "_wave") == 0) lfo(x).wave = ToInt(value);
1618              else if (strcmp(s, "_delay") == 0) lfo(x).delay = check(key, 0.0f, 100.0f, ToFloat(value));              else if (strcmp(s, "_delay") == 0) lfo(x).delay = check(key, 0.0f, 100.0f, ToFloat(value));
1619              else if (sscanf(s, "_delay_oncc%d", &y)) lfo(x).delay_oncc.add( CC(y, check(key, 0.0f, 100.0f, ToFloat(value))) );              else if (sscanf(s, "_delay_oncc%d", &y)) lfo(x).delay_oncc.add( CC(y, check(key, 0.0f, 100.0f, ToFloat(value))) );
# Line 1586  namespace sfz Line 1624  namespace sfz
1624              else if (strcmp(s, "_volume") == 0) lfo(x).volume = check(key, -144.0f, 6.0f, ToFloat(value));              else if (strcmp(s, "_volume") == 0) lfo(x).volume = check(key, -144.0f, 6.0f, ToFloat(value));
1625              else if (sscanf(s, "_volume_oncc%d", &y)) lfo(x).volume_oncc.add( CC(y, check(key, -144.0f, 6.0f, ToFloat(value))) );              else if (sscanf(s, "_volume_oncc%d", &y)) lfo(x).volume_oncc.add( CC(y, check(key, -144.0f, 6.0f, ToFloat(value))) );
1626              else if (sscanf(s, "_volume_smoothcc%d", &y)) lfo(x).volume_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_volume_smoothcc%d", &y)) lfo(x).volume_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1627                else if (sscanf(s, "_volume_stepcc%d", &y)) lfo(x).volume_stepcc.add( CC(y, 0, -1, 0, check(key, -20.0f, 20.0f, ToFloat(value))) );
1628              else if (strcmp(s, "_pitch") == 0) lfo(x).pitch = check(key, -9600, 9600, ToInt(value));              else if (strcmp(s, "_pitch") == 0) lfo(x).pitch = check(key, -9600, 9600, ToInt(value));
1629              else if (sscanf(s, "_pitch_oncc%d", &y)) lfo(x).pitch_oncc.add( CC(y, check(key, -9600, 9600, ToInt(value))) );              else if (sscanf(s, "_pitch_oncc%d", &y)) lfo(x).pitch_oncc.add( CC(y, check(key, -9600, 9600, ToInt(value))) );
1630              else if (sscanf(s, "_pitch_smoothcc%d", &y)) lfo(x).pitch_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_pitch_smoothcc%d", &y)) lfo(x).pitch_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1631                else if (sscanf(s, "_pitch_stepcc%d", &y)) lfo(x).pitch_stepcc.add( CC(y, 0, -1, 0, check(key, -9600, 9600, ToInt(value))) );
1632              else if (strcmp(s, "_cutoff") == 0) lfo(x).cutoff = check(key, -9600, 9600, ToInt(value));              else if (strcmp(s, "_cutoff") == 0) lfo(x).cutoff = check(key, -9600, 9600, ToInt(value));
1633              else if (sscanf(s, "_cutoff_oncc%d", &y)) lfo(x).cutoff_oncc.add( CC(y, check(key, -9600, 9600, ToInt(value))) );              else if (sscanf(s, "_cutoff_oncc%d", &y)) lfo(x).cutoff_oncc.add( CC(y, check(key, -9600, 9600, ToInt(value))) );
1634              else if (sscanf(s, "_cutoff_smoothcc%d", &y)) lfo(x).cutoff_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_cutoff_smoothcc%d", &y)) lfo(x).cutoff_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1635                else if (sscanf(s, "_cutoff_stepcc%d", &y)) lfo(x).cutoff_stepcc.add( CC(y, 0, -1, 0, check(key, -9600, 9600, ToInt(value))) );
1636              else if (strcmp(s, "_resonance") == 0) lfo(x).resonance = check(key, 0.0f, 40.0f, ToFloat(value));              else if (strcmp(s, "_resonance") == 0) lfo(x).resonance = check(key, 0.0f, 40.0f, ToFloat(value));
1637              else if (sscanf(s, "_resonance_oncc%d", &y)) lfo(x).resonance_oncc.add( CC(y, check(key, 0.0f, 40.0f, ToFloat(value))) );              else if (sscanf(s, "_resonance_oncc%d", &y)) lfo(x).resonance_oncc.add( CC(y, check(key, 0.0f, 40.0f, ToFloat(value))) );
1638              else if (sscanf(s, "_resonance_smoothcc%d", &y)) lfo(x).resonance_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_resonance_smoothcc%d", &y)) lfo(x).resonance_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1639                else if (sscanf(s, "_resonance_stepcc%d", &y)) lfo(x).resonance_stepcc.add( CC(y, 0, -1, 0, check(key, 0.0f, 40.0f, ToFloat(value))) );
1640              else if (strcmp(s, "_pan") == 0) lfo(x).pan = check(key, -100.0f, 100.0f, ToFloat(value));              else if (strcmp(s, "_pan") == 0) lfo(x).pan = check(key, -100.0f, 100.0f, ToFloat(value));
1641              else if (sscanf(s, "_pan_oncc%d", &y)) lfo(x).pan_oncc.add( CC(y, check(key, -100.0f, 100.0f, ToFloat(value))) );              else if (sscanf(s, "_pan_oncc%d", &y)) lfo(x).pan_oncc.add( CC(y, check(key, -100.0f, 100.0f, ToFloat(value))) );
1642              else if (sscanf(s, "_pan_smoothcc%d", &y)) lfo(x).pan_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if (sscanf(s, "_pan_smoothcc%d", &y)) lfo(x).pan_smoothcc.add( CC(y, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1643                else if (sscanf(s, "_pan_stepcc%d", &y)) lfo(x).pan_stepcc.add( CC(y, 0, -1, 0, check(key, -100.0f, 100.0f, ToFloat(value))) );
1644              else std::cerr << "The opcode '" << key << "' is unsupported by libsfz!" << std::endl;              else std::cerr << "The opcode '" << key << "' is unsupported by libsfz!" << std::endl;
1645          }          }
1646                    
# Line 1645  namespace sfz Line 1688  namespace sfz
1688              } else if ("cutoff2" == key_cc) pCurDef->cutoff2_oncc.add( CC(num_cc, check(key, -9600, 9600, ToInt(value))) );              } else if ("cutoff2" == key_cc) pCurDef->cutoff2_oncc.add( CC(num_cc, check(key, -9600, 9600, ToInt(value))) );
1689              else if ("cutoff_smooth"  == key_cc) pCurDef->cutoff_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );              else if ("cutoff_smooth"  == key_cc) pCurDef->cutoff_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );
1690              else if ("cutoff2_smooth" == key_cc) pCurDef->cutoff2_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );              else if ("cutoff2_smooth" == key_cc) pCurDef->cutoff2_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );
1691              else if ("cutoff_step"  == key_cc) pCurDef->cutoff_stepcc.set(num_cc, ToInt(value));              else if ("cutoff_step"  == key_cc) pCurDef->cutoff_stepcc.add( CC(num_cc, 0, -1, 0, check(key, -1200, 1200, ToInt(value))) );
1692              else if ("cutoff2_step" == key_cc) pCurDef->cutoff2_stepcc.set(num_cc, ToInt(value));              else if ("cutoff2_step" == key_cc) pCurDef->cutoff2_stepcc.add( CC(num_cc, 0, -1, 0, check(key, -1200, 1200, ToInt(value))) );
1693              else if ("cutoff_curve" == key_cc) pCurDef->cutoff_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );              else if ("cutoff_curve" == key_cc) pCurDef->cutoff_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );
1694              else if ("cutoff2_curve" == key_cc) pCurDef->cutoff2_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );              else if ("cutoff2_curve" == key_cc) pCurDef->cutoff2_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );
1695              else if ("resonance" == key_cc) pCurDef->resonance_oncc.add( CC(num_cc, check(key, 0.0f, 40.0f, ToFloat(value))) );              else if ("resonance" == key_cc) pCurDef->resonance_oncc.add( CC(num_cc, check(key, 0.0f, 40.0f, ToFloat(value))) );
1696              else if ("resonance2" == key_cc) pCurDef->resonance2_oncc.add( CC(num_cc, check(key, 0.0f, 40.0f, ToFloat(value))) );              else if ("resonance2" == key_cc) pCurDef->resonance2_oncc.add( CC(num_cc, check(key, 0.0f, 40.0f, ToFloat(value))) );
1697              else if ("resonance_smooth" == key_cc) pCurDef->resonance_smoothcc.add( CC(num_cc, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if ("resonance_smooth" == key_cc) pCurDef->resonance_smoothcc.add( CC(num_cc, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1698              else if ("resonance2_smooth" == key_cc) pCurDef->resonance2_smoothcc.add( CC(num_cc, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );              else if ("resonance2_smooth" == key_cc) pCurDef->resonance2_smoothcc.add( CC(num_cc, 0, -1, check(key, 0, 100000 /* max? */, ToInt(value))) );
1699              else if ("resonance_step" == key_cc) pCurDef->resonance_stepcc.set(num_cc, ToInt(value));              else if ("resonance_step" == key_cc) pCurDef->resonance_stepcc.add( CC(num_cc, 0, -1, 0, check(key, 0.0f, 40.0f, ToFloat(value))) );
1700              else if ("resonance2_step" == key_cc) pCurDef->resonance2_stepcc.set(num_cc, ToInt(value));              else if ("resonance2_step" == key_cc) pCurDef->resonance2_stepcc.add( CC(num_cc, 0, -1, 0, check(key, 0.0f, 40.0f, ToFloat(value))) );
1701              else if ("resonance_curve" == key_cc) pCurDef->resonance_curvecc.add( CC(num_cc, 0.0f, check(key, 0, 30000, ToInt(value))) );              else if ("resonance_curve" == key_cc) pCurDef->resonance_curvecc.add( CC(num_cc, 0.0f, check(key, 0, 30000, ToInt(value))) );
1702              else if ("resonance2_curve" == key_cc) pCurDef->resonance2_curvecc.add( CC(num_cc, 0.0f, check(key, 0, 30000, ToInt(value))) );              else if ("resonance2_curve" == key_cc) pCurDef->resonance2_curvecc.add( CC(num_cc, 0.0f, check(key, 0, 30000, ToInt(value))) );
1703    
# Line 1710  namespace sfz Line 1753  namespace sfz
1753              else if ("volume" == key_cc) pCurDef->volume_oncc.add( CC(num_cc, check(key, -144.0f, 100.0f, ToFloat(value))) );              else if ("volume" == key_cc) pCurDef->volume_oncc.add( CC(num_cc, check(key, -144.0f, 100.0f, ToFloat(value))) );
1754              else if ("volume_curve" == key_cc) pCurDef->volume_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );              else if ("volume_curve" == key_cc) pCurDef->volume_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );
1755              else if ("volume_smooth" == key_cc) pCurDef->volume_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );              else if ("volume_smooth" == key_cc) pCurDef->volume_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );
1756                else if ("volume_step" == key_cc) pCurDef->volume_stepcc.add( CC(num_cc, 0, -1, 0, check(key, -20.0f, 20.0f, ToFloat(value))) );
1757              else if ("pan" == key_cc) pCurDef->pan_oncc.add( CC(num_cc, check(key, -100.0f, 100.0f, ToFloat(value))) );              else if ("pan" == key_cc) pCurDef->pan_oncc.add( CC(num_cc, check(key, -100.0f, 100.0f, ToFloat(value))) );
1758              else if ("pan_curve" == key_cc) pCurDef->pan_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );              else if ("pan_curve" == key_cc) pCurDef->pan_curvecc.add( CC(num_cc, 0, check(key, 0, 30000, ToInt(value))) );
1759              else if ("pan_smooth" == key_cc) pCurDef->pan_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );              else if ("pan_smooth" == key_cc) pCurDef->pan_smoothcc.add( CC(num_cc, 0, -1, check(key, 0.0f, 100000.0f /* max? */, ToFloat(value))) );
1760                else if ("pan_step" == key_cc) pCurDef->pan_stepcc.add( CC(num_cc, 0, -1, 0, check(key, -100.0f, 100.0f, ToFloat(value))) );
1761              else std::cerr << "The opcode '" << key << "' is unsupported by libsfz!" << std::endl;              else std::cerr << "The opcode '" << key << "' is unsupported by libsfz!" << std::endl;
1762          }          }
1763    
# Line 1817  namespace sfz Line 1862  namespace sfz
1862          delay_oncc      = lfo.delay_oncc;          delay_oncc      = lfo.delay_oncc;
1863          freq_oncc       = lfo.freq_oncc;          freq_oncc       = lfo.freq_oncc;
1864          freq_smoothcc   = lfo.freq_smoothcc;          freq_smoothcc   = lfo.freq_smoothcc;
1865            freq_stepcc     = lfo.freq_stepcc;
1866          fade_oncc       = lfo.fade_oncc;          fade_oncc       = lfo.fade_oncc;
1867          phase_oncc      = lfo.phase_oncc;          phase_oncc      = lfo.phase_oncc;
1868          pitch_oncc      = lfo.pitch_oncc;          pitch_oncc      = lfo.pitch_oncc;
1869          pitch_smoothcc  = lfo.pitch_smoothcc;          pitch_smoothcc  = lfo.pitch_smoothcc;
1870            pitch_stepcc    = lfo.pitch_stepcc;
1871          volume_oncc     = lfo.volume_oncc;          volume_oncc     = lfo.volume_oncc;
1872          volume_smoothcc = lfo.volume_smoothcc;          volume_smoothcc = lfo.volume_smoothcc;
1873            volume_stepcc   = lfo.volume_stepcc;
1874          pan_oncc        = lfo.pan_oncc;          pan_oncc        = lfo.pan_oncc;
1875          pan_smoothcc    = lfo.pan_smoothcc;          pan_smoothcc    = lfo.pan_smoothcc;
1876            pan_stepcc      = lfo.pan_stepcc;
1877          cutoff_oncc     = lfo.cutoff_oncc;          cutoff_oncc     = lfo.cutoff_oncc;
1878          cutoff_smoothcc = lfo.cutoff_smoothcc;          cutoff_smoothcc = lfo.cutoff_smoothcc;
1879            cutoff_stepcc   = lfo.cutoff_stepcc;
1880          resonance_oncc     = lfo.resonance_oncc;          resonance_oncc     = lfo.resonance_oncc;
1881          resonance_smoothcc = lfo.resonance_smoothcc;          resonance_smoothcc = lfo.resonance_smoothcc;
1882            resonance_stepcc   = lfo.resonance_stepcc;
1883      }      }
1884    
1885      EG& File::eg(int x) {      EG& File::eg(int x) {

Legend:
Removed from v.2264  
changed lines
  Added in v.2265

  ViewVC Help
Powered by ViewVC