Exemple #1
0
/*************
 * DESCRIPTION:   Redo a transformation
 * INPUT:         -
 * OUTPUT:        UNDO_OK_REDRAW
 *************/
int UNDO_TRANSFORM::Redo()
{
	Undo_Redo();

	return UNDO_OK_REDRAW;
}
Exemple #2
0
/*
 * 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);
}
Exemple #3
0
/*
 * 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);
        }
    }
}