From: <sag...@us...> - 2011-10-29 19:03:12
|
Revision: 1126 http://modplug.svn.sourceforge.net/modplug/?rev=1126&view=rev Author: saga-games Date: 2011-10-29 19:03:03 +0000 (Sat, 29 Oct 2011) Log Message: ----------- [Ref] Got rid of a lot of "? true : false" [Ref] Using new GetCutoff/SetCutoff/etc... instrument functions everywhere for better abstraction. [Ref] Got rid of ARRAYELEMCOUNT, since it doubles the functionality of CountOf. [Ref] Changed some #defines into typedefs [Mod] OpenMPT: Version is now 1.20.00.49 Modified Paths: -------------- trunk/OpenMPT/common/typedefs.h trunk/OpenMPT/mptrack/ChannelManagerDlg.cpp trunk/OpenMPT/mptrack/CleanupSong.cpp trunk/OpenMPT/mptrack/CommandSet.cpp trunk/OpenMPT/mptrack/Ctrl_seq.cpp trunk/OpenMPT/mptrack/Ctrl_smp.cpp trunk/OpenMPT/mptrack/InputHandler.cpp trunk/OpenMPT/mptrack/MIDIMacros.cpp trunk/OpenMPT/mptrack/MIDIMacros.h trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Mainbar.cpp trunk/OpenMPT/mptrack/Mod2wave.cpp trunk/OpenMPT/mptrack/ModConvert.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/SampleEditorDialogs.cpp trunk/OpenMPT/mptrack/UpdateCheck.cpp trunk/OpenMPT/mptrack/View_gen.cpp trunk/OpenMPT/mptrack/View_ins.cpp trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/mptrack/View_tre.cpp trunk/OpenMPT/mptrack/Vstplug.cpp trunk/OpenMPT/mptrack/Vstplug.h trunk/OpenMPT/mptrack/test/test.cpp trunk/OpenMPT/mptrack/version.h trunk/OpenMPT/soundlib/LOAD_DBM.CPP trunk/OpenMPT/soundlib/LOAD_DMF.CPP trunk/OpenMPT/soundlib/Load_it.cpp trunk/OpenMPT/soundlib/Load_med.cpp trunk/OpenMPT/soundlib/Load_mod.cpp trunk/OpenMPT/soundlib/Load_okt.cpp trunk/OpenMPT/soundlib/Load_psm.cpp trunk/OpenMPT/soundlib/Load_ult.cpp trunk/OpenMPT/soundlib/Sampleio.cpp trunk/OpenMPT/soundlib/Snd_defs.h trunk/OpenMPT/soundlib/Sndfile.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/load_j2b.cpp trunk/OpenMPT/soundlib/wavConverter.h Modified: trunk/OpenMPT/common/typedefs.h =================================================================== --- trunk/OpenMPT/common/typedefs.h 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/common/typedefs.h 2011-10-29 19:03:03 UTC (rev 1126) @@ -10,8 +10,6 @@ #define CountOf(x) (sizeof(x)/sizeof(x[0])) #endif -#define ARRAYELEMCOUNT(x) CountOf(x) - //Compile time assert. #define STATIC_ASSERT(expr) C_ASSERT(expr) #define static_assert(expr, msg) C_ASSERT(expr) Modified: trunk/OpenMPT/mptrack/ChannelManagerDlg.cpp =================================================================== --- trunk/OpenMPT/mptrack/ChannelManagerDlg.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/ChannelManagerDlg.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -492,8 +492,8 @@ for(CHANNELINDEX nChn = 0; nChn < m_pSndFile->m_nChannels; nChn++) { CHANNELINDEX nThisChn = pattern[nChn]; - pModDoc->MuteChannel(nThisChn, (memory[0][nChn] & 1) != 0 ? true : false); - pModDoc->SoloChannel(nThisChn, (memory[0][nChn] & 2) != 0 ? true : false); + pModDoc->MuteChannel(nThisChn, (memory[0][nChn] & 1) != 0); + pModDoc->SoloChannel(nThisChn, (memory[0][nChn] & 2) != 0); } break; case 1: @@ -506,7 +506,7 @@ break; case 2: for(CHANNELINDEX nChn = 0; nChn < m_pSndFile->m_nChannels; nChn++) - pModDoc->NoFxChannel(pattern[nChn], memory[2][nChn] != 0 ? true : false); + pModDoc->NoFxChannel(pattern[nChn], memory[2][nChn] != 0); break; case 3: for(CHANNELINDEX nChn = 0; nChn < m_pSndFile->m_nChannels; nChn++) @@ -957,7 +957,7 @@ tme.hwndTrack = m_hWnd; tme.dwFlags = TME_LEAVE|TME_HOVER; tme.dwHoverTime = 1; - mouseTracking = _TrackMouseEvent(&tme) ? true : false; + mouseTracking = _TrackMouseEvent(&tme) != FALSE; } if(!leftButton && !rightButton){ Modified: trunk/OpenMPT/mptrack/CleanupSong.cpp =================================================================== --- trunk/OpenMPT/mptrack/CleanupSong.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/CleanupSong.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -121,7 +121,7 @@ { for(int i = 0; i < CU_MAX_CLEANUP_OPTIONS; i++) { - m_bCheckBoxes[i] = IsDlgButtonChecked(m_nCleanupIDtoDlgID[i]) ? true : false; + m_bCheckBoxes[i] = IsDlgButtonChecked(m_nCleanupIDtoDlgID[i]) != BST_UNCHECKED; } bool bModified = false; @@ -325,12 +325,12 @@ { //strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText, // strTipText.GetLength() + 1); - strncpy(pTTTA->szText, strTipText, min(strTipText.GetLength() + 1, ARRAYELEMCOUNT(pTTTA->szText) - 1)); + strncpy(pTTTA->szText, strTipText, min(strTipText.GetLength() + 1, CountOf(pTTTA->szText) - 1)); } else { ::MultiByteToWideChar(CP_ACP , 0, strTipText, strTipText.GetLength() + 1, - pTTTW->szText, ARRAYELEMCOUNT(pTTTW->szText)); + pTTTW->szText, CountOf(pTTTW->szText)); } return TRUE; Modified: trunk/OpenMPT/mptrack/CommandSet.cpp =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/CommandSet.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -59,8 +59,8 @@ //----------------------------------------------------------------------------------------------------------------------- { commands[kc].UID = uid; - commands[kc].isHidden = (visibility == kcHidden) ? true : false; - commands[kc].isDummy = (dummy == kcDummy) ? true : false; + commands[kc].isHidden = (visibility == kcHidden); + commands[kc].isDummy = (dummy == kcDummy); commands[kc].Message = message; } Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -780,7 +780,7 @@ //Scrolling the shown orders(the showns rectangles)? while (rect.left < rcClient.right) { - bool bHighLight = ((bFocus) && (nIndex >= selection.nOrdLo && nIndex <= selection.nOrdHi)) ? true : false; + bool bHighLight = ((bFocus) && (nIndex >= selection.nOrdLo && nIndex <= selection.nOrdHi)); const PATTERNINDEX nPat = (nIndex < pSndFile->Order.GetLength()) ? pSndFile->Order[nIndex] : PATTERNINDEX_INVALID; if ((rect.right = rect.left + m_cxFont) > rcClient.right) rect.right = rcClient.right; rect.right--; Modified: trunk/OpenMPT/mptrack/Ctrl_smp.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_smp.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Ctrl_smp.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1738,11 +1738,11 @@ //---------------------------------------- { // Enable time-stretching / disable unused pitch-shifting UI elements - bool bTimeStretch = IsDlgButtonChecked(IDC_CHECK3) ? true : false; + bool bTimeStretch = IsDlgButtonChecked(IDC_CHECK3) != BST_UNCHECKED; if(!bTimeStretch) ReadTimeStretchParameters(); - ((CComboBox *)GetDlgItem(IDC_COMBO4))->EnableWindow(bTimeStretch ? false : true); - ((CEdit *)GetDlgItem(IDC_EDIT6))->EnableWindow(bTimeStretch ? true : false); - ((CButton *)GetDlgItem(IDC_BUTTON2))->EnableWindow(bTimeStretch ? true : false); //rewbs.timeStretchMods + ((CComboBox *)GetDlgItem(IDC_COMBO4))->EnableWindow(bTimeStretch ? FALSE : TRUE); + ((CEdit *)GetDlgItem(IDC_EDIT6))->EnableWindow(bTimeStretch ? TRUE : FALSE); + ((CButton *)GetDlgItem(IDC_BUTTON2))->EnableWindow(bTimeStretch ? TRUE : FALSE); //rewbs.timeStretchMods GetDlgItem(IDC_TEXT_QUALITY)->ShowWindow(bTimeStretch ? SW_HIDE : SW_SHOW); GetDlgItem(IDC_COMBO5)->ShowWindow(bTimeStretch ? SW_HIDE : SW_SHOW); GetDlgItem(IDC_TEXT_FFT)->ShowWindow(bTimeStretch ? SW_HIDE : SW_SHOW); @@ -2793,7 +2793,7 @@ if (!dend) dend = dstart >> 7; if ((dstart ^ dend) < 0) return false; int delta = dend - dstart; - return ((delta > -SMPLOOP_ACCURACY) && (delta < SMPLOOP_ACCURACY)) ? true : false; + return ((delta > -SMPLOOP_ACCURACY) && (delta < SMPLOOP_ACCURACY)); } Modified: trunk/OpenMPT/mptrack/InputHandler.cpp =================================================================== --- trunk/OpenMPT/mptrack/InputHandler.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/InputHandler.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -182,10 +182,10 @@ void CInputHandler::SetupSpecialKeyInterception() { m_bInterceptWindowsKeys = m_bInterceptNumLock = m_bInterceptCapsLock = m_bInterceptScrollLock = false; - for( int context=0; context < ARRAYELEMCOUNT(keyMap); context++ ) - for( int mod=0; mod < ARRAYELEMCOUNT(keyMap[0]); mod++ ) - for( int key=0; key < ARRAYELEMCOUNT(keyMap[0][0]); key++ ) - for( int kevent=0; kevent < ARRAYELEMCOUNT(keyMap[0][0][0]); kevent++ ) { + for( int context=0; context < CountOf(keyMap); context++ ) + for( int mod=0; mod < CountOf(keyMap[0]); mod++ ) + for( int key=0; key < CountOf(keyMap[0][0]); key++ ) + for( int kevent=0; kevent < CountOf(keyMap[0][0][0]); kevent++ ) { if( keyMap[context][mod][key][kevent] == kcNull ) continue; if( mod == HOTKEYF_EXT ) m_bInterceptWindowsKeys = true; if( key == VK_NUMLOCK ) m_bInterceptNumLock = true; Modified: trunk/OpenMPT/mptrack/MIDIMacros.cpp =================================================================== --- trunk/OpenMPT/mptrack/MIDIMacros.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/MIDIMacros.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -49,7 +49,7 @@ if(plugin < MAX_MIXPLUGINS) { - CVstPlugin *pPlug = (CVstPlugin*)m_SndFile.m_MixPlugins[plugin].pMixPlugin; + CVstPlugin *pPlug = reinterpret_cast<CVstPlugin *>(m_SndFile.m_MixPlugins[plugin].pMixPlugin); if(pPlug) { paramName = pPlug->GetParamName(param); @@ -254,6 +254,8 @@ } +#ifdef MODPLUG_TRACKER + //////////////////////////////////////////////////////////////////////// // MIDI Macro Configuration Dialog @@ -375,63 +377,62 @@ } -void CMidiMacroSetup::UpdateMacroList(int macro) //-1 for all macros +// macro == -1 for updating all macros at once +void CMidiMacroSetup::UpdateMacroList(int macro) //---------------------------------------------- { if (!m_EditMacro[0]) - return; //GUI not yet initialized + { + // GUI not yet initialized + return; + } - CString s, macroText; - UINT start, end, macroType; - int selectedMacro=m_CbnSFx.GetCurSel(); + int start, end; if (macro >= 0 && macro < 16) { - start=macro; - end=macro; + start = end = macro; } else { - start=0; - end=NUM_MACROS; + start = 0; + end = NUM_MACROS - 1; } - for (int m=0; m<NUM_MACROS; m++) + CString s; + const int selectedMacro = m_CbnSFx.GetCurSel(); + + for (int m = start; m <= end; m++) { - //SFx + // SFx s.Format("SF%X", m); m_EditMacro[m].SetWindowText(s); - //Macro value: + // Macro value: CString macroText = m_MidiCfg.szMidiSFXExt[m]; m_EditMacroValue[m].SetWindowText(macroText); m_EditMacroValue[m].SetBackColor(m == selectedMacro ? RGB(200, 200, 225) : RGB(245, 245, 245)); - //Macro Type: - macroType = macroTools.GetMacroType(macroText); + // Macro Type: + const enmParameteredMacroType macroType = macroTools.GetMacroType(macroText); switch (macroType) { - case sfx_unused: s = "Unused"; break; - case sfx_cutoff: s = "Set Filter Cutoff"; break; - case sfx_reso: s = "Set Filter Resonance"; break; - case sfx_mode: s = "Set Filter Mode"; break; - case sfx_drywet: s = "Set Plugin dry/wet ratio"; break; case sfx_cc: s.Format("MIDI CC %d", macroTools.MacroToMidiCC(macroText)); break; + case sfx_plug: s.Format("Control Plugin Param %d", macroTools.MacroToPlugParam(macroText)); break; - case sfx_custom: - default: s = "Custom"; + + default: + s = macroTools.GetMacroName(macroType); + break; } m_EditMacroType[m].SetWindowText(s); m_EditMacroType[m].SetBackColor(m == selectedMacro ? RGB(200,200,225) : RGB(245,245,245) ); - //Param details button: - if (macroType == sfx_plug) - m_BtnMacroShowAll[m].ShowWindow(SW_SHOW); - else - m_BtnMacroShowAll[m].ShowWindow(SW_HIDE); + // Param details button: + m_BtnMacroShowAll[m].ShowWindow((macroType == sfx_plug) ? SW_SHOW : SW_HIDE); } } @@ -780,3 +781,5 @@ return true; } } + +#endif // MODPLUG_TRACKER Modified: trunk/OpenMPT/mptrack/MIDIMacros.h =================================================================== --- trunk/OpenMPT/mptrack/MIDIMacros.h 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/MIDIMacros.h 2011-10-29 19:03:03 UTC (rev 1126) @@ -71,6 +71,8 @@ }; +#ifdef MODPLUG_TRACKER + //////////////////////////////////////////////////////////////////////// // MIDI Macro Configuration Dialog @@ -126,4 +128,6 @@ DECLARE_MESSAGE_MAP() }; +#endif // MODPLUG_TRACKER + #endif // MIDIMACROS_H Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1547,7 +1547,7 @@ m[63*4].param = 1; } } - bOk = PlaySoundFile(&m_WaveFile) ? true : false; + bOk = PlaySoundFile(&m_WaveFile) != FALSE; } } f.Close(); Modified: trunk/OpenMPT/mptrack/Mainbar.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mainbar.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Mainbar.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -229,7 +229,7 @@ if (!CToolBar::Create(parent, dwStyle)) return FALSE; if (!LoadBitmap(IDB_MAINBAR)) return FALSE; - if (!SetButtons(MainButtons, ARRAYELEMCOUNT(MainButtons))) return FALSE; + if (!SetButtons(MainButtons, CountOf(MainButtons))) return FALSE; nCurrentSpeed = 6; nCurrentTempo = 125; Modified: trunk/OpenMPT/mptrack/Mod2wave.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mod2wave.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Mod2wave.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -252,13 +252,13 @@ { if (m_dwFileLimit) m_dwFileLimit = GetDlgItemInt(IDC_EDIT1, NULL, FALSE); if (m_dwSongLimit) m_dwSongLimit = GetDlgItemInt(IDC_EDIT2, NULL, FALSE); - m_bSelectPlay = IsDlgButtonChecked(IDC_RADIO2) ? true : false; + m_bSelectPlay = IsDlgButtonChecked(IDC_RADIO2) != BST_UNCHECKED; m_nMinOrder = (ORDERINDEX)GetDlgItemInt(IDC_EDIT3, NULL, FALSE); m_nMaxOrder = (ORDERINDEX)GetDlgItemInt(IDC_EDIT4, NULL, FALSE); if (m_nMaxOrder < m_nMinOrder) m_bSelectPlay = false; - //m_bHighQuality = IsDlgButtonChecked(IDC_CHECK3) ? true : false; //rewbs.resamplerConf - we don't want this anymore. - m_bNormalize = IsDlgButtonChecked(IDC_CHECK5) ? true : false; - m_bGivePlugsIdleTime = IsDlgButtonChecked(IDC_GIVEPLUGSIDLETIME) ? true : false; + //m_bHighQuality = IsDlgButtonChecked(IDC_CHECK3) != BST_UNCHECKED; //rewbs.resamplerConf - we don't want this anymore. + m_bNormalize = IsDlgButtonChecked(IDC_CHECK5) != BST_UNCHECKED; + m_bGivePlugsIdleTime = IsDlgButtonChecked(IDC_GIVEPLUGSIDLETIME) != BST_UNCHECKED; if (m_bGivePlugsIdleTime) { if (Reporting::Confirm("You only need slow render if you are experiencing dropped notes with a Kontakt based sampler with Direct-From-Disk enabled.\nIt will make rendering *very* slow.\n\nAre you sure you want to enable slow render?", @@ -271,9 +271,9 @@ // -> CODE#0024 // -> DESC="wav export update" - m_bChannelMode = IsDlgButtonChecked(IDC_CHECK4) ? true : false; + m_bChannelMode = IsDlgButtonChecked(IDC_CHECK4) != BST_UNCHECKED; // -! NEW_FEATURE#0024 - m_bInstrumentMode= IsDlgButtonChecked(IDC_CHECK6) ? true : false; + m_bInstrumentMode= IsDlgButtonChecked(IDC_CHECK6) != BST_UNCHECKED; // WaveFormatEx DWORD dwFormat = m_CbnSampleFormat.GetItemData(m_CbnSampleFormat.GetCurSel()); Modified: trunk/OpenMPT/mptrack/ModConvert.cpp =================================================================== --- trunk/OpenMPT/mptrack/ModConvert.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/ModConvert.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -129,7 +129,7 @@ CriticalSection cs; // Converting instruments to samples - if(m_SndFile.m_nInstruments) + if(m_SndFile.GetNumInstruments()) { ConvertInstrumentsToSamples(); CHANGEMODTYPE_WARNING(wInstrumentsToSamples); @@ -384,8 +384,8 @@ pIns->PanEnv.dwFlags &= ~ENV_CARRY; pIns->PitchEnv.dwFlags &= ~(ENV_CARRY|ENV_ENABLED|ENV_FILTER); pIns->dwFlags &= ~INS_SETPANNING; - pIns->nIFC &= 0x7F; - pIns->nIFR &= 0x7F; + pIns->SetCutoff(pIns->GetCutoff(), false); + pIns->SetResonance(pIns->GetResonance(), false); pIns->nFilterMode = FLTMODE_UNCHANGED; pIns->nCutSwing = pIns->nPanSwing = pIns->nResSwing = pIns->nVolSwing = 0; Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1196,7 +1196,7 @@ //-------------------------------------------------- { if (nChn >= m_SndFile.m_nChannels) return true; - return (m_SndFile.ChnSettings[nChn].dwFlags & CHN_SOLO) ? true : false; + return (m_SndFile.ChnSettings[nChn].dwFlags & CHN_SOLO) != 0; } bool CModDoc::SoloChannel(CHANNELINDEX nChn, bool bSolo) @@ -1217,7 +1217,7 @@ //------------------------------------------ { if (nChn >= m_SndFile.m_nChannels) return true; - return (m_SndFile.ChnSettings[nChn].dwFlags & CHN_NOFX) ? true : false; + return (m_SndFile.ChnSettings[nChn].dwFlags & CHN_NOFX) != 0; } bool CModDoc::NoFxChannel(CHANNELINDEX nChn, bool bNoFx, bool updateMix) Modified: trunk/OpenMPT/mptrack/SampleEditorDialogs.cpp =================================================================== --- trunk/OpenMPT/mptrack/SampleEditorDialogs.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/SampleEditorDialogs.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -80,7 +80,7 @@ if(IsDlgButtonChecked(IDC_RADIO4)) m_nFormat |= ER_SIGNED; if(IsDlgButtonChecked(IDC_RADIO5)) m_nFormat |= ER_MONO; if(IsDlgButtonChecked(IDC_RADIO6)) m_nFormat |= ER_STEREO; - m_bRememberFormat = IsDlgButtonChecked(IDC_CHK_REMEMBERSETTINGS) ? true : false; + m_bRememberFormat = IsDlgButtonChecked(IDC_CHK_REMEMBERSETTINGS) != BST_UNCHECKED; CDialog::OnOK(); } Modified: trunk/OpenMPT/mptrack/UpdateCheck.cpp =================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -323,7 +323,7 @@ CString updateURL; GetDlgItemText(IDC_EDIT1, updateURL); - CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL, IsDlgButtonChecked(IDC_CHECK1) ? true : false, CUpdateCheck::GetShowUpdateHint()); + CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL, IsDlgButtonChecked(IDC_CHECK1) != BST_UNCHECKED, CUpdateCheck::GetShowUpdateHint()); CPropertyPage::OnOK(); } Modified: trunk/OpenMPT/mptrack/View_gen.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_gen.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/View_gen.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -804,7 +804,7 @@ if ((pSndFile->m_nType & (MOD_TYPE_XM|MOD_TYPE_IT|MOD_TYPE_MPT)) && (nChn < pSndFile->m_nChannels) && (strncmp(s, pSndFile->ChnSettings[nChn].szName, MAX_CHANNELNAME))) { memcpy(pSndFile->ChnSettings[nChn].szName, s, MAX_CHANNELNAME); - pSndFile->ChnSettings[nChn].szName[ARRAYELEMCOUNT(pSndFile->ChnSettings[nChn].szName)-1] = 0; + pSndFile->ChnSettings[nChn].szName[CountOf(pSndFile->ChnSettings[nChn].szName)-1] = 0; pModDoc->SetModified(); pModDoc->UpdateAllViews(this, HINT_MODCHANNELS | (m_nActiveTab << HINT_SHIFT_CHNTAB)); } Modified: trunk/OpenMPT/mptrack/View_ins.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_ins.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/View_ins.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -373,7 +373,7 @@ //---------------------------------------- { MODINSTRUMENT *pIns = GetInstrumentPtr(); - if (pIns) return (pIns->VolEnv.dwFlags & ENV_ENABLED) ? true : false; + if (pIns) return (pIns->VolEnv.dwFlags & ENV_ENABLED) != 0; return false; } @@ -382,7 +382,7 @@ //---------------------------------------- { MODINSTRUMENT *pIns = GetInstrumentPtr(); - if (pIns) return (pIns->PanEnv.dwFlags & ENV_ENABLED) ? true : false; + if (pIns) return (pIns->PanEnv.dwFlags & ENV_ENABLED) != 0; return false; } @@ -391,7 +391,7 @@ //------------------------------------------ { MODINSTRUMENT *pIns = GetInstrumentPtr(); - if (pIns) return ((pIns->PitchEnv.dwFlags & (ENV_ENABLED|ENV_FILTER)) == ENV_ENABLED) ? true : false; + if (pIns) return ((pIns->PitchEnv.dwFlags & (ENV_ENABLED|ENV_FILTER)) == ENV_ENABLED); return false; } @@ -400,7 +400,7 @@ //------------------------------------------- { MODINSTRUMENT *pIns = GetInstrumentPtr(); - if (pIns) return ((pIns->PitchEnv.dwFlags & (ENV_ENABLED|ENV_FILTER)) == (ENV_ENABLED|ENV_FILTER)) ? true : false; + if (pIns) return ((pIns->PitchEnv.dwFlags & (ENV_ENABLED|ENV_FILTER)) == (ENV_ENABLED|ENV_FILTER)); return false; } Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1418,10 +1418,10 @@ const CRect oldDropRect = m_rcDropItem; const DWORD oldDropItem = m_nDropItem; - m_bShiftDragging = (nFlags & MK_SHIFT) ? true : false; + m_bShiftDragging = (nFlags & MK_SHIFT) != 0; m_nDropItem = GetDragItem(point, &m_rcDropItem); - const bool b = (m_nDropItem == m_nDragItem) ? true : false; + const bool b = (m_nDropItem == m_nDragItem); const bool dragChannel = (m_nDragItem & DRAGITEM_MASK) == DRAGITEM_CHNHEADER; if (b != m_bInItemRect || (m_nDropItem != oldDropItem && dragChannel)) @@ -1814,7 +1814,7 @@ pageFind.m_dwFlags = m_findReplace.dwFindFlags; pageFind.m_nMinChannel = m_findReplace.nFindMinChn; pageFind.m_nMaxChannel = m_findReplace.nFindMaxChn; - pageFind.m_bPatSel = (m_dwBeginSel != m_dwEndSel) ? true : false; + pageFind.m_bPatSel = (m_dwBeginSel != m_dwEndSel); pageReplace.m_nNote = m_findReplace.cmdReplace.note; pageReplace.m_nInstr = m_findReplace.cmdReplace.instr; pageReplace.m_nVolCmd = m_findReplace.cmdReplace.volcmd; @@ -5754,16 +5754,16 @@ { const double t = pSndFile->GetPlaybackTimeAt(currentOrder, m_nRow, false); if(t < 0) - msg.Format("Unable to determine the time. Possible cause: No order %d, row %d found from play sequence", currentOrder, m_nRow); + msg.Format("Unable to determine the time. Possible cause: No order %d, row %d found from play sequence.", currentOrder, m_nRow); else { const uint32 minutes = static_cast<uint32>(t / 60.0); const float seconds = t - minutes*60; - msg.Format("Estimate for playback time at order %d(pattern %d), row %d: %d minute%s %.2f seconds", currentOrder, m_nPattern, m_nRow, minutes, (minutes == 1) ? "" : "s", seconds); + msg.Format("Estimate for playback time at order %d (pattern %d), row %d: %d minute%s %.2f seconds.", currentOrder, m_nPattern, m_nRow, minutes, (minutes == 1) ? "" : "s", seconds); } } else - msg.Format("Unable to determine the time: pattern at current order(=%d) does not correspond to pattern at pattern view(=pattern %d).", currentOrder, m_nPattern); + msg.Format("Unable to determine the time: pattern at current order (%d) does not correspond to pattern at pattern view (pattern %d).", currentOrder, m_nPattern); Reporting::Notification(msg); } Modified: trunk/OpenMPT/mptrack/View_tre.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_tre.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/View_tre.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1634,7 +1634,7 @@ } // The path is too long - we can't continue. This can actually only happen with an invalid path - if(strlen(szPath) >= ARRAYELEMCOUNT(szPath) - 1) + if(strlen(szPath) >= CountOf(szPath) - 1) return; // Enumerating Directories and samples/instruments @@ -3315,7 +3315,7 @@ tvi.stateMask = TVIS_EXPANDED; tvi.hItem = hItem; GetItem(&tvi); - return (tvi.state & TVIS_EXPANDED) != 0 ? true : false; + return (tvi.state & TVIS_EXPANDED) != 0; } Modified: trunk/OpenMPT/mptrack/Vstplug.cpp =================================================================== --- trunk/OpenMPT/mptrack/Vstplug.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Vstplug.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -980,18 +980,18 @@ strcpy((char *) ptr, s_szHostVendorString); //strcpy((char*)ptr,"Steinberg"); //return 0; - return true; - - case audioMasterGetVendorVersion: - return s_nHostVendorVersion; - //return 7000; - + return 1; + case audioMasterGetProductString: strcpy((char *) ptr, s_szHostProductString); //strcpy((char*)ptr,"Cubase VST"); //return 0; - return true; - + return 1; + + case audioMasterGetVendorVersion: + return s_nHostVendorVersion; + //return 7000; + case audioMasterVendorSpecific: return 0; @@ -1164,7 +1164,7 @@ FileDlgResult files = CTrackApp::ShowOpenSaveFileDialog( (pFileSel->command == kVstFileSave ? false : true), "", "", extensions, workingDir, - (pFileSel->command == kVstMultipleFilesLoad ? true : false) + (pFileSel->command == kVstMultipleFilesLoad) ); if(files.abort) @@ -1371,7 +1371,8 @@ m_nSampleRate = nInvalidSampleRate; //rewbs.VSTCompliance: gets set on Resume() MemsetZero(m_MidiCh); - for (int ch=0; ch<16; ch++) { + for (int ch=0; ch<16; ch++) + { m_nMidiPitchBendPos[ch]=MIDI_PitchBend_Centre; //centre pitch bend on all channels } @@ -2876,7 +2877,7 @@ float *p = (float *)m_pMixStruct->pPluginData; *(ULONG *)p = 0; p++; - for (UINT i=0; i<nParams; i++) + for (UINT i = 0; i < nParams; i++) { p[i] = GetParameter(i); } @@ -2895,22 +2896,26 @@ UINT nLen = nParams * sizeof(float); ULONG nType = *(ULONG *)m_pMixStruct->pPluginData; - if ((Dispatch(effIdentify, 0,0, NULL, 0) == 'NvEf') && (nType == 'NvEf')) + if ((Dispatch(effIdentify, 0, nullptr, nullptr, 0) == 'NvEf') && (nType == 'NvEf')) { PVOID p = NULL; Dispatch(effGetChunk, 0,0, &p, 0); //init plug for chunk reception - if ((nProgram>=0) && (nProgram < m_pEffect->numPrograms)) { // Bank: - Dispatch(effSetChunk, 0, m_pMixStruct->nPluginDataSize-4, ((BYTE *)m_pMixStruct->pPluginData)+4, 0); + if ((nProgram>=0) && (nProgram < m_pEffect->numPrograms)) + { + // Bank + Dispatch(effSetChunk, 0, m_pMixStruct->nPluginDataSize - 4, ((BYTE *)m_pMixStruct->pPluginData) + 4, 0); SetCurrentProgram(nProgram); - } else { // Program: - Dispatch(effSetChunk, 1, m_pMixStruct->nPluginDataSize-4, ((BYTE *)m_pMixStruct->pPluginData)+4, 0); + } else + { + // Program + Dispatch(effSetChunk, 1, m_pMixStruct->nPluginDataSize - 4, ((BYTE *)m_pMixStruct->pPluginData) + 4, 0); } } else { float *p = (float *)m_pMixStruct->pPluginData; - if (m_pMixStruct->nPluginDataSize >= nLen+4) p++; + if (m_pMixStruct->nPluginDataSize >= nLen + 4) p++; if (m_pMixStruct->nPluginDataSize >= nLen) { for (UINT i = 0; i < nParams; i++) @@ -2933,13 +2938,13 @@ if ((m_pEditor) && (!m_pEditor->m_hWnd)) { delete m_pEditor; - m_pEditor = NULL; + m_pEditor = nullptr; } if (m_pEditor) { if (m_pEditor->m_hWnd) m_pEditor->DoClose(); if ((volatile void *)m_pEditor) delete m_pEditor; - m_pEditor = NULL; + m_pEditor = nullptr; } else { //rewbs.defaultPlugGui @@ -2964,7 +2969,7 @@ { if ((m_pEffect) && (m_pEffect->magic == kBuzzMagic)) { - return Dispatch(effBuzzGetNumCommands, 0,0,NULL,0); + return Dispatch(effBuzzGetNumCommands, 0, nullptr, nullptr, 0.0f); } else if (m_pEffect) { @@ -2979,11 +2984,11 @@ { if ((m_pEffect) && (m_pEffect->magic == kBuzzMagic)) { - return Dispatch(effBuzzGetCommandName, nIndex,0,pszName,0); + return Dispatch(effBuzzGetCommandName, nIndex, nullptr, pszName, 0.0f); } else if (m_pEffect) { - return Dispatch(effGetParamName, nIndex,0,pszName,0); + return Dispatch(effGetParamName, nIndex, nullptr, pszName, 0.0f); } return 0; } @@ -2994,7 +2999,7 @@ { if ((m_pEffect) && (m_pEffect->magic == kBuzzMagic)) { - return Dispatch(effBuzzExecuteCommand, nIndex,0,NULL,0); + return Dispatch(effBuzzExecuteCommand, nIndex, nullptr, nullptr, 0.0f); } return 0; } @@ -3032,7 +3037,7 @@ //rewbs.VSTcompliance -BOOL CVstPlugin::GetSpeakerArrangement() +bool CVstPlugin::GetSpeakerArrangement() //-------------------------------------- { VstSpeakerArrangement **pSA = NULL; @@ -3136,7 +3141,7 @@ CVstPlugin* pCandidatePlug = NULL; list.RemoveAll(); - for (int nPlug=0; nPlug<MAX_MIXPLUGINS; nPlug++) + for (int nPlug = 0; nPlug < MAX_MIXPLUGINS; nPlug++) { pCandidatePlug = reinterpret_cast<CVstPlugin *>(m_pSndFile->m_MixPlugins[nPlug].pMixPlugin); if (pCandidatePlug) @@ -3161,12 +3166,12 @@ //-------------------------------------------------------------- { list.RemoveAll(); - if(m_pSndFile == 0) return; + if(m_pSndFile == nullptr) return; - UINT nThisMixPlug = m_nSlot+1; //m_nSlot is position in mixplug array. - for (int nIns=0; nIns<MAX_INSTRUMENTS; nIns++) + const PLUGINDEX nThisMixPlug = m_nSlot + 1; //m_nSlot is position in mixplug array. + for (int nIns = 0; nIns <= m_pSndFile->GetNumInstruments(); nIns++) { - if (m_pSndFile->Instruments[nIns] && (m_pSndFile->Instruments[nIns]->nMixPlug==nThisMixPlug)) + if (m_pSndFile->Instruments[nIns] != nullptr && (m_pSndFile->Instruments[nIns]->nMixPlug == nThisMixPlug)) { list.Add(nIns); } Modified: trunk/OpenMPT/mptrack/Vstplug.h =================================================================== --- trunk/OpenMPT/mptrack/Vstplug.h 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/Vstplug.h 2011-10-29 19:03:03 UTC (rev 1126) @@ -151,7 +151,7 @@ BOOL GetCommandName(UINT index, LPSTR pszName); BOOL ExecuteCommand(UINT nIndex); CAbstractVstEditor* GetEditor(); //rewbs.defaultPlugGUI - BOOL GetSpeakerArrangement(); //rewbs.VSTCompliance + bool GetSpeakerArrangement(); //rewbs.VSTCompliance bool Bypass(bool bypass = true); //rewbs.defaultPlugGUI bool IsBypassed() const { return m_pMixStruct->IsBypassed(); }; //rewbs.defaultPlugGUI @@ -223,7 +223,7 @@ CString GetParamLabel(PlugParamIndex) { return ""; }; CString GetParamDisplay(PlugParamIndex) { return ""; }; - PlugParamValue GetParameter(PlugParamIndex nIndex) {return 0;} + PlugParamValue GetParameter(PlugParamIndex) { return 0; } bool LoadProgram(CString) {return false;} bool SaveProgram(CString) {return false;} void SetCurrentProgram(UINT) {} Modified: trunk/OpenMPT/mptrack/test/test.cpp =================================================================== --- trunk/OpenMPT/mptrack/test/test.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/test/test.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -330,8 +330,10 @@ VERIFY_EQUAL_NONCONT(pIns->nVolRampUp, 1200); VERIFY_EQUAL_NONCONT(pIns->nResampling, SRCMODE_POLYPHASE); - VERIFY_EQUAL_NONCONT(pIns->nIFC, 0); - VERIFY_EQUAL_NONCONT(pIns->nIFR, 0); + VERIFY_EQUAL_NONCONT(pIns->IsCutoffEnabled(), false); + VERIFY_EQUAL_NONCONT(pIns->GetCutoff(), 0); + VERIFY_EQUAL_NONCONT(pIns->IsResonanceEnabled(), false); + VERIFY_EQUAL_NONCONT(pIns->GetResonance(), 0); VERIFY_EQUAL_NONCONT(pIns->nFilterMode, FLTMODE_UNCHANGED); VERIFY_EQUAL_NONCONT(pIns->nVolSwing, 0); @@ -531,8 +533,10 @@ VERIFY_EQUAL_NONCONT(pIns->nVolRampUp, 1200); VERIFY_EQUAL_NONCONT(pIns->nResampling, SRCMODE_POLYPHASE); - VERIFY_EQUAL_NONCONT(pIns->nIFC, 0x80 | 0x32); - VERIFY_EQUAL_NONCONT(pIns->nIFR, 0x80 | 0x64); + VERIFY_EQUAL_NONCONT(pIns->IsCutoffEnabled(), true); + VERIFY_EQUAL_NONCONT(pIns->GetCutoff(), 0x32); + VERIFY_EQUAL_NONCONT(pIns->IsResonanceEnabled(), true); + VERIFY_EQUAL_NONCONT(pIns->GetResonance(), 0x64); VERIFY_EQUAL_NONCONT(pIns->nFilterMode, FLTMODE_HIGHPASS); VERIFY_EQUAL_NONCONT(pIns->nVolSwing, 0x30); Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/mptrack/version.h 2011-10-29 19:03:03 UTC (rev 1126) @@ -15,7 +15,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 20 #define VER_MINOR 00 -#define VER_MINORMINOR 48 +#define VER_MINORMINOR 49 //Creates version number from version parts that appears in version string. //For example MAKE_VERSION_NUMERIC(1,17,02,28) gives version number of Modified: trunk/OpenMPT/soundlib/LOAD_DBM.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2011-10-29 19:03:03 UTC (rev 1126) @@ -388,7 +388,7 @@ int n; for (n = 0; n < 4; n++) { - if(CSoundFile::ConvertVolEffect(&cmd1, ¶m1, (n >> 1) ? true : false)) + if(CSoundFile::ConvertVolEffect(&cmd1, ¶m1, (n >> 1) != 0)) { n = 5; break; Modified: trunk/OpenMPT/soundlib/LOAD_DMF.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DMF.CPP 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/LOAD_DMF.CPP 2011-10-29 19:03:03 UTC (rev 1126) @@ -669,7 +669,7 @@ int n; for (n = 0; n < 4; n++) { - if(CSoundFile::ConvertVolEffect(&effect2, &effectParam2, (n >> 1) ? true : false)) + if(CSoundFile::ConvertVolEffect(&effect2, &effectParam2, (n >> 1) != 0)) { n = 5; break; Modified: trunk/OpenMPT/soundlib/Load_it.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_it.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_it.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -221,9 +221,11 @@ #pragma warning(disable:4244) //conversion from 'type1' to 'type2', possible loss of data +// IT Vibrato -> VibratoType BYTE autovibit2xm[8] = -{ 0, 3, 1, 4, 2, 0, 0, 0 }; +{ VIB_SINE, VIB_RAMP_DOWN, VIB_SQUARE, VIB_RANDOM, VIB_RAMP_UP, 0, 0, 0 }; +// VibratoType -> Vibrato BYTE autovibxm2it[8] = { 0, 2, 4, 1, 3, 0, 0, 0 }; @@ -454,8 +456,8 @@ pIns->nDNA = pis->dca; pIns->nPPS = pis->pps; pIns->nPPC = pis->ppc; - pIns->nIFC = pis->ifc; - pIns->nIFR = pis->ifr; + pIns->SetCutoff(pis->ifc & 0x7F, (pis->ifc & 0x80) != 0); + pIns->SetResonance(pis->ifr & 0x7F, (pis->ifr & 0x80) != 0); pIns->nVolSwing = min(pis->rv, 100); pIns->nPanSwing = min(pis->rp, 64); pIns->nPan = (pis->dfp & 0x7F) << 2; @@ -1614,8 +1616,8 @@ if (!(pIns->dwFlags & INS_SETPANNING)) iti.dfp |= 0x80; iti.rv = min(pIns->nVolSwing, 100); iti.rp = min(pIns->nPanSwing, 64); - iti.ifc = pIns->nIFC; - iti.ifr = pIns->nIFR; + iti.ifc = pIns->GetCutoff() | (pIns->IsCutoffEnabled() ? 0x80 : 0x00); + iti.ifr = pIns->GetResonance() | (pIns->IsResonanceEnabled() ? 0x80 : 0x00); iti.nos = 0; for (UINT i=0; i<NOTE_MAX; i++) if (pIns->Keyboard[i] < MAX_SAMPLES) { Modified: trunk/OpenMPT/soundlib/Load_med.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_med.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -630,7 +630,7 @@ // Reading play sequence if (version < '2') { - UINT nbo = pmsh->songlen >> 8; + UINT nbo = BigEndianW(pmsh->songlen); if (nbo >= MAX_ORDERS) nbo = MAX_ORDERS-1; if (!nbo) nbo = 1; Order.ReadAsByte(pmsh->playseq, nbo, nbo); Modified: trunk/OpenMPT/soundlib/Load_mod.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_mod.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -221,7 +221,7 @@ bool IsMagic(LPCSTR s1, LPCSTR s2) { - return ((*(DWORD *)s1) == (*(DWORD *)s2)) ? true : false; + return ((*(DWORD *)s1) == (*(DWORD *)s2)); } // Functor for fixing VBlank MODs and MODs with 7-bit panning @@ -286,9 +286,9 @@ if (IsMagic(s,"16CN")) m_nChannels = 16; else if (IsMagic(s,"32CN")) m_nChannels = 32; else m_nSamples = 15; // Startrekker 8 channel mod (needs special treatment, see below) - bool bFLT8 = IsMagic(s, "FLT8") ? true : false; + bool bFLT8 = IsMagic(s, "FLT8"); // Only apply VBlank tests to M.K. (ProTracker) modules. - const bool bMdKd = IsMagic(s, "M.K.") ? true : false; + const bool bMdKd = IsMagic(s, "M.K."); // Load Samples nErr = 0; @@ -532,7 +532,7 @@ // below 100 BPM are taken into account. Furthermore, only M.K. (ProTracker) // modules are checked. // The same check is also applied to original Ultimate Soundtracker 15 sample mods. - const bool bVBlank = ((bMdKd && bHasTempoCommands && GetSongTime() >= 10 * 60) || m_nSamples == 15) ? true : false; + const bool bVBlank = ((bMdKd && bHasTempoCommands && GetSongTime() >= 10 * 60) || m_nSamples == 15); const bool b7BitPanning = bLeftPanning && !bExtendedPanning; if(bVBlank || b7BitPanning) { Modified: trunk/OpenMPT/soundlib/Load_okt.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_okt.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_okt.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -90,7 +90,7 @@ else sample.nSustainStart = sample.nSustainEnd = 0; } - sample7bit[nSmp - 1] = (oktsmp.type == 0 || oktsmp.type == 2) ? true : false; + sample7bit[nSmp - 1] = (oktsmp.type == 0 || oktsmp.type == 2); } } Modified: trunk/OpenMPT/soundlib/Load_psm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_psm.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_psm.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -50,9 +50,9 @@ struct PSMNEWHEADER { - uint32 formatID; // "PSM " (new format) - uint32 fileSize; // Filesize - 12 - uint32 fileInfoID; // "FILE" Start of file info + uint32 formatID; // "PSM " (new format) + uint32 fileSize; // Filesize - 12 + uint32 fileInfoID; // "FILE" Start of file info }; struct PSMSONGHEADER @@ -102,33 +102,36 @@ }; #pragma pack() + struct PSMSUBSONG // For internal use (pattern conversion) { - uint8 channelPanning[MAX_BASECHANNELS], channelVolume[MAX_BASECHANNELS]; - bool channelSurround[MAX_BASECHANNELS]; + vector<uint8> channelPanning, channelVolume; + vector<bool> channelSurround; uint8 defaultTempo, defaultSpeed; char songName[10]; ORDERINDEX startOrder, endOrder, restartPos; PSMSUBSONG() { - memset(channelPanning, 128, sizeof(channelPanning)); - memset(channelVolume, 64, sizeof(channelVolume)); - memset(channelSurround, false, sizeof(channelSurround)); - memset(songName, 0, sizeof(songName)); + channelPanning.assign(MAX_BASECHANNELS, 128); + channelVolume.assign(MAX_BASECHANNELS, 64); + channelSurround.assign(MAX_BASECHANNELS, false); + MemsetZero(songName); defaultTempo = 125; defaultSpeed = 6; startOrder = endOrder = restartPos = ORDERINDEX_INVALID; } }; + // Portamento effect conversion (depending on format version) -inline BYTE convert_psm_porta(BYTE param, bool bNewFormat) -//-------------------------------------------------------- +inline BYTE ConvertPSMPorta(BYTE param, bool bNewFormat) +//------------------------------------------------------ { return ((bNewFormat) ? (param) : ((param < 4) ? (param | 0xF0) : (param >> 2))); } + bool CSoundFile::ReadPSM(const LPCBYTE lpStream, const DWORD dwMemLength) //----------------------------------------------------------------------- { @@ -164,9 +167,6 @@ vector<uint32> patternOffsets; // pattern offsets (sorted as they occour in the file) vector<uint32> patternIDs; // pattern IDs (sorted as they occour in the file) vector<uint32> orderOffsets; // combine the upper two vectors to get the offsets for each order item - patternOffsets.clear(); - patternIDs.clear(); - orderOffsets.clear(); Order.clear(); // subsong setup vector<PSMSUBSONG> subsongs; @@ -215,7 +215,7 @@ if(chunkSize < sizeof(PSMSONGHEADER)) return false; PSMSONGHEADER *pSong = (PSMSONGHEADER *)(lpStream + dwMemPos); if(pSong->compression != 0x01) return false; // no compression for PSM files - m_nChannels = CLAMP(pSong->numChannels, m_nChannels, MAX_BASECHANNELS); // subsongs *might* have different channel count + m_nChannels = Clamp(CHANNELINDEX(pSong->numChannels), m_nChannels, MAX_BASECHANNELS); // subsongs *might* have different channel count PSMSUBSONG subsong; subsong.restartPos = (ORDERINDEX)Order.size(); // restart order "offset": current orderlist length @@ -616,19 +616,19 @@ // Portamento case 0x0B: // fine portamento up command = CMD_PORTAMENTOUP; - param = 0xF0 | convert_psm_porta(param, bNewFormat); + param = 0xF0 | ConvertPSMPorta(param, bNewFormat); break; case 0x0C: // portamento up command = CMD_PORTAMENTOUP; - param = convert_psm_porta(param, bNewFormat); + param = ConvertPSMPorta(param, bNewFormat); break; case 0x0D: // fine portamento down command = CMD_PORTAMENTODOWN; - param = 0xF0 | convert_psm_porta(param, bNewFormat); + param = 0xF0 | ConvertPSMPorta(param, bNewFormat); break; case 0x0E: // portamento down command = CMD_PORTAMENTODOWN; - param = convert_psm_porta(param, bNewFormat); + param = ConvertPSMPorta(param, bNewFormat); break; case 0x0F: // tone portamento command = CMD_TONEPORTAMENTO; Modified: trunk/OpenMPT/soundlib/Load_ult.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ult.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Load_ult.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -201,7 +201,7 @@ int n; for (n = 0; n < 4; n++) { - if(CSoundFile::ConvertVolEffect(&cmd1, ¶m1, (n >> 1) ? true : false)) + if(CSoundFile::ConvertVolEffect(&cmd1, ¶m1, (n >> 1) != 0)) { n = 5; break; Modified: trunk/OpenMPT/soundlib/Sampleio.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sampleio.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Sampleio.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -1831,8 +1831,8 @@ if (!(pIns->dwFlags & INS_SETPANNING)) iti->dfp |= 0x80; iti->rv = pIns->nVolSwing; iti->rp = pIns->nPanSwing; - iti->ifc = pIns->nIFC; - iti->ifr = pIns->nIFR; + iti->ifc = pIns->GetCutoff() | (pIns->IsCutoffEnabled() ? 0x80 : 0x00); + iti->ifr = pIns->GetResonance() | (pIns->IsResonanceEnabled() ? 0x80 : 0x00); //iti->trkvers = 0x202; iti->trkvers = 0x220; //rewbs.ITVersion (was 0x202) iti->nos = 0; Modified: trunk/OpenMPT/soundlib/Snd_defs.h =================================================================== --- trunk/OpenMPT/soundlib/Snd_defs.h 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Snd_defs.h 2011-10-29 19:03:03 UTC (rev 1126) @@ -43,24 +43,25 @@ typedef uintptr_t SmpLength; -#define MAX_PATTERN_ROWS 1024 // -> CODE#0008 -> DESC="#define to set pattern size" -! BEHAVIOUR_CHANGE#0008 -#define MOD_AMIGAC2 0x1AB +#define MOD_AMIGAC2 0x1AB // Period of Amiga middle-c #define MAX_SAMPLE_LENGTH 0x10000000 // 0x04000000 (64MB -> now 256MB). // Note: Sample size in bytes can be more than 256 MB. // The meaning of this constant is handled differently in various places; sometimes it's samples, sometimes it's bytes... #define MAX_SAMPLE_RATE 192000 // Max playback / render rate in Hz -#define MAX_ORDERS 256 -#define MAX_PATTERNS 240 -#define MAX_SAMPLES 4000 -#define MAX_INSTRUMENTS 256 //200 -const SEQUENCEINDEX MAX_SEQUENCES = 50; +const ROWINDEX MAX_PATTERN_ROWS = 1024; // -> CODE#0008 -> DESC="#define to set pattern size" -! BEHAVIOUR_CHANGE#0008 +const ORDERINDEX MAX_ORDERS = 256; +const PATTERNINDEX MAX_PATTERNS = 240; +const SAMPLEINDEX MAX_SAMPLES = 4000; +const INSTRUMENTINDEX MAX_INSTRUMENTS = 256; //200 -#define MAX_CHANNELS 256 //200 // Note: This is the maximum number of sound channels, -#define MAX_BASECHANNELS 127 // Max pattern channels. +const SEQUENCEINDEX MAX_SEQUENCES = 50; +const CHANNELINDEX MAX_BASECHANNELS = 127; // Max pattern channels. +const CHANNELINDEX MAX_CHANNELS = 256; //200 // Maximum number of mixing channels. + #define MIN_PERIOD 0x0020 // Note: Period is an Amiga metric that is inverse to frequency. #define MAX_PERIOD 0xFFFF // Periods in MPT are 4 times as fine as Amiga periods because of extra fine frequency slides. @@ -131,7 +132,7 @@ #define CHN_NOTEFADE 0x400 // fade note (instrument mode) #define CHN_SURROUND 0x800 // use surround channel #define CHN_NOIDO 0x1000 // Indicates if the channel is near enough to an exact multiple of the base frequency that any interpolation won't be noticeable - or if interpolation was switched off completely. --Storlek -#define CHN_HQSRC 0x2000 // ??? +#define CHN_HQSRC 0x2000 // High quality sample rate conversion (i.e. apply interpolation) #define CHN_FILTER 0x4000 // filtered output #define CHN_VOLUMERAMP 0x8000 // ramp volume #define CHN_VIBRATO 0x10000 // apply vibrato Modified: trunk/OpenMPT/soundlib/Sndfile.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.cpp 2011-10-29 18:53:58 UTC (rev 1125) +++ trunk/OpenMPT/soundlib/Sndfile.cpp 2011-10-29 19:03:03 UTC (rev 1126) @@ -291,53 +291,53 @@ WRITE_MPTHEADER_sized_member( VolEnv.nNodes , UINT , VE.. ) WRITE_MPTHEADER_sized_member( PanEnv.nNodes , UINT , PE.. ) WRITE_MPTHEADER_sized_member( PitchEnv.nNodes , UINT , PiE. ) -WRITE_MPTHEADER_sized_member( VolEnv.nLoopStart , BYTE , VLS. ) -WRITE_MPTHEADER_sized_member( VolEnv.nLoopEnd , BYTE , VLE. ) -WRITE_MPTHEADER_sized_member( VolEnv.nSustainStart , BYTE , VSB. ) -WRITE_MPTHEADER_sized_member( VolEnv.nSustainEnd , BYTE , VSE. ) -WRITE_MPTHEADER_sized_member( PanEnv.nLoopStart , BYTE , PLS. ) -WRITE_MPTHEADER_sized_member( PanEnv.nLoopEnd , BYTE , PLE. ) -WRITE_MPTHEADER_sized_member( PanEnv.nSustainStart , BYTE , PSB. ) -WRITE_MPTHEADER_sized_member( PanEnv.nSustainEnd , BYTE , PSE. ) -WRITE_MPTHEADER_sized_member( PitchEnv.nLoopStart , BYTE , PiLS ) -WRITE_MPTHEADER_sized_member( PitchEnv.nLoopEnd , BYTE , PiLE ) -WRITE_MPTHEADER_sized_member( PitchEnv.nSustainStart , BYTE , PiSB ) -WRITE_MPTHEADER_sized_member( PitchEnv.nSustainEnd , BYTE , PiSE ) -WRITE_MPTHEADER_sized_member( nNNA , BYTE , NNA. ) -WRITE_MPTHEADER_sized_member( nDCT , BYTE , DCT. ) -WRITE_MPTHEADER_sized_member( nDNA , BYTE , DNA. ) -WRITE_MPTHEADER_sized_member( nPanSwing , BYTE , PS.. ) -WRITE_MPTHEADER_sized_member( nVolSwing , BYTE , VS.. ) -WRITE_MPTHEADER_sized_member( nIFC , BYTE , IFC. ) -WRITE_MPTHEADER_sized_member( nIFR , BYTE , IFR. ) -WRITE_MPTHEADER_sized_member( wMidiBank , WORD , MB.. ) -WRITE_MPTHEADER_sized_member( nMidiProgram , BYTE , MP.. ) -WRITE_MPTHEADER_sized_member( nMidiChannel , BYTE , MC.. ) -WRITE_MPTHEADER_sized_member( nMidiDrumKey , BYTE , MDK. ) -WRITE_MPTHEADER_sized_member( nPPS , signed char , PPS. ) -WRITE_MPTHEADER_sized_member( nPPC , unsigned char , PPC. ) -WRITE_MPTHEADER_array_member( VolEnv.Ticks , WORD , VP[. , ((input->VolEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( PanEnv.Ticks , WORD , PP[. , ((input->PanEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( PitchEnv.Ticks , WORD , PiP[ , ((input->PitchEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( VolEnv.Values , BYTE , VE[. , ((input->VolEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( PanEnv.Values , BYTE , PE[. , ((input->PanEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( PitchEnv.Values , BYTE , PiE[ , ((input->PitchEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) -WRITE_MPTHEADER_array_member( NoteMap , BYTE , NM[. , 128 ) -WRITE_MPTHEADER_array_member( Keyboard , WORD , K[.. , 128 ) +WRITE_MPTHEADER_sized_member( VolEnv.nLoopStart , uint8 , VLS. ) +WRITE_MPTHEADER_sized_member( VolEnv.nLoopEnd , uint8 , VLE. ) +WRITE_MPTHEADER_sized_member( VolEnv.nSustainStart , uint8 , VSB. ) +WRITE_MPTHEADER_sized_member( VolEnv.nSustainEnd , uint8 , VSE. ) +WRITE_MPTHEADER_sized_member( PanEnv.nLoopStart , uint8 , PLS. ) +WRITE_MPTHEADER_sized_member( PanEnv.nLoopEnd , uint8 , PLE. ) +WRITE_MPTHEADER_sized_member( PanEnv.nSustainStart , uint8 , PSB. ) +WRITE_MPTHEADER_sized_member( PanEnv.nSustainEnd , uint8 , PSE. ) +WRITE_MPTHEADER_sized_member( PitchEnv.nLoopStart , uint8 , PiLS ) +WRITE_MPTHEADER_sized_member( PitchEnv.nLoopEnd , uint8 , PiLE ) +WRITE_MPTHEADER_sized_member( PitchEnv.nSustainStart , uint8 , PiSB ) +WRITE_MPTHEADER_sized_member( PitchEnv.nSustainEnd , uint8 , PiSE ) +WRITE_MPTHEADER_sized_member( nNNA , uint8 , NNA. ) +WRITE_MPTHEADER_sized_member( nDCT , uint8 , DCT. ) +WRITE_MPTHEADER_sized_member( nDNA , uint8 , DNA. ) +WRITE_MPTHEADER_sized_member( nPanSwing , uint8 , PS.. ) +WRITE_MPTHEADER_sized_member( nVolSwing , uint8 , VS.. ) +WRITE_MPTHEADER_sized_member( nIFC , uint8 , IFC. ) +WRITE_MPTHEADER_sized_member( nIFR , uint8 , IFR. ) +WRITE_MPTHEADER_sized_member( wMidiBank , uint16 , MB.. ) +WRITE_MPTHEADER_sized_member( nMidiProgram , uint8 , MP.. ) +WRITE_MPTHEADER_sized_member( nMidiChannel , uint8 , MC.. ) +WRITE_MPTHEADER_sized_member( nMidiDrumKey , uint8 , MDK. ) +WRITE_MPTHEADER_sized_member( nPPS , int8 , PPS. ) +WRITE_MPTHEADER_sized_member( nPPC , uint8 , PPC. ) +WRITE_MPTHEADER_array_member( VolEnv.Ticks , uint16 , VP[. , ((input->VolEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( PanEnv.Ticks , uint16 , PP[. , ((input->PanEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( PitchEnv.Ticks , uint16 , PiP[ , ((input->PitchEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( VolEnv.Values , uint8 , VE[. , ((input->VolEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( PanEnv.Values , uint8 , PE[. , ((input->PanEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( PitchEnv.Values , uint8 , PiE[ , ((input->PitchEnv.nNodes > 32) ? MAX_ENVPOINTS : 32)) +WRITE_MPTHEADER_array_member( NoteMap , uint8 , NM[. , 128 ) +WRITE_MPTHEADER_array_member( Keyboard , uint16 , K[.. , 128 ) WRITE_MPTHEADER_array_member( name , CHAR , n[.. , 32 ) WRITE_MPTHEADER_array_member( filename , CHAR , fn[. , 12 ) -WRITE_MPTHEADER_sized_member( nMixPlug , BYTE , MiP. ) +WRITE_MPTHEADER_sized_member( nMixPlug , uint8 , MiP. ) WRITE_MPTHEADER_sized_member( nVolRampUp , uint16 , VR.. ) -WRITE_MPTHEADER_sized_member( nResampling , USHORT , R... ) -WRITE_MPTHEADER_sized_member( nCutSwing , BYTE , CS.. ) -WRITE_MPTHEADER_sized_member( nResSwing , BYTE , RS.. ) -WRITE_MPTHEADER_sized_member( nFilterMode , BYTE , FM.. ) -WRITE_MPTHEADER_sized_member( nPluginVelocityHandling , BYTE , PVEH ) -WRITE_MPTHEADER_sized_member( nPluginVolumeHandling , BYTE , PVOH ) -WRITE_MPTHEADER_sized_member( wPitchToTempoLock , WORD , PTTL ) -WRITE_MPTHEADER_sized_member( PitchEnv.nReleaseNode , BYTE , PERN ) -WRITE_MPTHEADER_sized_member( PanEnv.nReleaseNode , BYTE , AERN ) -WRITE_MPTHEADER_sized_member( VolEnv.nReleaseNode , BYTE , VERN ) +WRITE_MPTHEADER_sized_member( nResampling , uint16 , R... ) +WRITE_MPTHEADER_sized_member( nCutSwing , uint8 , CS.. ) +WRITE_MPTHEADER_sized_member( nResSwing , uint8 , RS.. ) +WRITE_MPTHEADER_sized_member( nFilterMode , uint8 , FM.. ) +WRITE_MPTHEADER_sized_member( nPluginVelocityHandling , uint8 , PVEH ) +WRITE_MPTHEADER_sized_member( nPluginVolumeHandling , uint8 , PVOH ) +WRITE_MPTHEADER_sized_member( wPitchToTempoLock , uint16 , PTTL ) +WRITE_MPTHEADER_sized_member( PitchEnv.nReleaseNode , uint8 , PERN ) +WRITE_MPTHEADER_sized_member( PanEnv.nReleaseNode , uint8 , AERN ) +WRITE_MPTHEADER_sized_member( VolEnv.nReleaseNode , uint8 , VERN ) WRITE_MPTHEADER_sized_member( PitchEnv.dwFlags , DWORD , PFLG ) WRITE_MPTHEADER_sized_member( PanEnv.dwFlags , DWORD , AFLG ) WRITE_MPTHEADER_sized_member( VolEnv.dwFlags , DWORD , VFLG ) @@ -373,53 +373,53 @@ GET_MPTHEADER_sized_member( VolEnv.nNodes , UINT , VE.. ) GET_MPTHEADER_sized_member( PanEnv.nNodes , UINT , PE.. ) GET_MPTHEADER_sized_member( PitchEnv.nNodes , UINT , PiE. ) -GET_MPTHEADER_sized_member( VolEnv.nLoopStart , BYTE , VLS. ) -GET_MPTHEADER_sized_member( VolEnv.nLoopEnd , BYTE , VLE. ) -GET_MPTHEADER_sized_member( VolEnv.nSustainStart , BYTE , VSB. ) -GET_MPTHEADER_sized_member( VolEnv.nSustainEnd , BYTE , VSE. ) -GET_MPTHEADER_sized_member( PanEnv.nLoopStart , BYTE , PLS. ) -GET_MPTHEADER_sized_member( PanEnv.nLoopEnd , BYTE , PLE. ) -GET_MPTHEADER_sized_member( PanEnv.nSustainStart , BYTE , PSB. ) -GET_MPTHEADER_sized_member( PanEnv.nSustainEnd , BYTE , PSE. ) -GET_MPTHEADER_sized_member( PitchEnv.nLoopStart , BYTE , PiLS ) -GET_MPTHEADER_sized_member( PitchEnv.nLoopEnd , BYTE , PiLE ) -GET_MPTHEADER_sized_member( PitchEnv.nSustainStart , BYTE , PiSB ) -GET_MPTHEADER_sized_member( PitchEnv.nSustainEnd , BYTE , PiSE ) -GET_MPTHEADER_sized_member( nNNA , BYTE , NNA. ) -GET_MPTHEADER_sized_member( nDCT , BYTE , DCT. ) -GET_MPTHEADER_sized_member( nDNA , BYTE , DNA. ) -GET_MPTHEADER_sized_member( nPanSwing , BYTE , PS.. ) -GET_MPTHEADER_sized_member( nVolSwing , BYTE , VS.. ) -GET_MPTHEADER_sized_member( nIFC , BYTE , IFC. ) -GET_MPTHEADER_sized_member( nIFR , BYTE , IFR. ) -GET_MPTHEADER_sized_member( wMidiBank , WORD , MB.. ) -GET_MPTHEADER_sized_member( nMidiProgram , BYTE , MP.. ) -GET_MPTHEADER_sized_member( nMidiChannel , BYTE , MC.. ) -GET_MPTHEADER_sized_member( nMidiDrumKey , BYTE , MDK. ) -GET_MPTHEADER_sized_member( nPPS , signed char , PPS. ) -GET_MPTHEADER_sized_member( nPPC , unsigned char , PPC. ) -GET_MPTHEADER_array_member( VolEnv.Ticks , WORD , VP[. , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( PanEnv.Ticks , WORD , PP[. , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( PitchEnv.Ticks , WORD , PiP[ , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( VolEnv.Values , BYTE , VE[. , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( PanEnv.Values , BYTE , PE[. , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( PitchEnv.Values , BYTE , PiE[ , MAX_ENVPOINTS ) -GET_MPTHEADER_array_member( NoteMap , BYTE , NM[. , 128 ) -GET_MPTHEADER_array_member( Keyboard , WORD , K[.. , 128 ) +GET_MPTHEADER_sized_member( VolEnv.nLoopStart , uint8 , VLS. ) +GET_MPTHEADER_sized_member( VolEnv.nLoopEnd , uint8 , VLE. ) +GET_MPTHEADER_sized_member( VolEnv.nSustainStart , uint8 , VSB. ) +GET_MPTHEADER_sized_member( VolEnv.nSustainEnd , uint8 , VSE. ) +GET_MPTHEADER_sized_member( PanEnv.nLoopStart , uint8 , PLS. ) +GET_MPTHEADER_sized_member( PanEnv.nLoopEnd , uint8 , PLE. ) +GET_MPTHEADER_sized_member( PanEnv.nSustainStart , uint8 , PSB. ) +GET_MPTHEADER_sized_member( PanEnv.nSustainEnd , uint8 , PSE. ) +GET_MPTHEADER_sized_member( PitchEnv.nLoopStart , uint8 , PiLS ) +GET_MPTHEADER_sized_member( PitchEnv.nLoopEnd , uint8 , PiLE ) +GET_MPTHEADER_sized_member( PitchEnv.nSustainStart , uint8 , PiSB ) +GET_MPTHEADER_sized_member( PitchEnv.nSustainEnd , uint8 , PiSE ) +GET_MPTHEADER_sized_member( nNNA , uint8 , NNA. ) +GET_MPTHEADER_sized_member( nDCT , uint8 , DCT. ) +GET_MPTHEADER_sized_member( nDNA , uint8 , DNA. ) +GET_MPTHEADER_sized_member( nPanSwing , uint8 , PS.. ) +GET_MPTHEADER_sized_member( nVolSwing , uint8 , VS.. ) +GET_MPTHEADER_sized_member( nIFC , uint8 , IFC. ) +GET_MPTHEADER_sized_member( nIFR , uint8 , IFR. ) +GET_MPTHEADER_sized_member( wMidiBank , uint16 , MB.. ) +GET_MPTHEADER_sized_member( nMidiProgram , uint8 , MP.. ) +GET_MPTHEADER_sized_member( nMidiChannel , uint8 , MC.. ) +GET_MPTHEADER_sized_member( nMidiDrumKey , uint8 , MDK. ) +GET_MPTHEADER_sized_member( nPPS , int8 , PPS. ) +GET_MPTHEADER_sized_member( nPPC , uint8 , PPC. ) +GET_MPTHEADER_array_member( VolEnv.Ticks , uint16 , VP[. , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( PanEnv.Ticks , uint16 , PP[. , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( PitchEnv.Ticks , uint16 , PiP[ , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( VolEnv.Values , uint8 , VE[. , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( PanEnv.Values , uint8 , PE[. , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( PitchEnv.Values , uint8 , PiE[ , MAX_ENVPOINTS ) +GET_MPTHEADER_array_member( NoteMap , uint8 , NM[. , 128 ) +GET_MPTHEADER_array_member( Keyboard , uint16 , K[.. , 128 ) GET_MPTHEADER_array_member( name , CHAR , n[.. , 32 ) GET_MPTHEADER_array_member( filename , CHAR , fn[. , 12 ) -GET_MPTHEADER_sized_member( nMixPlug , BYTE , MiP. ) +GET_MPTHEADER_sized_member( nMixPlug , uint8 , MiP. ) GET_MPTHEADER_sized_member( nVolRampUp , uint16 , VR.. ) GET_MPTHEADER_sized_member( nResampling , UINT , R... ) -GET_MPTHEADER_sized_member( nCutSwing , BYTE , CS.. ) -GET_MPTHEADER_sized_member( nResSwing , BYTE , RS.. ) -GET_MPTHEADER_sized_member( nFilterMode , BYTE , FM.. ) -GET_MPTHEADER_sized_member( wPitchToTempoLock , WORD , PTTL ) -GET_MPTHEADER_sized_member( nPluginVelocityHandling , BYTE , PVEH ) -GET_MPTHEADER_sized_member( nPluginVolumeHandling , BYTE , PVOH ) -GET_MPTHEADER_sized_member( PitchEnv.nReleaseNode , BYTE , PERN ) -GET_MPTHEADER_sized_member( PanEnv.nReleaseNode , BYTE , AERN ) -GET_MPTHEADER_sized_member( VolEnv.nReleaseNode , BYTE , VERN ) +GET_MPTHEADER_sized_member( nCutSwing , uint8 , CS.. ) +GET_MPTHEADER_sized_member( nResSwing , uint8 , RS.. ) +GET_MPTHEADER_sized_member( nFilterMode , uint8 , FM.. ) +GET_MPTHEADER_sized_member( wPitchToTempoLock , uint16 , PTTL ) +GET_MPTHEADER_sized_member( nPluginVelocityHandling , uint8 , PVEH ) +GET_MPTHEADER_sized_member( nPluginVolumeHandling , uint8 , PVOH ) +GET_MPTHEADER_sized_member( PitchEnv.nReleaseNode , uint8 , PERN ) +GET_MPTHEADER_sized_member( PanEnv.nReleaseNode , uint8 , AERN ) +GET_MPTHEADER_sized_member( VolEnv.nReleaseNode , uint8 , VERN ) GET_MPTHEADER_sized_member(... [truncated message content] |