Esempio n. 1
0
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();
}
Esempio n. 2
0
File: tk_c.c Progetto: avm/timidity
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);
	}
}
Esempio n. 3
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;
}
Esempio n. 4
0
File: xaw_c.c Progetto: 1c0n/xbmc
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);  
}
Esempio n. 5
0
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;
    }
}
Esempio n. 6
0
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;
    }
}