From: <sag...@us...> - 2014-03-10 19:01:15
|
Revision: 3856 http://sourceforge.net/p/modplug/code/3856 Author: saga-games Date: 2014-03-10 19:01:01 +0000 (Mon, 10 Mar 2014) Log Message: ----------- [New] Added (experimental) feature to add an existing module to a currently open module. This copies over all pattern, samples, instruments, plugins, etc. as far as it's possible. Modified Paths: -------------- trunk/OpenMPT/mptrack/CommandSet.cpp trunk/OpenMPT/mptrack/CommandSet.h trunk/OpenMPT/mptrack/InputHandler.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/Moddoc.h trunk/OpenMPT/mptrack/Modedit.cpp trunk/OpenMPT/mptrack/Mptrack.cpp trunk/OpenMPT/mptrack/Mptrack.h trunk/OpenMPT/mptrack/View_gen.cpp trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/mptrack_08.vcproj trunk/OpenMPT/mptrack/mptrack_10.vcxproj trunk/OpenMPT/mptrack/mptrack_10.vcxproj.filters trunk/OpenMPT/mptrack/resource.h Modified: trunk/OpenMPT/mptrack/CommandSet.cpp =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/CommandSet.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -654,6 +654,7 @@ DefineKeyCommand(kcSelectRow, 1903, _T("Select Row")); DefineKeyCommand(kcSelectEvent, 1904, _T("Select Event")); DefineKeyCommand(kcEditRedo, 1905, _T("Redo")); + DefineKeyCommand(kcFileAppend, 1906, _T("Append Module")); // Add new key commands here. Modified: trunk/OpenMPT/mptrack/CommandSet.h =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.h 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/CommandSet.h 2014-03-10 19:01:01 UTC (rev 3856) @@ -68,6 +68,7 @@ kcStartFile=kcGlobalStart, kcFileNew=kcGlobalStart, kcFileOpen, + kcFileAppend, kcFileClose, kcFileCloseAll, kcFileSave, Modified: trunk/OpenMPT/mptrack/InputHandler.cpp =================================================================== --- trunk/OpenMPT/mptrack/InputHandler.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/InputHandler.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -458,6 +458,7 @@ case ID_FILE_OPENTEMPLATE: return "Open &Template"; case ID_FILE_CLOSE: s = _T("&Close"); c = kcFileClose; break; case ID_FILE_CLOSEALL: s = _T("C&lose All"); c = kcFileCloseAll; break; + case ID_FILE_APPENDMODULE: s = _T("Appen&d Module..."); c = kcFileAppend; break; case ID_FILE_SAVE: s = _T("&Save"); c = kcFileSave; break; case ID_FILE_SAVE_AS: s = _T("Save &As..."); c = kcFileSaveAs; break; case ID_FILE_SAVEASTEMPLATE:s = _T("Sa&ve as Template"); c = kcFileSaveTemplate; break; @@ -528,6 +529,7 @@ #define UPDATEMENU(id) pMenu->ModifyMenu(id, MF_BYCOMMAND | MF_STRING, id, GetMenuText(id)); pMenu->GetSubMenu(0)->ModifyMenu(0, MF_BYPOSITION | MF_STRING, 0, GetMenuText(FILENEW)); UPDATEMENU(ID_FILE_OPEN); + UPDATEMENU(ID_FILE_APPENDMODULE); UPDATEMENU(ID_FILE_CLOSE); UPDATEMENU(ID_FILE_SAVE); UPDATEMENU(ID_FILE_SAVE_AS); Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -79,6 +79,7 @@ ON_COMMAND(ID_FILE_SAVEASMP3, OnFileMP3Convert) ON_COMMAND(ID_FILE_SAVEMIDI, OnFileMidiConvert) ON_COMMAND(ID_FILE_SAVECOMPAT, OnFileCompatibilitySave) + ON_COMMAND(ID_FILE_APPENDMODULE, OnAppendModule) ON_COMMAND(ID_PLAYER_PLAY, OnPlayerPlay) ON_COMMAND(ID_PLAYER_PAUSE, OnPlayerPause) ON_COMMAND(ID_PLAYER_STOP, OnPlayerStop) @@ -670,6 +671,32 @@ } +void CModDoc::OnAppendModule() +//---------------------------- +{ + FileDialog::PathList files; + CTrackApp::OpenModulesDialog(files); + + CSoundFile source; + ScopedLogCapturer logcapture(*this, "Append Failures"); + + for(size_t counter = 0; counter < files.size(); counter++) + { + CMappedFile mappedFile; + if(mappedFile.Open(files[counter]) && source.Create(mappedFile.GetFile(), CSoundFile::loadCompleteModule)) + { + AppendModule(source); + source.Destroy(); + SetModified(); + } else + { + AddToLog("Unable to open source file!"); + } + } + UpdateAllViews(nullptr, HINT_MODTYPE | HINT_MODSEQUENCE); +} + + BOOL CModDoc::InitializeMod() //--------------------------- { @@ -1125,7 +1152,7 @@ chn.nPos = sampleOffset; // If start position is after loop end, set loop end to sample end so that the sample starts // playing. - if(chn.nLoopEnd < sampleOffset) + if(chn.nLoopEnd < sampleOffset) chn.nLength = chn.nLoopEnd = chn.pModSample->nLength; } @@ -2578,6 +2605,7 @@ case kcFileSaveAs: DoSave(mpt::PathString(), TRUE); break; case kcFileSaveTemplate: OnSaveTemplateModule(); break; case kcFileClose: SafeFileClose(); break; + case kcFileAppend: OnAppendModule(); break; case kcPlayPatternFromCursor: OnPatternPlay(); break; case kcPlayPatternFromStart: OnPatternRestart(); break; Modified: trunk/OpenMPT/mptrack/Moddoc.h =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.h 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/Moddoc.h 2014-03-10 19:01:01 UTC (rev 3856) @@ -265,8 +265,11 @@ bool ConvertInstrumentsToSamples(); bool ConvertSamplesToInstruments(); - UINT RemovePlugs(const std::vector<bool> &keepMask); + PLUGINDEX RemovePlugs(const std::vector<bool> &keepMask); + void ClonePlugin(SNDMIXPLUGIN &target, const SNDMIXPLUGIN &source); + void AppendModule(const CSoundFile &source); + PATTERNINDEX InsertPattern(ORDERINDEX nOrd = ORDERINDEX_INVALID, ROWINDEX nRows = 64); SAMPLEINDEX InsertSample(bool bLimit = false); INSTRUMENTINDEX InsertInstrument(SAMPLEINDEX lSample = SAMPLEINDEX_INVALID, INSTRUMENTINDEX lDuplicate = INSTRUMENTINDEX_INVALID); @@ -472,6 +475,7 @@ afx_msg void OnViewEditHistory(); afx_msg void OnViewMPTHacks(); afx_msg void OnSaveTemplateModule(); + afx_msg void OnAppendModule(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: Modified: trunk/OpenMPT/mptrack/Modedit.cpp =================================================================== --- trunk/OpenMPT/mptrack/Modedit.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/Modedit.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -17,6 +17,11 @@ #include "modsmp_ctrl.h" #include "../common/misc_util.h" #include "../common/StringFixer.h" +// VST cloning +#include "Vstplug.h" +#include "VstPresets.h" +#include "../soundlib/FileReader.h" +#include <sstream> #pragma warning(disable:4244) //"conversion from 'type1' to 'type2', possible loss of data" @@ -542,11 +547,11 @@ } -UINT CModDoc::RemovePlugs(const std::vector<bool> &keepMask) -//---------------------------------------------------------- +PLUGINDEX CModDoc::RemovePlugs(const std::vector<bool> &keepMask) +//--------------------------------------------------------------- { //Remove all plugins whose keepMask[plugindex] is false. - UINT nRemoved = 0; + PLUGINDEX nRemoved = 0; const PLUGINDEX maxPlug = MIN(MAX_MIXPLUGINS, keepMask.size()); for (PLUGINDEX nPlug = 0; nPlug < maxPlug; nPlug++) @@ -584,6 +589,29 @@ } +// Clone a plugin slot (source does not necessarily have to be from the current module) +void CModDoc::ClonePlugin(SNDMIXPLUGIN &target, const SNDMIXPLUGIN &source) +//------------------------------------------------------------------------- +{ + CVstPlugin *srcVstPlug = static_cast<CVstPlugin *>(source.pMixPlugin); + target.Destroy(); + MemCopy(target.Info, source.Info); + if(theApp.GetPluginManager()->CreateMixPlugin(target, GetrSoundFile())) + { + CVstPlugin *newVstPlug = static_cast<CVstPlugin *>(target.pMixPlugin); + newVstPlug->SetCurrentProgram(srcVstPlug->GetCurrentProgram()); + + std::ostringstream f(std::ios::out | std::ios::binary); + if(VSTPresets::SaveFile(f, *srcVstPlug, false)) + { + const std::string data = f.str(); + FileReader file(data.c_str(), data.length()); + VSTPresets::LoadFile(file, *newVstPlug); + } + } +} + + PATTERNINDEX CModDoc::InsertPattern(ORDERINDEX nOrd, ROWINDEX nRows) //------------------------------------------------------------------ { Modified: trunk/OpenMPT/mptrack/Mptrack.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/Mptrack.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -101,7 +101,7 @@ Reporting::Notification(mpt::String::PrintW(L"Opening \"%1\" failed. This can happen if " L"no more documents can be opened or if the file type was not " L"recognised. If the former is true, it's " - L"recommended to close some documents as otherwise crash is likely" + L"recommended to close some documents as otherwise a crash is likely" L"(currently there %2 %3 document%4 open).", filename, (nOdc == 1) ? L"is" : L"are", nOdc, (nOdc == 1) ? L"" : L"s")); } @@ -388,19 +388,19 @@ { mpt::PathString filename; char section[32]; - sprintf(section, (iMidi < 128) ? _T("Midi%d") : _T("Perc%d"), iMidi & 0x7f); + sprintf(section, (iMidi < 128) ? "Midi%d" : "Perc%d", iMidi & 0x7f); filename = file.Read<mpt::PathString>("Midi Library", section, mpt::PathString()); if(forgetSettings) file.Forget("Midi Library", section); // Check for ULTRASND.INI if(filename.empty()) { - LPCSTR pszSection = (iMidi < 128) ? _T("Melodic Patches") : _T("Drum Patches"); + const char *pszSection = (iMidi < 128) ? "Melodic Patches" : "Drum Patches"; sprintf(section, _T("%d"), iMidi & 0x7f); filename = file.Read<mpt::PathString>(pszSection, section, mpt::PathString()); if(forgetSettings) file.Forget(pszSection, section); if(filename.empty()) { - pszSection = (iMidi < 128) ? _T("Melodic Bank 0") : _T("Drum Bank 0"); + pszSection = (iMidi < 128) ? "Melodic Bank 0" : "Drum Bank 0"; filename = file.Read<mpt::PathString>(pszSection, section, mpt::PathString()); if(forgetSettings) file.Forget(pszSection, section); } @@ -1148,9 +1148,11 @@ // -! NEW_FEATURE#0023 -void CTrackApp::OnFileOpen() -//-------------------------- +void CTrackApp::OpenModulesDialog(std::vector<mpt::PathString> &files) +//-------------------------------------------------------------------- { + files.clear(); + std::vector<const char *> modExtensions = CSoundFile::GetSupportedExtensions(true); std::string exts; for(size_t i = 0; i < modExtensions.size(); i++) @@ -1162,69 +1164,47 @@ FileDialog dlg = OpenFileDialog() .AllowMultiSelect() .ExtensionFilter("All Modules|" + exts + - "|" - "Compressed Modules (*.mdz;*.s3z;*.xmz;*.itz" - #ifndef NO_MO3 - ";*.mo3" - #endif - ")|*.mdz;*.s3z;*.xmz;*.itz;*.mdr;*.zip;*.rar;*.lha;*.pma;*.lzs;*.gz" - #ifndef NO_MO3 - ";*.mo3" - #endif - "|" - "ProTracker Modules (*.mod,*.nst)|*.mod;mod.*;*.mdz;*.nst;*.m15|" - "ScreamTracker Modules (*.s3m,*.stm)|*.s3m;*.stm;*.s3z|" - "FastTracker Modules (*.xm)|*.xm;*.xmz|" - "Impulse Tracker Modules (*.it)|*.it;*.itz|" - // -> CODE#0023 - // -> DESC="IT project files (.itp)" - "Impulse Tracker Projects (*.itp)|*.itp;*.itpz|" - // -! NEW_FEATURE#0023 - "OpenMPT Modules (*.mptm)|*.mptm;*.mptmz|" - "Other Modules (mtm,okt,mdl,669,far,...)|*.mtm;*.669;*.ult;*.wow;*.far;*.mdl;*.okt;*.dmf;*.ptm;*.med;*.ams;*.dbm;*.digi;*.dsm;*.umx;*.amf;*.psm;*.mt2;*.gdm;*.imf;*.j2b|" - "Wave Files (*.wav)|*.wav|" - "Midi Files (*.mid,*.rmi)|*.mid;*.rmi;*.smf|" - "All Files (*.*)|*.*||") + "|" + "Compressed Modules (*.mdz;*.s3z;*.xmz;*.itz" +#ifndef NO_MO3 + ";*.mo3" +#endif + ")|*.mdz;*.s3z;*.xmz;*.itz;*.mdr;*.zip;*.rar;*.lha;*.pma;*.lzs;*.gz" +#ifndef NO_MO3 + ";*.mo3" +#endif + "|" + "ProTracker Modules (*.mod,*.nst)|*.mod;mod.*;*.mdz;*.nst;*.m15|" + "ScreamTracker Modules (*.s3m,*.stm)|*.s3m;*.stm;*.s3z|" + "FastTracker Modules (*.xm)|*.xm;*.xmz|" + "Impulse Tracker Modules (*.it)|*.it;*.itz|" + // -> CODE#0023 + // -> DESC="IT project files (.itp)" + "Impulse Tracker Projects (*.itp)|*.itp;*.itpz|" + // -! NEW_FEATURE#0023 + "OpenMPT Modules (*.mptm)|*.mptm;*.mptmz|" + "Other Modules (mtm,okt,mdl,669,far,...)|*.mtm;*.669;*.ult;*.wow;*.far;*.mdl;*.okt;*.dmf;*.ptm;*.med;*.ams;*.dbm;*.digi;*.dsm;*.umx;*.amf;*.psm;*.mt2;*.gdm;*.imf;*.j2b|" + "Wave Files (*.wav)|*.wav|" + "Midi Files (*.mid,*.rmi)|*.mid;*.rmi;*.smf|" + "All Files (*.*)|*.*||") .WorkingDirectory(TrackerDirectories::Instance().GetWorkingDirectory(DIR_MODS)) .FilterIndex(&nFilterIndex); if(!dlg.Show()) return; TrackerDirectories::Instance().SetWorkingDirectory(dlg.GetWorkingDirectory(), DIR_MODS); - const FileDialog::PathList &files = dlg.GetFilenames(); - for(size_t counter = 0; counter < files.size(); counter++) - { - OpenDocumentFile(files[counter]); - } + files = dlg.GetFilenames(); } - -void CTrackApp::RegisterExtensions() -//---------------------------------- +void CTrackApp::OnFileOpen() +//-------------------------- { - HKEY key; - CHAR s[512] = ""; - CHAR exename[512] = ""; - - GetModuleFileName(AfxGetInstanceHandle(), s, sizeof(s)); - GetShortPathName(s, exename, sizeof(exename)); - if (RegCreateKey(HKEY_CLASSES_ROOT, - "OpenMPTFile\\shell\\Edit\\command", - &key) == ERROR_SUCCESS) + FileDialog::PathList files; + OpenModulesDialog(files); + for(size_t counter = 0; counter < files.size(); counter++) { - strcpy(s, exename); - strcat(s, " \"%1\""); - RegSetValueEx(key, NULL, NULL, REG_SZ, (LPBYTE)s, strlen(s)+1); - RegCloseKey(key); + OpenDocumentFile(files[counter]); } - if (RegCreateKey(HKEY_CLASSES_ROOT, - "OpenMPTFile\\shell\\Edit\\ddeexec", - &key) == ERROR_SUCCESS) - { - strcpy(s, "[Edit(\"%1\")]"); - RegSetValueEx(key, NULL, NULL, REG_SZ, (LPBYTE)s, strlen(s)+1); - RegCloseKey(key); - } } Modified: trunk/OpenMPT/mptrack/Mptrack.h =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.h 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/Mptrack.h 2014-03-10 19:01:01 UTC (rev 3856) @@ -225,7 +225,6 @@ static BOOL ExportMidiConfig(const mpt::PathString &filename); static BOOL ImportMidiConfig(SettingsContainer &file, bool forgetSettings = false); static BOOL ExportMidiConfig(SettingsContainer &file); - static void RegisterExtensions(); static BOOL LoadDefaultDLSBanks(); static BOOL SaveDefaultDLSBanks(); static BOOL RemoveDLSBank(UINT nBank); @@ -278,6 +277,8 @@ mpt::PathString AbsolutePathToRelative(const mpt::PathString &path) { return path.AbsolutePathToRelative(GetAppDirPath()); } mpt::PathString RelativePathToAbsolute(const mpt::PathString &path) { return path.RelativePathToAbsolute(GetAppDirPath()); } + static void OpenModulesDialog(std::vector<mpt::PathString> &files); + // Splash Screen protected: void StartSplashScreen(); Modified: trunk/OpenMPT/mptrack/View_gen.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_gen.cpp 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/View_gen.cpp 2014-03-10 19:01:01 UTC (rev 3856) @@ -24,9 +24,6 @@ #include "ChannelManagerDlg.h" #include "SelectPluginDialog.h" #include "../common/StringFixer.h" -#include "VstPresets.h" -#include "../soundlib/FileReader.h" -#include <sstream> IMPLEMENT_SERIAL(CViewGlobals, CFormView, 0) @@ -431,11 +428,11 @@ { ::EnableWindow(::GetDlgItem(m_hWnd, IDC_COMBO9), FALSE); ::EnableWindow(::GetDlgItem(m_hWnd, IDC_CHECK12), FALSE); - } - else{ + } else + { ::EnableWindow(::GetDlgItem(m_hWnd, IDC_COMBO9), TRUE); ::EnableWindow(::GetDlgItem(m_hWnd, IDC_CHECK12), TRUE); - m_CbnSpecialMixProcessing.SetCurSel(pPlugin->GetMixMode()); // update#02 (fix) + m_CbnSpecialMixProcessing.SetCurSel(pPlugin->GetMixMode()); CheckDlgButton(IDC_CHECK12, pPlugin->IsExpandedMix() ? BST_CHECKED : BST_UNCHECKED); } int gain = pPlugin->GetGain(); @@ -1393,28 +1390,6 @@ } -static void ClonePlugin(const SNDMIXPLUGIN &curPlugin, SNDMIXPLUGIN &newPlugin) -//----------------------------------------------------------------------------- -{ - CVstPlugin *curVstPlug = static_cast<CVstPlugin *>(curPlugin.pMixPlugin); - newPlugin.Destroy(); - MemCopy(newPlugin.Info, curPlugin.Info); - if(theApp.GetPluginManager()->CreateMixPlugin(newPlugin, curVstPlug->GetSoundFile())) - { - CVstPlugin *newVstPlug = static_cast<CVstPlugin *>(newPlugin.pMixPlugin); - newVstPlug->SetCurrentProgram(curVstPlug->GetCurrentProgram()); - - std::ostringstream f(std::ios::out | std::ios::binary); - if(VSTPresets::SaveFile(f, *curVstPlug, false)) - { - const std::string data = f.str(); - FileReader file(data.c_str(), data.length()); - VSTPresets::LoadFile(file, *newVstPlug); - } - } -} - - void CViewGlobals::OnClonePlug() //------------------------------ { @@ -1438,7 +1413,7 @@ const SNDMIXPLUGIN &curPlugin = sndFile.m_MixPlugins[m_nCurrentPlugin]; SNDMIXPLUGIN &newPlugin = sndFile.m_MixPlugins[emptySlots[toIndex]]; - ClonePlugin(curPlugin, newPlugin); + GetDocument()->ClonePlugin(newPlugin, curPlugin); if(curPlugin.IsOutputToMaster() || toIndex == emptySlots.size() - 1) { @@ -1528,12 +1503,12 @@ if(!bUxInited) { // retrieve path for uxtheme.dll... - TCHAR szPath[MAX_PATH]; - SHGetSpecialFolderPath(0, szPath, CSIDL_SYSTEM, FALSE); - strncat(szPath, _TEXT("\\uxtheme.dll"), MAX_PATH - (_tcslen(szPath) + 1)); + WCHAR szPath[MAX_PATH]; + SHGetSpecialFolderPathW(0, szPath, CSIDL_SYSTEM, FALSE); + wcsncat(szPath, L"\\uxtheme.dll", MAX_PATH - (wcslen(szPath) + 1)); // ...and try to load it - HMODULE uxlib = LoadLibrary(szPath); + HMODULE uxlib = LoadLibraryW(szPath); if(uxlib) hETDT = (ETDT)GetProcAddress(uxlib, "EnableThemeDialogTexture"); bUxInited = true; Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/mptrack.rc 2014-03-10 19:01:01 UTC (rev 3856) @@ -1975,6 +1975,7 @@ END MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN MENUITEM "Open template", 65535 + MENUITEM "Appen&d Module...", ID_FILE_APPENDMODULE MENUITEM "&Close", ID_FILE_CLOSE MENUITEM "C&lose All", ID_FILE_CLOSEALL MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE Modified: trunk/OpenMPT/mptrack/mptrack_08.vcproj =================================================================== --- trunk/OpenMPT/mptrack/mptrack_08.vcproj 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/mptrack_08.vcproj 2014-03-10 19:01:01 UTC (rev 3856) @@ -229,6 +229,10 @@ > </File> <File + RelativePath=".\AppendModule.cpp" + > + </File> + <File RelativePath="..\sounddsp\AGC.cpp" > </File> Modified: trunk/OpenMPT/mptrack/mptrack_10.vcxproj =================================================================== --- trunk/OpenMPT/mptrack/mptrack_10.vcxproj 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/mptrack_10.vcxproj 2014-03-10 19:01:01 UTC (rev 3856) @@ -515,6 +515,7 @@ <ClCompile Include="..\unarchiver\unrar.cpp" /> <ClCompile Include="..\unarchiver\unzip.cpp" /> <ClCompile Include="AbstractVstEditor.cpp" /> + <ClCompile Include="AppendModule.cpp" /> <ClCompile Include="AutoSaver.cpp" /> <ClCompile Include="Autotune.cpp" /> <ClCompile Include="ChannelManagerDlg.cpp" /> Modified: trunk/OpenMPT/mptrack/mptrack_10.vcxproj.filters =================================================================== --- trunk/OpenMPT/mptrack/mptrack_10.vcxproj.filters 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/mptrack_10.vcxproj.filters 2014-03-10 19:01:01 UTC (rev 3856) @@ -508,6 +508,9 @@ <ClCompile Include="..\sounddev\SoundDeviceThread.cpp"> <Filter>Source Files\sounddev</Filter> </ClCompile> + <ClCompile Include="AppendModule.cpp"> + <Filter>Header Files\mptrack</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\soundlib\Loaders.h"> Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2014-03-10 18:13:55 UTC (rev 3855) +++ trunk/OpenMPT/mptrack/resource.h 2014-03-10 19:01:01 UTC (rev 3856) @@ -1233,6 +1233,7 @@ #define ID_PLUG_RECORD_MIDIOUT 44610 #define ID_MRU_LIST_FIRST 44611 #define ID_MRU_LIST_LAST 44642 +#define ID_FILE_APPENDMODULE 44643 // Next default values for new objects // @@ -1240,7 +1241,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 536 -#define _APS_NEXT_COMMAND_VALUE 44643 +#define _APS_NEXT_COMMAND_VALUE 44644 #define _APS_NEXT_CONTROL_VALUE 2479 #define _APS_NEXT_SYMED_VALUE 901 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |