int key_forward() { if (key_shifts & KB_CTRL_FLAG || index_false_control==1) { if(index_go==0 && index_go_back==0 && index_pause==0) { position_onstage=position_preset; } else {index_go=0;index_pause=0; index_go_back=0;} refresh_mem_onstage(position_onstage); detect_mem_before_one(); detect_mem_preset(); refresh_mem_onpreset(position_preset); niveauX1=255; niveauX2=0; refresh_banger_wx(); refresh_integrated_gridplayer1(); reset_modified_levels_in_crossfade(); } else if (key_shifts & KB_SHIFT_FLAG || index_false_shift==1) { index_go=0;index_pause=0; index_go_back=0; detect_next_preset(); refresh_mem_onpreset(position_preset); niveauX2=0; } strcpy(string_time_left_is,""); someone_changed_in_sequences=1;//icat return(0); }
int arduino_do_analog_in_whitecat() { int vfader=0; int temp_ardniveauX1=0; int temp_ardniveauX2=0; for(int p=0;p<arduino_max_analog;p++) { if(analog_data_from_arduino[p]!=previous_analog_data_from_arduino[p]) { switch(arduino_analog_function_input[p]) { case 1://affectation à un fader vfader=arduino_analog_attribution_input[p]; Fader[vfader]=analog_data_from_arduino[p]; midi_levels[vfader]=(Fader[vfader]/2); index_fader_is_manipulated[vfader]=1; if(midi_send_out[vfader]==1){ index_send_midi_out[vfader]=1;} if(lfo_mode_is[vfader]==1 || lfo_mode_is[vfader]==2 || lfo_cycle_is_on[vfader]==1) { lfo_mode_is[vfader]=0; lfo_mode_is[vfader]=0; lfo_cycle_is_on[vfader]=0; } break; case 2://affectation au speed d un fader vfader=arduino_analog_attribution_input[p]; lfo_speed[vfader]=analog_data_from_arduino[p]/2; if(lfo_speed[vfader]<0){lfo_speed[vfader]=0;} if(lfo_speed[vfader]>127){lfo_speed[vfader]=127;} midi_levels[196+vfader]=lfo_speed[vfader]; index_send_midi_out[196+vfader]=1; break; case 3://grand master //NIVEAU if(index_allow_grand_master==1) { niveauGMaster=analog_data_from_arduino[p]; midi_levels[615]=(niveauGMaster/2); if(midi_send_out[615]==1){ index_send_midi_out[615]=1;} } break; case 4://sequenciel : Val 1 stage Val 2 preset Val 3 speed if(arduino_analog_attribution_input[p]==0 || arduino_analog_attribution_input[p]==1 )//traitement du crossfade manuel { // stage if(arduino_analog_attribution_input[p]==0 ) { temp_ardniveauX1=analog_data_from_arduino[p]; if(index_get_back_faders_need_to_be_done==0) { index_go=0; index_go_back=0; index_pause=0; niveauX1=analog_data_from_arduino[p]; midi_levels[491]=niveauX1/2; if(midi_send_out[491]==1){index_send_midi_out[491]=1;} } } // preset if(arduino_analog_attribution_input[p]==1 ) { temp_ardniveauX2=255-analog_data_from_arduino[p]; if(index_get_back_faders_need_to_be_done==0) { index_go=0; index_go_back=0; index_pause=0; niveauX2=255-analog_data_from_arduino[p]; midi_levels[492]=analog_data_from_arduino[p]/2;//inversion faite dans le midi if(midi_send_out[492]==1){index_send_midi_out[492]=1;} } } //remise à jour du crossfade if(temp_ardniveauX1==0 && temp_ardniveauX2==255) { index_go=0; index_go_back=0; index_pause=0; next_mem_crossfade_finished(position_preset); index_x1_x2_together=1; index_get_back_faders_need_to_be_done=1; refresh_integrated_gridplayer1(); } if(temp_ardniveauX1==255 && temp_ardniveauX2==0) { index_get_back_faders_need_to_be_done=0; } } // speed if(arduino_analog_attribution_input[p]==2) { crossfade_speed=analog_data_from_arduino[p]/2; //if(midi_send_out[493]==1){index_send_midi_out[493]=1;} prepare_crossfade(); //ventilation_temps_vers_char();//icat someone_changed_in_time_sequences=1;//icat } break; case 5://MIDI CH0 simulate_midi(4,0,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 6://MIDI CH1 simulate_midi(4,1,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 7://MIDI CH2 simulate_midi(4,2,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 8://MIDI CH3 simulate_midi(4,3,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 9://MIDI CH4 simulate_midi(4,4,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 10://MIDI CH5 simulate_midi(4,5,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 11://MIDI CH6 simulate_midi(4,6,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 12://MIDI CH7 simulate_midi(4,7,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 13://MIDI CH8 simulate_midi(4,8,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 14://MIDI CH9 simulate_midi(4,9,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 15://MIDI CH10 simulate_midi(4,10,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 16://MIDI CH11 simulate_midi(4,11,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 17://MIDI CH12 simulate_midi(4,12,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 18://MIDI CH13 simulate_midi(4,13,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 19://MIDI CH14 simulate_midi(4,14,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; case 20://MIDI CH15 simulate_midi(4,15,arduino_digital_function_input[p][1],analog_data_from_arduino[p]/2); sprintf (my_midi_string, "Arduino Chan:%-2d Pitch:%-2d Vel:%-2d Typ: %s", ischan,ispitch,isvel, "Ctrl-Chge"); break; default: break; } } previous_analog_data_from_arduino[p]=analog_data_from_arduino[p]; //mise en boite des datas } return(0); }
int do_logical_Sequenciel_Window(int xseq, int yseq,int largeur_seq,int hauteur_seq) { do_logical_refresh_vision_memories(xseq,yseq); do_logical_x1_x2(xseq,yseq-25); ////////////////////MENUS/////////////////////////////////////////////////////// //options hautes ///alink if(mouse_x>xseq+180 && mouse_x<xseq+180+35 && mouse_y>yseq+50 && mouse_y<yseq+50+15) { if(index_link_is_on==0){index_link_is_on=1;} else if(index_link_is_on==1){index_link_is_on=0;} mouse_released=1; } ///banger if(mouse_x>xseq+223 && mouse_x<xseq+263 && mouse_y>yseq+50 && mouse_y<yseq+50+15) { index_banger_is_on=toggle(index_banger_is_on); mouse_released=1; } //grid player 1 embeded if(mouse_x>xseq+275 && mouse_x<xseq+275+30 && mouse_y>yseq+50 && mouse_y<yseq+50+15 ) { show_gridplayer_in_seq=toggle(show_gridplayer_in_seq); mouse_released=1; } /////menus bas int rangee_y= yseq+180+(35*(nbre_memoires_visualisables_en_preset+1)); int index_atoi=0; for (int op=0;op<7;op++) { ///actions mouse if(mouse_x>xseq+20+(op*60) && mouse_x<xseq+20+(op*60)+50 && mouse_y>rangee_y && mouse_y<rangee_y+20) { switch(op) { case 0: //create if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(768,Midi_Faders_Affectation_Mode); mouse_released=1; } else { reset_indexs_confirmation(); index_do_create_mem=1; index_ask_confirm=1; } break; case 1://delete mem if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(769,Midi_Faders_Affectation_Mode); mouse_released=1; } else { reset_indexs_confirmation(); index_do_delete_mem=1; index_ask_confirm=1; } break; case 2://stage minus if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(770,Midi_Faders_Affectation_Mode); mouse_released=1; } else { if(index_go==0 && index_go_back==0 && index_pause==0) { position_onstage=mem_before_one; } else {index_go=0;index_pause=0; index_go_back=0;} refresh_mem_onstage(position_onstage); detect_mem_before_one(); detect_mem_preset(); refresh_mem_onpreset(position_preset); niveauX1=255; niveauX2=0; refresh_banger_wx(); refresh_integrated_gridplayer1(); } break; case 3://stage + if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(771,Midi_Faders_Affectation_Mode); mouse_released=1; } else { if(index_go==0 && index_go_back==0 && index_pause==0) { position_onstage=position_preset; } else {index_go=0;index_pause=0; index_go_back=0;} refresh_mem_onstage(position_onstage); detect_mem_before_one(); detect_mem_preset(); refresh_mem_onpreset(position_preset); niveauX1=255; niveauX2=0; refresh_banger_wx(); refresh_integrated_gridplayer1(); } break; case 4://preset - if(Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(772,Midi_Faders_Affectation_Mode); mouse_released=1; } else { index_go=0;index_pause=0; index_go_back=0; detect_mem_preset_previous(); refresh_mem_onpreset(position_preset); niveauX2=0; } break; case 5://preset + if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(773,Midi_Faders_Affectation_Mode); mouse_released=1; } else { index_go=0;index_pause=0; index_go_back=0; detect_next_preset(); refresh_mem_onpreset(position_preset); niveauX2=0; } break; case 6://goto if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(1645,Midi_Faders_Affectation_Mode); mouse_released=1; } else { if(numeric_postext>0) { index_atoi=(int)(atof(numeric)*10); if(MemoiresExistantes[index_atoi]==1) { position_preset=index_atoi; refresh_mem_onpreset(position_preset); reset_numeric_entry(); numeric_postext=0; } } } break; default: break; }//fin des switch mouse_released=1; } } //grid player 1 embarqué if(show_gridplayer_in_seq==1) { //UP DOWN griders number selected if(mouse_x>xseq+880-12 && mouse_x<xseq+880+12 && mouse_y>yseq+40-12 && mouse_y<yseq+40+12) { if(mouse_released==0) { if(Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(1476,Midi_Faders_Affectation_Mode); } else { if(index_grider_selected[0]>0) {index_grider_selected[0]--;} } mouse_released=1; } } if( mouse_x>xseq+910-12 && mouse_x<xseq+910+12 && mouse_y>yseq+40-12 && mouse_y<yseq+40+12) { if( mouse_released==0) { if( Midi_Faders_Affectation_Type!=0)//config midi { attribute_midi_solo_affectation(1480,Midi_Faders_Affectation_Mode); } else { if(index_grider_selected[0]<127){index_grider_selected[0]++;} } mouse_released=1; } } do_logical_TheStepBox(xseq+660,yseq+90,0); do_logical_ThePlayCommands(xseq+760,yseq+90,0); do_logical_TheGrid_commands(xseq+660,yseq+130,0);//pos x, posy y, num player if(mouse_x>xseq+690 && mouse_x<xseq+690+105 && mouse_y>yseq+295 && mouse_y<yseq+295+15 && mouse_released==0) { if( Midi_Faders_Affectation_Type!=0) { attribute_midi_solo_affectation(1540,Midi_Faders_Affectation_Mode); } else { index_link_speed_crossfade_to_gpl1=toggle(index_link_speed_crossfade_to_gpl1); if(index_link_speed_crossfade_to_gpl1==1) { grid_crossfade_speed[0]=crossfade_speed; midi_levels[1508]=crossfade_speed; } } mouse_released=1; } } return(0); }