Ejemplo n.º 1
0
void CMidiChCtrlDlg::OnSelendokComboBank()
{
	// TODO: ここにコントロール通知ハンドラー コードを追加します。
	theCh->BankSelMSB(cmbBank.GetCurSel());
	SetBank();
	SetProg();
}
Ejemplo n.º 2
0
void CMidiChCtrlDlg::InitDevice()
{
	TCHAR tmp[256];
	wsprintf(tmp, _T("CH%i - %i:%s"), iCH, iIF, theFitom->GetMidiIn(iIF)->GetDescriptor());
	edtMidiIfCh.SetWindowText(tmp);
	int devs = theFitom->GetInstDevs();
	int curdev = theCh->GetDeviceID();
	cmbDevice.ResetContent();
	for (int i = 0; i < devs; i++) {
		TCHAR tmp[256];
		CSoundDevice* pDev = theFitom->GetInstDeviceFromIndex(i);
		int devid = pDev->GetDevice();
		wsprintf(tmp, _T("%02X:%s"), devid, theFitom->GetDeviceNameFromID(devid));
		cmbDevice.AddString(tmp);
		cmbDevice.SetItemData(i, devid);
		if (devid == curdev) {
			cmbDevice.SetCurSel(i);
		}
	}
	{
		int n = cmbDevice.AddString(_T("FF:RHYTHM"));
		cmbDevice.SetItemData(n, 0xff);
		if (curdev == 0xff) {
			cmbDevice.SetCurSel(n);
		}
	}
	SetBank();
	SetProg();
}
Ejemplo n.º 3
0
void CMidiChCtrlDlg::SetDevice()
{
	int dev = theCh->GetDeviceID();
	if (!cmbDevice.GetDroppedState()) {
		if (cmbDevice.GetItemData(cmbDevice.GetCurSel()) != dev) {
			for (int i = 0; i < cmbDevice.GetCount(); i++) {
				if (cmbDevice.GetItemData(i) == dev) {
					cmbDevice.SetCurSel(i);
				}
			}
		}
	}
	SetBank();
	SetProg();
}
Ejemplo n.º 4
0
void CMidiChCtrlDlg::OnSelendokComboProg()
{
	// TODO: ここにコントロール通知ハンドラー コードを追加します。
	theCh->ProgChange(cmbProg.GetCurSel());
	SetProg();
}
Ejemplo n.º 5
0
void DSKY::ProcessChannel10(ChannelValue val){
	ChannelValue10 out_val;
	char	C1, C2;

	out_val.Value = val.to_ulong();

	C1 = ValueChar(out_val.Bits.c);
	C2 = ValueChar(out_val.Bits.d);

	switch (out_val.Bits.a) {

	case 11:
		Prog[0] = C1;
		Prog[1] = C2;
		break;

	case 10:
		Verb[0] = C1;
		Verb[1] = C2;
		break;

	case 9:
		Noun[0] = C1;
		Noun[1] = C2;
		break;
	
	case 8:
		R1[1] = C2;
		break;

	case 7:
		R1[2] = C1;
		R1[3] = C2;
		if (out_val.Bits.b) {
			R1[0] = '+';
		}
		else if (R1[0] == '+') {
			R1[0] = ' ';
		}
		break;

	case 6:
		R1[4] = C1;
		R1[5] = C2;
		if (out_val.Bits.b) {
			R1[0] = '-';
		}
		else if (R1[0] == '-') {
			R1[0] = ' ';
		}
		break;

	case 5:
		R2[1] = C1;
		R2[2] = C2;
		if (out_val.Bits.b) {
			R2[0] = '+';
		}
		else if (R2[0] == '+') {
			R2[0] = ' ';
		}
		break;

	case 4:
		R2[3] = C1;
		R2[4] = C2;
		if (out_val.Bits.b) {
			R2[0] = '-';
		}
		else if (R2[0] == '-') {
			R2[0] = ' ';
		}
		break;

	case 3:
		R2[5] = C1;
		R3[1] = C2;
		break;

	case 2:
		R3[2] = C1;
		R3[3] = C2;
		if (out_val.Bits.b) {
			R3[0] = '+';
		}
		else if (R3[0] == '+') {
			R3[0] = ' ';
		}
		break;

	case 1:
		R3[4] = C1;
		R3[5] = C2;
		if (out_val.Bits.b) {
			R3[0] = '-';
		}
		else if (R3[0] == '-') {
			R3[0] = ' ';
		}
		break;

	// 12 - set light states.
	case 12:
		SetVel((out_val.Value & (1 << 2)) != 0);
		SetNoAtt((out_val.Value & (1 << 3)) != 0);
		SetAlt((out_val.Value & (1 << 4)) != 0);
		SetGimbalLock((out_val.Value & (1 << 5)) != 0);
		SetTracker((out_val.Value & (1 << 7)) != 0);
		SetProg((out_val.Value & (1 << 8)) != 0);
		break;
	}
}