static void ctl_reset(void) { int i,j; if (!ctl.trace_playing) return; for (i=0; i<16; i++) { SLsmg_gotorc(8+i, 3); for (j=0; j<SLtt_Screen_Cols-24; j++) SLsmg_write_char('.'); if(ISDRUMCHANNEL(i)) ctl_program(i, channel[i].bank); else ctl_program(i, channel[i].program); ctl_volume(i, channel[i].volume); ctl_expression(i, channel[i].expression); ctl_panning(i, channel[i].panning); ctl_sustain(i, channel[i].sustain); if(channel[i].pitchbend == 0x2000 && channel[i].mod.val > 0) ctl_pitch_bend(i, -1); else ctl_pitch_bend(i, channel[i].pitchbend); } _ctl_refresh(); }
static void ctl_reset(void) { int i; if (!ctl.trace_playing) { k_pipe_printf("RSET %d", ctl.trace_playing); return; } Panel->wait_reset = 1; k_pipe_printf("RSET %d", ctl.trace_playing); while(Panel->wait_reset) VOLATILE_TOUCH(Panel->wait_reset); if (!ctl.trace_playing) return; for (i = 0; i < MAX_TK_MIDI_CHANNELS; i++) { if(ISDRUMCHANNEL(i)) ctl_program(i, channel[i].bank); else ctl_program(i, channel[i].program); ctl_volume(i, channel[i].volume); ctl_expression(i, channel[i].expression); ctl_panning(i, channel[i].panning); ctl_sustain(i, channel[i].sustain); if(channel[i].pitchbend == 0x2000 && channel[i].mod.val > 0) ctl_pitch_bend(i, -1); else ctl_pitch_bend(i, channel[i].pitchbend); ctl_channel_note(i, Panel->cnote[i], 0); } }
static void ctl_reset(void) { int i; if(!ctl.trace_playing) return; PanelReset(); CanvasReadPanelInfo(0); CanvasUpdate(0); CanvasPaint(); for(i = 0; i < MAX_W32G_MIDI_CHANNELS; i++) { if(ISDRUMCHANNEL(i)) ctl_program(i, channel[i].bank); else ctl_program(i, channel[i].program); ctl_volume(i, channel[i].volume); ctl_expression(i, channel[i].expression); ctl_panning(i, channel[i].panning); ctl_sustain(i, channel[i].sustain); if(channel[i].pitchbend == 0x2000 && channel[i].mod.val > 0) ctl_pitch_bend(i, -1); else ctl_pitch_bend(i, channel[i].pitchbend); ctl_channel_note(i, Panel->cnote[i], 0); } Panel->changed = 1; }
static void ctl_reset(void) { int i; if(!ctl.trace_playing) return; indicator_last_update = get_current_calender_time(); for (i=0; i<MAX_XAW_MIDI_CHANNELS; i++) { if(ISDRUMCHANNEL(i)) { ctl_program(i, channel[i].bank, channel_instrum_name(i)); if (opt_reverb_control) set_otherinfo(i, get_reverb_level(i), 'r'); } else { ToneBank *bank; int b; ctl_program(i, channel[i].program, channel_instrum_name(i)); b = channel[i].bank; if((bank = tonebank[b]) == NULL || bank->tone[channel[i].program].instrument == NULL) { b = 0; bank = tonebank[0]; } set_otherinfo(i, channel[i].bank, 'b'); if (opt_reverb_control) set_otherinfo(i, get_reverb_level(i), 'r'); if(opt_chorus_control) set_otherinfo(i, get_chorus_level(i), 'c'); } ctl_volume(i, channel[i].volume); ctl_expression(i, channel[i].expression); ctl_panning(i, channel[i].panning); ctl_sustain(i, channel[i].sustain); if(channel[i].pitchbend == 0x2000 && channel[i].mod.val > 0) ctl_pitch_bend(i, -1); else ctl_pitch_bend(i, channel[i].pitchbend); } sprintf(local_buf, "R"); a_pipe_write(local_buf); }
static void ctl_event(CtlEvent *e) { switch(e->type) { case CTLE_NOW_LOADING: ctl_file_name((char *)e->v1); break; case CTLE_LOADING_DONE: break; case CTLE_PLAY_START: ctl_total_time((int)e->v1); break; case CTLE_PLAY_END: break; case CTLE_TEMPO: break; case CTLE_METRONOME: /* update_indicator(); */ break; case CTLE_CURRENT_TIME: ctl_current_time((int)e->v1, (int)e->v2); break; case CTLE_NOTE: ctl_note((int)e->v1, (int)e->v2, (int)e->v3, (int)e->v4); break; case CTLE_MASTER_VOLUME: ctl_master_volume((int)e->v1); break; case CTLE_PROGRAM: ctl_program((int)e->v1, (int)e->v2); break; case CTLE_VOLUME: ctl_volume((int)e->v1, (int)e->v2); break; case CTLE_EXPRESSION: ctl_expression((int)e->v1, (int)e->v2); break; case CTLE_PANNING: ctl_panning((int)e->v1, (int)e->v2); break; case CTLE_SUSTAIN: ctl_sustain((int)e->v1, (int)e->v2); break; case CTLE_PITCH_BEND: ctl_pitch_bend((int)e->v1, (int)e->v2); break; case CTLE_MOD_WHEEL: ctl_pitch_bend((int)e->v1, e->v2 ? -1 : 0x2000); break; case CTLE_CHORUS_EFFECT: break; case CTLE_REVERB_EFFECT: break; case CTLE_LYRIC: ctl_lyric((int)e->v1); break; case CTLE_REFRESH: ctl_refresh(); break; case CTLE_RESET: ctl_reset(); break; } }
static void ctl_event(CtlEvent *e) { w32_wrd_ctl_event(e); w32_tracer_ctl_event(e); switch(e->type) { case CTLE_NOW_LOADING: PanelReset(); CanvasReset(); CanvasClear(); CanvasReadPanelInfo(1); CanvasUpdate(1); CanvasPaintAll(); MPanelReset(); MPanelReadPanelInfo(1); MPanelUpdateAll(); MPanelPaintAll(); MPanelStartLoad((char *)e->v1); break; case CTLE_LOADING_DONE: break; case CTLE_PLAY_START: w32g_ctle_play_start((int)e->v1 / play_mode->rate); break; case CTLE_PLAY_END: MainWndScrollbarProgressUpdate(-1); break; case CTLE_CURRENT_TIME: { int sec; if(midi_trace.flush_flag) return; if(ctl.trace_playing) sec = (int)e->v1; else { sec = current_trace_samples(); if(sec < 0) sec = (int)e->v1; else sec = sec / play_mode->rate; } ctl_current_time(sec, (int)e->v2); display_aq_ratio(); MainWndScrollbarProgressUpdate(sec); ctl_panel_refresh(); } break; case CTLE_NOTE: ctl_note((int)e->v1, (int)e->v2, (int)e->v3, (int)e->v4); break; case CTLE_GSLCD: ctl_gslcd((int)e->v1); CanvasReadPanelInfo(0); CanvasUpdate(0); CanvasPaint(); break; case CTLE_MASTER_VOLUME: ctl_master_volume((int)e->v1); break; case CTLE_METRONOME: ctl_metronome((int) e->v1, (int) e->v2); break; case CTLE_KEYSIG: ctl_keysig((int8) e->v1, CTL_STATUS_UPDATE); break; case CTLE_KEY_OFFSET: ctl_keysig(CTL_STATUS_UPDATE, (int) e->v1); break; case CTLE_TEMPO: ctl_tempo((int) e->v1, CTL_STATUS_UPDATE); break; case CTLE_TIME_RATIO: ctl_tempo(CTL_STATUS_UPDATE, (int) e->v1); break; case CTLE_PROGRAM: // ctl_program((int)e->v1, (int)e->v2, (char *)e->v3); ctl_program((int)e->v1, (int)e->v2); break; case CTLE_VOLUME: ctl_volume((int)e->v1, (int)e->v2); break; case CTLE_EXPRESSION: ctl_expression((int)e->v1, (int)e->v2); break; case CTLE_PANNING: ctl_panning((int)e->v1, (int)e->v2); break; case CTLE_SUSTAIN: ctl_sustain((int)e->v1, (int)e->v2); break; case CTLE_PITCH_BEND: ctl_pitch_bend((int)e->v1, (int)e->v2); break; case CTLE_MOD_WHEEL: ctl_pitch_bend((int)e->v1, e->v2 ? -2 : 0x2000); break; case CTLE_CHORUS_EFFECT: break; case CTLE_REVERB_EFFECT: break; #if 1 case CTLE_LYRIC: { char *lyric; lyric = event2string((uint16)e->v1); if(lyric != NULL) { MPanelMessageClearAll(); MPanelMessageAdd(lyric+1,20000,1); } } #else default_ctl_lyric((uint16)e->v1); #endif break; case CTLE_REFRESH: if (CanvasGetMode() == CANVAS_MODE_KBD_A || CanvasGetMode() == CANVAS_MODE_KBD_B) { CanvasReadPanelInfo(0); CanvasUpdate(0); CanvasPaint(); } break; case CTLE_RESET: ctl_reset(); break; case CTLE_SPEANA: break; case CTLE_PAUSE: if(w32g_play_active) { MainWndScrollbarProgressUpdate((int)e->v2); if(!(int)e->v1) ctl_reset(); ctl_current_time((int)e->v2, 0); ctl_panel_refresh(); } break; case CTLE_MAXVOICES: ctl_maxvoices((int)e->v1); break; } }