BOOL CEffectDlg::EqualizerOnCommand(HWND hwndDlg, WPARAM wParam, LPARAM lParam) { EQUALIZER eq; switch (LOWORD(wParam)) { case IDOK: case IDCANCEL: EndDialog(hwndDlg, LOWORD(wParam)); return TRUE; case IDC_CHECK_EQUALIZER: if (HIWORD(wParam) == BN_CLICKED) { MAP_GetEqualizer(m_hMap, &eq); eq.fEnable = SendMessage(GetDlgItem(hwndDlg, IDC_CHECK_EQUALIZER), BM_GETCHECK, 0, 0)?TRUE:FALSE; MAP_SetEqualizer(m_hMap, &eq); } return TRUE; case IDC_BUTTON_FLAT: SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_PREAMP), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ1), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ2), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ3), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ4), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ5), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ6), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ7), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ8), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ9), TBM_SETPOS, TRUE, 31); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ10), TBM_SETPOS, TRUE, 31); PostMessage(hwndDlg, WM_HSCROLL, 0, (LPARAM)GetDlgItem(hwndDlg, IDC_SLIDER_EQ1)); return TRUE; } return FALSE; }
void CEffectDlg::EqualizerOnScroll(HWND hwndDlg) { EQUALIZER eq; MAP_GetEqualizer(m_hMap, &eq); eq.preamp = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_PREAMP), TBM_GETPOS, 0, 0); eq.data[0] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ1), TBM_GETPOS, 0, 0); eq.data[1] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ2), TBM_GETPOS, 0, 0); eq.data[2] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ3), TBM_GETPOS, 0, 0); eq.data[3] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ4), TBM_GETPOS, 0, 0); eq.data[4] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ5), TBM_GETPOS, 0, 0); eq.data[5] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ6), TBM_GETPOS, 0, 0); eq.data[6] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ7), TBM_GETPOS, 0, 0); eq.data[7] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ8), TBM_GETPOS, 0, 0); eq.data[8] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ9), TBM_GETPOS, 0, 0); eq.data[9] = SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ10), TBM_GETPOS, 0, 0); MAP_SetEqualizer(m_hMap, &eq); int nLevel = 20 - SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_BASSBOOST), TBM_GETPOS, 0, 0); MAP_SetBassBoostLevel(m_hMap, nLevel); }
void CEffectDlg::EqualizerOnActivate(HWND hwndDlg) { EQUALIZER eq; MAP_GetEqualizer(m_hMap, &eq); SendMessage(GetDlgItem(hwndDlg, IDC_CHECK_EQUALIZER), BM_SETCHECK, eq.fEnable ? BST_CHECKED : BST_UNCHECKED, 0); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_PREAMP), TBM_SETPOS, TRUE, eq.preamp); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ1), TBM_SETPOS, TRUE, eq.data[0]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ2), TBM_SETPOS, TRUE, eq.data[1]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ3), TBM_SETPOS, TRUE, eq.data[2]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ4), TBM_SETPOS, TRUE, eq.data[3]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ5), TBM_SETPOS, TRUE, eq.data[4]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ6), TBM_SETPOS, TRUE, eq.data[5]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ7), TBM_SETPOS, TRUE, eq.data[6]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ8), TBM_SETPOS, TRUE, eq.data[7]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ9), TBM_SETPOS, TRUE, eq.data[8]); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ10), TBM_SETPOS, TRUE, eq.data[9]); int nLevel = MAP_GetBassBoostLevel(m_hMap); SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_BASSBOOST), TBM_SETPOS, TRUE, 20 - nLevel); }
void CEffectDlg::LoadPresetFile(LPTSTR pszFile) { #ifdef _UNICODE char sz[MAX_PATH * 2]; WideCharToMultiByte(CP_ACP, NULL, pszFile, -1, sz, MAX_PATH * 2, NULL, NULL); FILE* fp = fopen(sz, "r"); #else FILE* fp = fopen(pszFile, "r"); #endif if (!fp) return; int i; EFFECT effect; EQUALIZER eq; TCHAR szBuf[MAX_PATH]; if (!GetKeyString(fp, SECTION_GSPLAYERW, KEY_EFFECT_VERSIONW, szBuf)) goto done; if (_tcstol(szBuf, NULL, 10) != VALUE_VERSION) goto done; MAP_GetEqualizer(m_hMap, &eq); if (GetKeyString(fp, SECTION_EQUALIZERW, KEY_ENABLEW, szBuf)) eq.fEnable = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_EQUALIZERW, KEY_PREAMPW, szBuf)) eq.preamp = _tcstol(szBuf, NULL, 10); for (i = 0; i < 10; i++) { TCHAR szKey[64]; wsprintf(szKey, _T("%d"), i); if (GetKeyString(fp, SECTION_EQUALIZERW, szKey, szBuf)) eq.data[i] = _tcstol(szBuf, NULL, 10); } MAP_SetEqualizer(m_hMap, &eq); MAP_GetEffect(m_hMap, EFFECT_SURROUND, &effect); if (GetKeyString(fp, SECTION_SURROUNDW, KEY_ENABLEW, szBuf)) effect.fEnable = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_SURROUNDW, KEY_RATEW, szBuf)) effect.nRate = _tcstol(szBuf, NULL, 10); MAP_SetEffect(m_hMap, EFFECT_SURROUND, &effect); MAP_GetEffect(m_hMap, EFFECT_3DCHORUS, &effect); if (GetKeyString(fp, SECTION_3DCHORUSW, KEY_ENABLEW, szBuf)) effect.fEnable = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_3DCHORUSW, KEY_RATEW, szBuf)) effect.nRate = _tcstol(szBuf, NULL, 10); MAP_SetEffect(m_hMap, EFFECT_3DCHORUS, &effect); MAP_GetEffect(m_hMap, EFFECT_REVERB, &effect); if (GetKeyString(fp, SECTION_REVERBW, KEY_ENABLEW, szBuf)) effect.fEnable = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_REVERBW, KEY_DELAYW, szBuf)) effect.nDelay = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_REVERBW, KEY_RATEW, szBuf)) effect.nRate = _tcstol(szBuf, NULL, 10); MAP_SetEffect(m_hMap, EFFECT_REVERB, &effect); MAP_GetEffect(m_hMap, EFFECT_ECHO, &effect); if (GetKeyString(fp, SECTION_ECHOW, KEY_ENABLEW, szBuf)) effect.fEnable = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_ECHOW, KEY_DELAYW, szBuf)) effect.nDelay = _tcstol(szBuf, NULL, 10); if (GetKeyString(fp, SECTION_ECHOW, KEY_RATEW, szBuf)) effect.nRate = _tcstol(szBuf, NULL, 10); MAP_SetEffect(m_hMap, EFFECT_ECHO, &effect); i = MAP_GetBassBoostLevel(m_hMap); if (GetKeyString(fp, SECTION_BASSBOOSTW, KEY_RATEW, szBuf)) i = _tcstol(szBuf, NULL, 10); MAP_SetBassBoostLevel(m_hMap, i); done: fclose(fp); }
void CEffectDlg::SavePresetFile(LPTSTR pszFile, BOOL fEQ, BOOL fSurround, BOOL f3DChorus, BOOL fReverb, BOOL fEcho, BOOL fBassBoost) { #ifdef _UNICODE char sz[MAX_PATH * 2]; WideCharToMultiByte(CP_ACP, NULL, pszFile, -1, sz, MAX_PATH * 2, NULL, NULL); FILE* fp = fopen(sz, "w"); #else FILE* fp = fopen(pszFile, "w"); #endif if (!fp) return; EFFECT effect; EQUALIZER eq; fprintf(fp, "[%s]\n", SECTION_GSPLAYER); fprintf(fp, "%s=%d\n", KEY_EFFECT_VERSION, VALUE_VERSION); if (fEQ) { MAP_GetEqualizer(m_hMap, &eq); fprintf(fp, "\n[%s]\n", SECTION_EQUALIZER); fprintf(fp, "%s=%d\n", KEY_ENABLE, eq.fEnable); fprintf(fp, "%s=%d\n", KEY_PREAMP, eq.preamp); for (int i = 0; i < 10; i++) fprintf(fp, "%d=%d\n", i, eq.data[i]); } if (fSurround) { MAP_GetEffect(m_hMap, EFFECT_SURROUND, &effect); fprintf(fp, "\n[%s]\n", SECTION_SURROUND); fprintf(fp, "%s=%d\n", KEY_ENABLE, effect.fEnable); fprintf(fp, "%s=%d\n", KEY_RATE, effect.nRate); } if (f3DChorus) { MAP_GetEffect(m_hMap, EFFECT_3DCHORUS, &effect); fprintf(fp, "\n[%s]\n", SECTION_3DCHORUS); fprintf(fp, "%s=%d\n", KEY_ENABLE, effect.fEnable); fprintf(fp, "%s=%d\n", KEY_RATE, effect.nRate); } if (fReverb) { MAP_GetEffect(m_hMap, EFFECT_REVERB, &effect); fprintf(fp, "\n[%s]\n", SECTION_REVERB); fprintf(fp, "%s=%d\n", KEY_ENABLE, effect.fEnable); fprintf(fp, "%s=%d\n", KEY_DELAY, effect.nDelay); fprintf(fp, "%s=%d\n", KEY_RATE, effect.nRate); } if (fEcho) { MAP_GetEffect(m_hMap, EFFECT_ECHO, &effect); fprintf(fp, "\n[%s]\n", SECTION_ECHO); fprintf(fp, "%s=%d\n", KEY_ENABLE, effect.fEnable); fprintf(fp, "%s=%d\n", KEY_DELAY, effect.nDelay); fprintf(fp, "%s=%d\n", KEY_RATE, effect.nRate); } if (fBassBoost) { fprintf(fp, "\n[%s]\n", SECTION_BASSBOOST); fprintf(fp, "%s=%d\n", KEY_RATE, MAP_GetBassBoostLevel(m_hMap)); } fclose(fp); }