/************* * DESCRIPTION: Redo a transformation * INPUT: - * OUTPUT: UNDO_OK_REDRAW *************/ int UNDO_TRANSFORM::Redo() { Undo_Redo(); return UNDO_OK_REDRAW; }
/* * OnCommand - handles OK and X buttons */ void sd_OnCommand(HWND sysDlg, UINT ctrlID, HWND ctrl, UINT notify) { int value; switch (ctrlID) { /* * Menus */ case IDM_RETRIEVE_SYS: TX81Z_RetrieveData(Prog_midi, REQ_SYS, &Prog_snapshot); SendMessage(Prog_mainWnd, WM_COMMAND , MAKEWPARAM(IDD_SYSDLG, EDN_CHANGE) , (LPARAM) sysDlg); sd_InitControlValues(sysDlg); return; case IDM_TRANSMIT_SYS: TX81Z_SendData(Prog_midi, REQ_SYS, &Prog_snapshot); return; case IDM_EXIT: PostMessage(Prog_mainWnd, WM_COMMAND, IDM_EXIT, 0L); case IDM_CLOSE: case IDCANCEL: DestroyWindow(sysDlg); return; case IDM_UNDO: Undo_Undo(sd_undo, sd_Undo, sysDlg); goto UpdateUndoMenus; case IDM_REDO: Undo_Redo(sd_undo, sd_Redo, sysDlg); UpdateUndoMenus: EnableMenuItem(sd_menu, IDM_UNDO , MF_BYCOMMAND | (Undo_AnyUndoes(sd_undo) ? MF_ENABLED : MF_GRAYED)); EnableMenuItem(sd_menu, IDM_REDO , MF_BYCOMMAND | (Undo_AnyRedoes(sd_undo) ? MF_ENABLED : MF_GRAYED)); return; case IDM_KYBDDLG: case IDM_REMOTEWND: case IDM_MAINWND: case IDM_VOICEDLG: case IDM_PFMDLG: case IDM_FXDLG: case IDM_PCDLG: case IDM_MTODLG: case IDM_MTFDLG: SendMessage(Prog_mainWnd, WM_COMMAND, ctrlID, 0); return; case IDM_HELP: Prog_OpenHelp(sysDlg, _T("system_editor.html")); return; /* * Controls */ case IDC_SYSEX_SW: case IDC_MEMPROT_SW: case IDC_COMBINE_SW: case IDC_AT_SW: { unsigned i; /* * Find the toggleInit structure for the button. */ for (i = 0; i < sd_toggleInitCnt; i++) { if (sd_toggleInits[i].ctrlID == ctrlID) break; } /* * Find the checked status of the button. */ value = Button_IsChecked(ctrl); /* * Toggle the text on the button the user clicked. */ Button_SetText(ctrl, value ? sd_toggleInits[i].modeOn : sd_toggleInits[i].modeOff); break; } case IDC_STARTUP_MSG: if (notify == LCN_EDITUPDATE) { int cursorPos = LcdCtrl_GetCursorPos(ctrl); ctrlID += cursorPos; value = LcdCtrl_GetChar(ctrl, cursorPos); } else { return; } break; default: if (notify == LCN_SELCHANGE) { value = LcdCtrl_GetValue(ctrl); } else { return; } break; } sd_ChangeParameter(ctrlID - SYS_ID_OFFSET, value, CP_SEND); }
/* * OnCommand() */ void mfd_OnCommand(HWND mtfDlg, UINT ctrlID, HWND ctrl, UINT notify) { switch (ctrlID) { /* * Menus */ case IDM_RETRIEVE_MTF: TX81Z_RetrieveData(Prog_midi, REQ_MTF, &Prog_snapshot); SendMessage(Prog_mainWnd, WM_COMMAND , MAKEWPARAM(IDD_MTFDLG, EDN_CHANGE) , (LPARAM) mtfDlg); MTGen_InitControlValues(&mfd_dlgData); break; case IDM_TRANSMIT_MTF: TX81Z_SendData(Prog_midi, REQ_MTF, &Prog_snapshot); break; case IDM_EXIT: PostMessage(Prog_mainWnd, WM_COMMAND, IDM_EXIT, 0L); case IDM_CLOSE: case IDCANCEL: DestroyWindow(mtfDlg); return; case IDM_UNDO: Undo_Undo(mfd_dlgData.undo, MTGen_Undo, mtfDlg); goto UpdateUndoMenus; case IDM_REDO: Undo_Redo(mfd_dlgData.undo, MTGen_Redo, mtfDlg); UpdateUndoMenus: EnableMenuItem(mfd_dlgData.menu, IDM_UNDO , MF_BYCOMMAND | (Undo_AnyUndoes(mfd_dlgData.undo) ? MF_ENABLED : MF_GRAYED)); EnableMenuItem(mfd_dlgData.menu, IDM_REDO , MF_BYCOMMAND | (Undo_AnyRedoes(mfd_dlgData.undo) ? MF_ENABLED : MF_GRAYED)); return; case IDM_KYBDDLG: case IDM_REMOTEWND: case IDM_MAINWND: case IDM_VOICEDLG: case IDM_PFMDLG: case IDM_FXDLG: case IDM_PCDLG: case IDM_MTODLG: case IDM_MTFDLG: case IDM_SYSDLG: SendMessage(Prog_mainWnd, WM_COMMAND, ctrlID, 0); return; case IDM_HELP: Prog_OpenHelp(mtfDlg, _T("microtunings_editors.html")); return; } /* * Init microtunings menu items. */ if (ctrlID >= IDM_EQUAL_TEMPERED && ctrlID <= IDM_1_8_TONE) { memcpy(&Prog_snapshot.mtf.data , &TX81Z_initMtf[ctrlID - IDM_EQUAL_TEMPERED][0] , mfd_initCnt << 1); TX81Z_SendData(Prog_midi, REQ_MTF, &Prog_snapshot); MTGen_InitControlValues(&mfd_dlgData); SendNotification(Prog_mainWnd, IDD_MTFDLG, mtfDlg, EDN_CHANGE); } /* * LCD Controls */ if (ctrlID >= IDC_MT_NOTE_1 && ctrlID < IDC_MT_FREQ_1 && notify == LCN_SELCHANGE) { int value = LcdCtrl_GetValue(ctrl); /* * If the control is a full tuning LCD. */ if (ctrlID >= IDC_MT_FULL_1 && ctrlID < IDC_MT_FREQ_1) { MTGen_FullLcdChange(&mfd_dlgData, ctrlID, value); /* * If the control is a note LCD. */ } else if ((ctrlID & 1) == 0) { MTGen_NoteLcdChange(&mfd_dlgData, ctrlID, value); /* * Else the control is a fine frequency LCD. */ } else { MTGen_FineLcdChange(&mfd_dlgData, ctrlID, value); } } }