void CMidiChCtrlDlg::OnSelendokComboBank() { // TODO: ここにコントロール通知ハンドラー コードを追加します。 theCh->BankSelMSB(cmbBank.GetCurSel()); SetBank(); SetProg(); }
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(); }
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(); }
void CMidiChCtrlDlg::OnSelendokComboProg() { // TODO: ここにコントロール通知ハンドラー コードを追加します。 theCh->ProgChange(cmbProg.GetCurSel()); SetProg(); }
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; } }