counterpointFunc_dur.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2010 by Luigi Negretti Lanner   *
00003  *   luigi.negrettilanner@gmail.com   *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 void actTime();
00021 
00022 void ini_dur()
00023 {
00024   init_dur[0] = dur_1->value();
00025   init_dur[1] = dur_2->value();
00026   init_dur[2] = dur_3->value();
00027   init_dur[3] = dur_4->value();
00028   init_dur[4] = dur_5->value();
00029   init_dur[5] = dur_6->value();
00030   init_dur[6] = dur_7->value();
00031   init_dur[7] = dur_8->value();
00032   init_dur[8] = dur_9->value();
00033   init_dur[9] = dur_10->value();
00034   init_dur[10] = dur_11->value();
00035   init_dur[11] = dur_12->value();
00036 }
00037 
00038 void contrappunto::dur_lim_input()
00039 {
00040     dur_min_ = (int)min_dur->value();
00041     dur_max_ = (int)max_dur->value();
00042 }
00043 
00044 void contrappunto::subset_dur()
00045 {
00046   formula formula;
00047   dur_lim_input();
00048   //////////INITIALIZE DUR SUBSET/////
00049     int sub_tdur_size = (int)dur_max_ - (int)dur_min_;
00050     float *sub_tdur = new float[sub_tdur_size];
00051 
00052     init_params();
00053     int indice = (int)dur_min_;
00054     int i;
00055     for (i = 0; i < sub_tdur_size; i++)
00056     {
00057         sub_tdur[i] = tdur[indice];
00058         indice++;
00059     }
00060   ///////////////////////////////////////////////////////////
00061   window->redraw();
00062   if (logic_a->value() == 1)
00063     {
00064       formula.trp_seq_tdur();
00065       dur_1->value(sub_tdur[formula.j_d1]);
00066       {
00067       select_val(); //questa funzione si trova nel file counterpointFunc.h
00068       dur_1->value(dur_1->value() + o);
00069       }
00070     }
00071 
00072 
00073   else if (logic_a->value() == 2)
00074     {
00075       formula.trp_seq_tdur();
00076        dur_1->value(sub_tdur[formula.j_d1]);
00077        dur_2->value(sub_tdur[formula.j_d2]);
00078       {
00079       select_val();
00080       dur_1->value(dur_1->value() + o);
00081       dur_2->value(dur_2->value() + o);
00082       }
00083     }
00084 
00085   else if (logic_a->value() == 3)
00086     {
00087       formula.trp_seq_tdur();
00088       dur_1->value(sub_tdur[formula.j_d1]);
00089       dur_2->value(sub_tdur[formula.j_d2]);
00090       dur_3->value(sub_tdur[formula.j_d3]);
00091       {
00092       select_val();
00093       dur_1->value(dur_1->value() + o);
00094       dur_2->value(dur_2->value() + o);
00095       dur_3->value(dur_3->value() + o);
00096       }
00097     }
00098 
00099     else if (logic_a->value() == 4)
00100     {
00101       formula.trp_seq_tdur();
00102       dur_1->value(sub_tdur[formula.j_d1]);
00103       dur_2->value(sub_tdur[formula.j_d2]);
00104       dur_3->value(sub_tdur[formula.j_d3]);
00105       dur_4->value(sub_tdur[formula.j_d4]);
00106       {
00107       select_val();
00108       dur_1->value(dur_1->value() + o);
00109       dur_2->value(dur_2->value() + o);
00110       dur_3->value(dur_3->value() + o);
00111       dur_4->value(dur_4->value() + o);
00112       }
00113    }
00114 
00115   else if (logic_a->value() == 5)
00116     {
00117       formula.trp_seq_tdur();
00118       dur_1->value(sub_tdur[formula.j_d1]);
00119       dur_2->value(sub_tdur[formula.j_d2]);
00120       dur_3->value(sub_tdur[formula.j_d3]);
00121       dur_4->value(sub_tdur[formula.j_d4]);
00122       dur_5->value(sub_tdur[formula.j_d5]);
00123       {
00124       select_val();
00125       dur_1->value(dur_1->value() + o);
00126       dur_2->value(dur_2->value() + o);
00127       dur_3->value(dur_3->value() + o);
00128       dur_4->value(dur_4->value() + o);
00129       dur_5->value(dur_5->value() + o);
00130       }
00131     }
00132 
00133     else if (logic_a->value() == 6)
00134     {
00135       formula.trp_seq_tdur();
00136       dur_1->value(sub_tdur[formula.j_d1]);
00137       dur_2->value(sub_tdur[formula.j_d2]);
00138       dur_3->value(sub_tdur[formula.j_d3]);
00139       dur_4->value(sub_tdur[formula.j_d4]);
00140       dur_5->value(sub_tdur[formula.j_d5]);
00141       dur_6->value(sub_tdur[formula.j_d6]);
00142       {
00143       select_val();
00144       dur_1->value(dur_1->value() + o);
00145       dur_2->value(dur_2->value() + o);
00146       dur_3->value(dur_3->value() + o);
00147       dur_4->value(dur_4->value() + o);
00148       dur_5->value(dur_5->value() + o);
00149       dur_6->value(dur_6->value() + o);
00150       }
00151     }
00152 
00153   else if (logic_a->value() == 7)
00154     {
00155       formula.trp_seq_tdur();
00156       dur_1->value(sub_tdur[formula.j_d1]);
00157       dur_2->value(sub_tdur[formula.j_d2]);
00158       dur_3->value(sub_tdur[formula.j_d3]);
00159       dur_4->value(sub_tdur[formula.j_d4]);
00160       dur_5->value(sub_tdur[formula.j_d5]);
00161       dur_6->value(sub_tdur[formula.j_d6]);
00162       dur_7->value(sub_tdur[formula.j_d7]);
00163       {
00164       select_val();
00165       dur_1->value(dur_1->value() + o);
00166       dur_2->value(dur_2->value() + o);
00167       dur_3->value(dur_3->value() + o);
00168       dur_4->value(dur_4->value() + o);
00169       dur_5->value(dur_5->value() + o);
00170       dur_6->value(dur_6->value() + o);
00171       dur_7->value(dur_7->value() + o);
00172       }
00173     }
00174 
00175   else if (logic_a->value() == 8)
00176     {
00177       formula.trp_seq_tdur();
00178       dur_1->value(sub_tdur[formula.j_d1]);
00179       dur_2->value(sub_tdur[formula.j_d2]);
00180       dur_3->value(sub_tdur[formula.j_d3]);
00181       dur_4->value(sub_tdur[formula.j_d4]);
00182       dur_5->value(sub_tdur[formula.j_d5]);
00183       dur_6->value(sub_tdur[formula.j_d6]);
00184       dur_7->value(sub_tdur[formula.j_d7]);
00185       dur_8->value(sub_tdur[formula.j_d8]);
00186       {
00187       select_val();
00188       dur_1->value(dur_1->value() + o);
00189       dur_2->value(dur_2->value() + o);
00190       dur_3->value(dur_3->value() + o);
00191       dur_4->value(dur_4->value() + o);
00192       dur_5->value(dur_5->value() + o);
00193       dur_6->value(dur_6->value() + o);
00194       dur_7->value(dur_7->value() + o);
00195       dur_8->value(dur_8->value() + o);
00196       }
00197     }
00198 
00199   else if (logic_a->value() == 9)
00200     {
00201       formula.trp_seq_tdur();
00202       dur_1->value(sub_tdur[formula.j_d1]);
00203       dur_2->value(sub_tdur[formula.j_d2]);
00204       dur_3->value(sub_tdur[formula.j_d3]);
00205       dur_4->value(sub_tdur[formula.j_d4]);
00206       dur_5->value(sub_tdur[formula.j_d5]);
00207       dur_6->value(sub_tdur[formula.j_d6]);
00208       dur_7->value(sub_tdur[formula.j_d7]);
00209       dur_8->value(sub_tdur[formula.j_d8]);
00210       dur_9->value(sub_tdur[formula.j_d9]);
00211       {
00212       select_val();
00213       dur_1->value(dur_1->value() + o);
00214       dur_2->value(dur_2->value() + o);
00215       dur_3->value(dur_3->value() + o);
00216       dur_4->value(dur_4->value() + o);
00217       dur_5->value(dur_5->value() + o);
00218       dur_6->value(dur_6->value() + o);
00219       dur_7->value(dur_7->value() + o);
00220       dur_8->value(dur_8->value() + o);
00221       dur_9->value(dur_9->value() + o);
00222       }
00223     }
00224 
00225   else if (logic_a->value() == 10)
00226     {
00227       formula.trp_seq_tdur();
00228       dur_1->value(sub_tdur[formula.j_d1]);
00229       dur_2->value(sub_tdur[formula.j_d2]);
00230       dur_3->value(sub_tdur[formula.j_d3]);
00231       dur_4->value(sub_tdur[formula.j_d4]);
00232       dur_5->value(sub_tdur[formula.j_d5]);
00233       dur_6->value(sub_tdur[formula.j_d6]);
00234       dur_7->value(sub_tdur[formula.j_d7]);
00235       dur_8->value(sub_tdur[formula.j_d8]);
00236       dur_9->value(sub_tdur[formula.j_d9]);
00237       dur_10->value(sub_tdur[formula.j_d10]);
00238       {
00239       select_val();
00240       dur_1->value(dur_1->value() + o);
00241       dur_2->value(dur_2->value() + o);
00242       dur_3->value(dur_3->value() + o);
00243       dur_4->value(dur_4->value() + o);
00244       dur_5->value(dur_5->value() + o);
00245       dur_6->value(dur_6->value() + o);
00246       dur_7->value(dur_7->value() + o);
00247       dur_8->value(dur_8->value() + o);
00248       dur_9->value(dur_9->value() + o);
00249       dur_10->value(dur_10->value() + o);
00250       }
00251     }
00252 
00253   else if (logic_a->value() == 11)
00254     {
00255       formula.trp_seq_tdur();
00256       dur_1->value(sub_tdur[formula.j_d1]);
00257       dur_2->value(sub_tdur[formula.j_d2]);
00258       dur_3->value(sub_tdur[formula.j_d3]);
00259       dur_4->value(sub_tdur[formula.j_d4]);
00260       dur_5->value(sub_tdur[formula.j_d5]);
00261       dur_6->value(sub_tdur[formula.j_d6]);
00262       dur_7->value(sub_tdur[formula.j_d7]);
00263       dur_8->value(sub_tdur[formula.j_d8]);
00264       dur_9->value(sub_tdur[formula.j_d9]);
00265       dur_10->value(sub_tdur[formula.j_d10]);
00266       dur_11->value(sub_tdur[formula.j_d11]);
00267       {
00268       select_val();
00269       dur_1->value(dur_1->value() + o);
00270       dur_2->value(dur_2->value() + o);
00271       dur_3->value(dur_3->value() + o);
00272       dur_4->value(dur_4->value() + o);
00273       dur_5->value(dur_5->value() + o);
00274       dur_6->value(dur_6->value() + o);
00275       dur_7->value(dur_7->value() + o);
00276       dur_8->value(dur_8->value() + o);
00277       dur_9->value(dur_9->value() + o);
00278       dur_10->value(dur_10->value() + o);
00279       dur_11->value(dur_11->value() + o);
00280       }
00281     }
00282 
00283   else if (logic_a->value() == 12)
00284     {
00285       formula.trp_seq_tdur();
00286       dur_1->value(sub_tdur[formula.j_d1]);
00287       dur_2->value(sub_tdur[formula.j_d2]);
00288       dur_3->value(sub_tdur[formula.j_d3]);
00289       dur_4->value(sub_tdur[formula.j_d4]);
00290       dur_5->value(sub_tdur[formula.j_d5]);
00291       dur_6->value(sub_tdur[formula.j_d6]);
00292       dur_7->value(sub_tdur[formula.j_d7]);
00293       dur_8->value(sub_tdur[formula.j_d8]);
00294       dur_9->value(sub_tdur[formula.j_d9]);
00295       dur_10->value(sub_tdur[formula.j_d10]);
00296       dur_11->value(sub_tdur[formula.j_d11]);
00297       dur_12->value(sub_tdur[formula.j_d12]);
00298       {
00299       select_val();
00300       dur_1->value(dur_1->value() + o);
00301       dur_2->value(dur_2->value() + o);
00302       dur_3->value(dur_3->value() + o);
00303       dur_4->value(dur_4->value() + o);
00304       dur_5->value(dur_5->value() + o);
00305       dur_6->value(dur_6->value() + o);
00306       dur_7->value(dur_7->value() + o);
00307       dur_8->value(dur_8->value() + o);
00308       dur_9->value(dur_9->value() + o);
00309       dur_10->value(dur_10->value() + o);
00310       dur_11->value(dur_11->value() + o);
00311       dur_12->value(dur_12->value() + o);
00312       }
00313     }
00314      delete [] sub_tdur;
00315 }
00316 
00317 void contrappunto::init_dur_serie()
00318 {
00319     int i;
00320     if (bt_enable_dur->value() == 1)
00321     {
00322     subset_dur();
00323     }
00324     ini_dur();
00325     for (i = 0; i < 12; i++)
00326     {
00327       serie_dur[i] = init_dur[i];
00328     }
00329 }
00330 
00331 void contrappunto::retroDur()
00332 {
00333   init_dur_serie();
00334 
00335   int i;
00336   int s = 11;
00337 
00338   for (i=0;i<12;i++)
00339   {
00340     serie_manip[i] = serie_dur[s];
00341     s--;
00342   }
00343 }
00344 
00345 void retro_dur()
00346 {
00347   contrappunto ob;
00348   ob.retroDur();
00349   dur_1->value(ob.serie_manip[0]);
00350   dur_2->value(ob.serie_manip[1]);
00351   dur_3->value(ob.serie_manip[2]);
00352   dur_4->value(ob.serie_manip[3]);
00353   dur_5->value(ob.serie_manip[4]);
00354   dur_6->value(ob.serie_manip[5]);
00355   dur_7->value(ob.serie_manip[6]);
00356   dur_8->value(ob.serie_manip[7]);
00357   dur_9->value(ob.serie_manip[8]);
00358   dur_10->value(ob.serie_manip[9]);
00359   dur_11->value(ob.serie_manip[10]);
00360   dur_12->value(ob.serie_manip[11]);
00361 }
00362 
00363 void retroDur_cb(Fl_Widget*,void*)
00364 {
00365   retro_dur();
00366   actTime();
00367 }
00368 
00369 void contrappunto::croceDur()
00370 {
00371   init_dur_serie();
00372   serie_manip[0] = serie_dur[11];
00373   serie_manip[1] = serie_dur[0];
00374   serie_manip[2] = serie_dur[10];
00375   serie_manip[3] = serie_dur[1];
00376   serie_manip[4] = serie_dur[9];
00377   serie_manip[5] = serie_dur[2];
00378   serie_manip[6] = serie_dur[8];
00379   serie_manip[7] = serie_dur[3];
00380   serie_manip[8] = serie_dur[7];
00381   serie_manip[9] = serie_dur[4];
00382   serie_manip[10] = serie_dur[6];
00383   serie_manip[11] = serie_dur[5];
00384 }
00385 
00386 void croce_dur()
00387 {
00388   contrappunto ob;
00389   ob.croceDur();
00390   dur_1->value(ob.serie_manip[0]);
00391   dur_2->value(ob.serie_manip[1]);
00392   dur_3->value(ob.serie_manip[2]);
00393   dur_4->value(ob.serie_manip[3]);
00394   dur_5->value(ob.serie_manip[4]);
00395   dur_6->value(ob.serie_manip[5]);
00396   dur_7->value(ob.serie_manip[6]);
00397   dur_8->value(ob.serie_manip[7]);
00398   dur_9->value(ob.serie_manip[8]);
00399   dur_10->value(ob.serie_manip[9]);
00400   dur_11->value(ob.serie_manip[10]);
00401   dur_12->value(ob.serie_manip[11]);
00402 
00403 }
00404 
00405 void croceDur_cb(Fl_Widget*,void*)
00406 {
00407   croce_dur();
00408   actTime();
00409 }
00410 
00411 void contrappunto::slideDur()
00412 {
00413   init_dur_serie();
00414   int i, s;
00415   i = 0;
00416   s = 1;
00417   for (i=0;i<11;i++)
00418   {
00419     serie_manip[i] = serie_dur[s];
00420     s++;
00421   }
00422     serie_manip[11] = serie_dur[0];
00423 }
00424 
00425 void slide_dur()
00426 {
00427   contrappunto ob;
00428   ob.slideDur();
00429   dur_1->value(ob.serie_manip[0]);
00430   dur_2->value(ob.serie_manip[1]);
00431   dur_3->value(ob.serie_manip[2]);
00432   dur_4->value(ob.serie_manip[3]);
00433   dur_5->value(ob.serie_manip[4]);
00434   dur_6->value(ob.serie_manip[5]);
00435   dur_7->value(ob.serie_manip[6]);
00436   dur_8->value(ob.serie_manip[7]);
00437   dur_9->value(ob.serie_manip[8]);
00438   dur_10->value(ob.serie_manip[9]);
00439   dur_11->value(ob.serie_manip[10]);
00440   dur_12->value(ob.serie_manip[11]);
00441 }
00442 
00443 void slideDur_cb(Fl_Widget*,void*)
00444 {
00445   slide_dur();
00446   actTime();
00447 }
00448 
00449 void contrappunto::jump_oneDur()
00450 {
00451   init_dur_serie();
00452   serie_manip[0] = serie_dur[1];
00453   serie_manip[1] = serie_dur[3];
00454   serie_manip[2] = serie_dur[5];
00455   serie_manip[3] = serie_dur[7];
00456   serie_manip[4] = serie_dur[9];
00457   serie_manip[5] = serie_dur[11];
00458   serie_manip[6] = serie_dur[0];
00459   serie_manip[7] = serie_dur[2];
00460   serie_manip[8] = serie_dur[4];
00461   serie_manip[9] = serie_dur[6];
00462   serie_manip[10] = serie_dur[8];
00463   serie_manip[11] = serie_dur[10];
00464 }
00465 
00466 void jumpone_dur()
00467 {
00468   contrappunto ob;
00469   ob.jump_oneDur();
00470   dur_1->value(ob.serie_manip[0]);
00471   dur_2->value(ob.serie_manip[1]);
00472   dur_3->value(ob.serie_manip[2]);
00473   dur_4->value(ob.serie_manip[3]);
00474   dur_5->value(ob.serie_manip[4]);
00475   dur_6->value(ob.serie_manip[5]);
00476   dur_7->value(ob.serie_manip[6]);
00477   dur_8->value(ob.serie_manip[7]);
00478   dur_9->value(ob.serie_manip[8]);
00479   dur_10->value(ob.serie_manip[9]);
00480   dur_11->value(ob.serie_manip[10]);
00481   dur_12->value(ob.serie_manip[11]);
00482 
00483 }
00484 
00485 void jumpOneDur_cb(Fl_Widget*,void*)
00486 {
00487   jumpone_dur();
00488   actTime();
00489 }
00490 

Generated on Sun Jul 1 20:29:36 2012 for Csmusgen by  doxygen 1.4.7