From: <sag...@us...> - 2010-03-28 19:32:00
|
Revision: 560 http://modplug.svn.sourceforge.net/modplug/?rev=560&view=rev Author: saga-games Date: 2010-03-28 19:31:53 +0000 (Sun, 28 Mar 2010) Log Message: ----------- [Ref] Rewrote nonsensical mod effect -> colour translation code in the pattern editor; also using a nice lookup table for the volume column now. [Mod] Replaced default VU-meter colours for the MPT scheme by more pleasant colours that were already used for the other themes. [Imp] INI File: Autosave / Soundfont sections are now also using relative paths. Modified Paths: -------------- trunk/OpenMPT/mptrack/Draw_pat.cpp trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Moptions.cpp trunk/OpenMPT/mptrack/Mptrack.cpp trunk/OpenMPT/mptrack/Mptrack.h Modified: trunk/OpenMPT/mptrack/Draw_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/Draw_pat.cpp 2010-03-28 17:21:44 UTC (rev 559) +++ trunk/OpenMPT/mptrack/Draw_pat.cpp 2010-03-28 19:31:53 UTC (rev 560) @@ -897,34 +897,10 @@ tx_col = MODCOLOR_TEXTSELECTED; bk_col = MODCOLOR_BACKSELECTED; } else - if ((!m->IsPcNote()) && (m->volcmd) && (CMainFrame::m_dwPatternSetup & PATTERN_EFFECTHILIGHT)) + if ((!m->IsPcNote()) && (m->volcmd) && (m->volcmd < MAX_VOLCMDS) && (CMainFrame::m_dwPatternSetup & PATTERN_EFFECTHILIGHT)) { - switch(m->volcmd) - { - case VOLCMD_VOLUME: - case VOLCMD_VOLSLIDEUP: - case VOLCMD_VOLSLIDEDOWN: - case VOLCMD_FINEVOLUP: - case VOLCMD_FINEVOLDOWN: - tx_col = MODCOLOR_VOLUME; - break; - case VOLCMD_PANNING: - case VOLCMD_PANSLIDELEFT: - case VOLCMD_PANSLIDERIGHT: - tx_col = MODCOLOR_PANNING; - break; - case VOLCMD_VIBRATOSPEED: - case VOLCMD_VIBRATODEPTH: - case VOLCMD_TONEPORTAMENTO: - case VOLCMD_PORTAUP: - case VOLCMD_PORTADOWN: - tx_col = MODCOLOR_PITCH; - break; - case VOLCMD_VELOCITY: //rewbs.velocity - case VOLCMD_OFFSET: //rewbs.volOff - // default color - break; - } + if(gVolEffectColors[m->volcmd] != 0) + tx_col = gVolEffectColors[m->volcmd]; } // Drawing Volume m_Dib.SetTextColor(tx_col, bk_col); @@ -941,21 +917,8 @@ fx_col = row_col; if (!isPCnote && (m->command) && (m->command < MAX_EFFECTS) && (CMainFrame::m_dwPatternSetup & PATTERN_EFFECTHILIGHT)) { - switch(gEffectColors[m->command]) - { - case MODCOLOR_VOLUME: - fx_col = MODCOLOR_VOLUME; - break; - case MODCOLOR_PANNING: - fx_col = MODCOLOR_PANNING; - break; - case MODCOLOR_PITCH: - fx_col = MODCOLOR_PITCH; - break; - case MODCOLOR_GLOBALS: - fx_col = MODCOLOR_GLOBALS; - break; - } + if(gEffectColors[m->command] != 0) + fx_col = gEffectColors[m->command]; } if (!(dwSpeedUpMask & 0x08)) { Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2010-03-28 17:21:44 UTC (rev 559) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2010-03-28 19:31:53 UTC (rev 560) @@ -251,12 +251,12 @@ HPEN CMainFrame::gpenVuMeter[NUM_VUMETER_PENS*2]; COLORREF CMainFrame::rgbCustomColors[MAX_MODCOLORS] = { - 0xFFFFFF, 0x000000, 0xC0C0C0, 0x000000, 0x000000, 0xFFFFFF, 0x0000FF, - 0x80FFFF, 0x000000, 0xE0E8E0, + RGB(0xFF, 0xFF, 0xFF), RGB(0x00, 0x00, 0x00), RGB(0xC0, 0xC0, 0xC0), RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0x00), RGB(0xFF, 0xFF, 0xFF), 0x0000FF, + RGB(0xFF, 0xFF, 0x80), RGB(0x00, 0x00, 0x00), RGB(0xE0, 0xE8, 0xE0), // Effect Colors - 0x800000, 0x808000, 0x008000, 0x808000, 0x008080, 0x000080, 0xFF0000, + RGB(0x00, 0x00, 0x80), RGB(0x00, 0x80, 0x80), RGB(0x00, 0x80, 0x00), RGB(0x00, 0x80, 0x80), RGB(0x80, 0x80, 0x00), RGB(0x80, 0x00, 0x00), RGB(0x00, 0x00, 0xFF), // VU-Meters - 0x00FF00, 0x00FFFF, 0x0000FF, + RGB(0x00, 0xC8, 0x00), RGB(0xFF, 0xC8, 0x00), RGB(0xE1, 0x00, 0x00), // Channel separators GetSysColor(COLOR_BTNSHADOW), GetSysColor(COLOR_BTNFACE), GetSysColor(COLOR_BTNHIGHLIGHT), // Blend colour @@ -274,9 +274,9 @@ }; -CInputHandler *CMainFrame::m_InputHandler = NULL; //rewbs.customKeys -CAutoSaver *CMainFrame::m_pAutoSaver = NULL; //rewbs.autosave -CPerformanceCounter *CMainFrame::m_pPerfCounter = NULL; +CInputHandler *CMainFrame::m_InputHandler = nullptr; //rewbs.customKeys +CAutoSaver *CMainFrame::m_pAutoSaver = nullptr; //rewbs.autosave +CPerformanceCounter *CMainFrame::m_pPerfCounter = nullptr; static UINT indicators[] = { @@ -295,15 +295,15 @@ //---------------------- { m_bModTreeHasFocus = false; //rewbs.customKeys - m_pNoteMapHasFocus = NULL; //rewbs.customKeys + m_pNoteMapHasFocus = nullptr; //rewbs.customKeys m_pOrderlistHasFocus = nullptr; m_bOptionsLocked = false; //rewbs.customKeys - m_pJustModifiedDoc = NULL; - m_pModPlaying = NULL; + m_pJustModifiedDoc = nullptr; + m_pModPlaying = nullptr; m_hFollowSong = NULL; m_hWndMidi = NULL; - m_pSndFile = NULL; + m_pSndFile = nullptr; m_dwStatus = 0; m_dwElapsedTime = 0; m_dwTimeSec = 0; @@ -360,11 +360,10 @@ CString storedVersion = GetPrivateProfileCString("Version", "Version", "", theApp.GetConfigFileName()); //If version number stored in INI is 1.17.02.40 or later, load setting from INI file. //Else load settings from Registry - if (storedVersion >= "1.17.02.40") { + if (storedVersion >= "1.17.02.40") LoadIniSettings(); - } else { + else LoadRegistrySettings(); - } m_InputHandler = new CInputHandler(this); //rewbs.customKeys m_pPerfCounter= new CPerformanceCounter(); @@ -488,7 +487,9 @@ m_pAutoSaver->SetSaveInterval(GetPrivateProfileLong("AutoSave", "IntervalMinutes", 10, iniFile)); m_pAutoSaver->SetHistoryDepth(GetPrivateProfileLong("AutoSave", "BackupHistory", 3, iniFile)); m_pAutoSaver->SetUseOriginalPath(GetPrivateProfileLong("AutoSave", "UseOriginalPath", true, iniFile) != 0); - m_pAutoSaver->SetPath(GetPrivateProfileCString("AutoSave", "Path", "", iniFile)); + GetPrivateProfileString("AutoSave", "Path", "", szPath, INIBUFFERSIZE, iniFile); + RelativePathToAbsolute(szPath); + m_pAutoSaver->SetPath(szPath); m_pAutoSaver->SetFilenameTemplate(GetPrivateProfileCString("AutoSave", "FileNameTemplate", "", iniFile)); } @@ -1024,7 +1025,12 @@ WritePrivateProfileLong("AutoSave", "IntervalMinutes", m_pAutoSaver->GetSaveInterval(), iniFile); WritePrivateProfileLong("AutoSave", "BackupHistory", m_pAutoSaver->GetHistoryDepth(), iniFile); WritePrivateProfileLong("AutoSave", "UseOriginalPath", m_pAutoSaver->GetUseOriginalPath(), iniFile); - WritePrivateProfileString("AutoSave", "Path", m_pAutoSaver->GetPath(), iniFile); + _tcscpy(szPath, m_pAutoSaver->GetPath()); + if(bConvertPaths) + { + AbsolutePathToRelative(szPath); + } + WritePrivateProfileString("AutoSave", "Path", szPath, iniFile); WritePrivateProfileString("AutoSave", "FileNameTemplate", m_pAutoSaver->GetFilenameTemplate(), iniFile); theApp.SaveChords(Chords); Modified: trunk/OpenMPT/mptrack/Moptions.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moptions.cpp 2010-03-28 17:21:44 UTC (rev 559) +++ trunk/OpenMPT/mptrack/Moptions.cpp 2010-03-28 19:31:53 UTC (rev 560) @@ -408,9 +408,9 @@ CustomColors[MODCOLOR_PANNING] = RGB(0x00, 0x80, 0x80); CustomColors[MODCOLOR_PITCH] = RGB(0x80, 0x80, 0x00); CustomColors[MODCOLOR_GLOBALS] = RGB(0x80, 0x00, 0x00); - CustomColors[MODCOLOR_VUMETER_LO] = RGB(0x00, 0xFF, 0x00); - CustomColors[MODCOLOR_VUMETER_MED] = RGB(0xFF, 0xFF, 0x00); - CustomColors[MODCOLOR_VUMETER_HI] = RGB(0xFF, 0x00, 0x00); + CustomColors[MODCOLOR_VUMETER_LO] = RGB(0x00, 0xC8, 0x00); + CustomColors[MODCOLOR_VUMETER_MED] = RGB(0xFF, 0xC8, 0x00); + CustomColors[MODCOLOR_VUMETER_HI] = RGB(0xE1, 0x00, 0x00); CustomColors[MODCOLOR_SEPSHADOW] = GetSysColor(COLOR_BTNSHADOW); CustomColors[MODCOLOR_SEPFACE] = GetSysColor(COLOR_BTNFACE); CustomColors[MODCOLOR_SEPHILITE] = GetSysColor(COLOR_BTNHIGHLIGHT); Modified: trunk/OpenMPT/mptrack/Mptrack.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp 2010-03-28 17:21:44 UTC (rev 559) +++ trunk/OpenMPT/mptrack/Mptrack.cpp 2010-03-28 19:31:53 UTC (rev 560) @@ -221,9 +221,18 @@ 0, MODCOLOR_VOLUME, MODCOLOR_VOLUME, MODCOLOR_GLOBALS, MODCOLOR_GLOBALS, 0, MODCOLOR_PITCH, MODCOLOR_PANNING, MODCOLOR_PITCH, MODCOLOR_PANNING, 0, 0, - //0,/*rewbs.smoothVST*/ ,0/*rewbs.velocity*/, + 0, 0, 0, MODCOLOR_PITCH, + MODCOLOR_PITCH, }; +const BYTE gVolEffectColors[MAX_VOLCMDS] = +{ + 0, MODCOLOR_VOLUME, MODCOLOR_PANNING, MODCOLOR_VOLUME, + MODCOLOR_VOLUME, MODCOLOR_VOLUME, MODCOLOR_VOLUME, MODCOLOR_PITCH, + MODCOLOR_PITCH, MODCOLOR_PANNING, MODCOLOR_PANNING, MODCOLOR_PITCH, + MODCOLOR_PITCH, MODCOLOR_PITCH, 0, 0, +}; + static void ShowChangesDialog() //----------------------------- { @@ -447,15 +456,19 @@ CString storedVersion = CMainFrame::GetPrivateProfileCString("Version", "Version", "", theApp.GetConfigFileName()); //If version number stored in INI is 1.17.02.40 or later, load DLS from INI file. //Else load DLS from Registry - if (storedVersion >= "1.17.02.40") { + if (storedVersion >= "1.17.02.40") + { CHAR s[MAX_PATH]; UINT numBanks = CMainFrame::GetPrivateProfileLong("DLS Banks", "NumBanks", 0, theApp.GetConfigFileName()); for (UINT i=0; i<numBanks; i++) { - wsprintf(s, "Bank%d", i+1); - CString dlsFileName = CMainFrame::GetPrivateProfileCString("DLS Banks", s, "", theApp.GetConfigFileName()); - AddDLSBank(dlsFileName); + wsprintf(s, _T("Bank%d"), i+1); + TCHAR szPath[_MAX_PATH]; + GetPrivateProfileString("DLS Banks", s, "", szPath, INIBUFFERSIZE, theApp.GetConfigFileName()); + CMainFrame::RelativePathToAbsolute(szPath); + AddDLSBank(szPath); } - } else { + } else + { LoadRegistryDLS(); } @@ -520,21 +533,22 @@ BOOL CTrackApp::SaveDefaultDLSBanks() //----------------------------------- { - CHAR s[64]; + TCHAR s[64]; + TCHAR szPath[_MAX_PATH]; DWORD nBanks = 0; for (UINT i=0; i<MAX_DLS_BANKS; i++) { - if (!gpDLSBanks[i]) { + if (!gpDLSBanks[i] || !gpDLSBanks[i]->GetFileName() || !gpDLSBanks[i]->GetFileName()[0]) continue; - } - LPCSTR pszBankName = gpDLSBanks[i]->GetFileName(); - if (!(pszBankName) || !(pszBankName[0])) { - continue; + _tcsncpy(szPath, gpDLSBanks[i]->GetFileName(), ARRAYELEMCOUNT(szPath) - 1); + if(IsPortableMode()) + { + CMainFrame::AbsolutePathToRelative(szPath); } - wsprintf(s, "Bank%d", nBanks+1); - WritePrivateProfileString("DLS Banks", s, pszBankName, theApp.GetConfigFileName()); + wsprintf(s, _T("Bank%d"), nBanks+1); + WritePrivateProfileString("DLS Banks", s, szPath, theApp.GetConfigFileName()); nBanks++; } @@ -1496,7 +1510,7 @@ GetModuleFileName(AfxGetInstanceHandle(), s, sizeof(s)); GetShortPathName(s, exename, sizeof(exename)); if (RegCreateKey(HKEY_CLASSES_ROOT, - "ModPlugPlayer\\shell\\Edit\\command", + "OpenMPTFile\\shell\\Edit\\command", &key) == ERROR_SUCCESS) { strcpy(s, exename); @@ -1505,7 +1519,7 @@ RegCloseKey(key); } if (RegCreateKey(HKEY_CLASSES_ROOT, - "ModPlugPlayer\\shell\\Edit\\ddeexec", + "OpenMPTFile\\shell\\Edit\\ddeexec", &key) == ERROR_SUCCESS) { strcpy(s, "[Edit(\"%1\")]"); @@ -1876,7 +1890,7 @@ "coda for sample drawing code|" "http://coda.s3m.us/|" "Storlek for all the IT compatibility hints and testcases|" - "as well as the IMF loader|" + "as well as the IMF and ULT loaders|" "http://schismtracker.org/|" "kode54 for the PSM and J2B loaders|" "http://kode54.foobar2000.org/|" Modified: trunk/OpenMPT/mptrack/Mptrack.h =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.h 2010-03-28 17:21:44 UTC (rev 559) +++ trunk/OpenMPT/mptrack/Mptrack.h 2010-03-28 19:31:53 UTC (rev 560) @@ -427,6 +427,7 @@ // Tables extern const BYTE gEffectColors[MAX_EFFECTS]; +extern const BYTE gVolEffectColors[MAX_VOLCMDS]; extern const LPCSTR szNoteNames[12]; extern const LPCTSTR szDefaultNoteNames[NOTE_MAX]; //const LPCTSTR szSpecialNoteNames[NOTE_MAX_SPECIAL - NOTE_MIN_SPECIAL + 1] = {TEXT("PCs"), TEXT("PC"), TEXT("~~"), TEXT("^^"), TEXT("==")}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |