From 553308fc292b11959e5ed476406a7ce32e1d9b33 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Wed, 15 Jul 2015 01:12:41 -0500 Subject: [PATCH] Round 6 of wx3 changes A bit of fine tuning the FileDialog on Windows Deleted Visual Studio 2008 project files --- lib-src/FileDialog/win/FileDialogPrivate.cpp | 438 +-- lib-src/FileDialog/win/FileDialogPrivate.h | 30 +- src/export/Export.cpp | 2 +- win/Projects/Audacity/Audacity.vcproj | 2917 ----------------- win/Projects/Audacity/Audacity.vcxproj | 2 - .../Audacity/Audacity.vcxproj.filters | 6 - win/Projects/expat/expat.vcproj | 235 -- win/Projects/filedialog/filedialog.vcproj | 188 -- win/Projects/help/help.vcproj | 65 - win/Projects/libflac++/libflac++.vcproj | 193 -- win/Projects/libflac/libflac.vcproj | 271 -- win/Projects/libid3tag/libid3tag.vcproj | 311 -- win/Projects/libmad/libmad.vcproj | 267 -- win/Projects/libnyquist/libnyquist.vcproj | 1037 ------ win/Projects/libogg/libogg.vcproj | 179 - .../libscorealign/libscorealign.vcproj | 243 -- win/Projects/libsndfile/libsndfile.vcproj | 539 --- win/Projects/libsoxr/libsoxr.vcproj | 207 -- win/Projects/libvamp/libvamp.vcproj | 243 -- win/Projects/libvorbis/libvorbis.vcproj | 339 -- win/Projects/locale/locale.vcproj | 294 -- win/Projects/lv2/lv2.vcproj | 402 --- .../mod-script-pipe/mod-script-pipe.vcproj | 190 -- .../portaudio-v19/portaudio-v19.vcproj | 573 ---- win/Projects/portmidi/portmidi.vcproj | 207 -- win/Projects/portmixer/portmixer.vcproj | 229 -- win/Projects/portsmf/portsmf.vcproj | 205 -- win/Projects/sbsms/sbsms.vcproj | 263 -- win/Projects/soundtouch/soundtouch.vcproj | 233 -- win/Projects/twolame/twolame.vcproj | 338 -- win/audacity-vs2008_OBSOLETE.sln | 190 -- 31 files changed, 194 insertions(+), 10642 deletions(-) delete mode 100644 win/Projects/Audacity/Audacity.vcproj delete mode 100644 win/Projects/expat/expat.vcproj delete mode 100644 win/Projects/filedialog/filedialog.vcproj delete mode 100644 win/Projects/help/help.vcproj delete mode 100644 win/Projects/libflac++/libflac++.vcproj delete mode 100644 win/Projects/libflac/libflac.vcproj delete mode 100644 win/Projects/libid3tag/libid3tag.vcproj delete mode 100644 win/Projects/libmad/libmad.vcproj delete mode 100644 win/Projects/libnyquist/libnyquist.vcproj delete mode 100644 win/Projects/libogg/libogg.vcproj delete mode 100644 win/Projects/libscorealign/libscorealign.vcproj delete mode 100644 win/Projects/libsndfile/libsndfile.vcproj delete mode 100644 win/Projects/libsoxr/libsoxr.vcproj delete mode 100644 win/Projects/libvamp/libvamp.vcproj delete mode 100644 win/Projects/libvorbis/libvorbis.vcproj delete mode 100644 win/Projects/locale/locale.vcproj delete mode 100755 win/Projects/lv2/lv2.vcproj delete mode 100644 win/Projects/mod-script-pipe/mod-script-pipe.vcproj delete mode 100644 win/Projects/portaudio-v19/portaudio-v19.vcproj delete mode 100644 win/Projects/portmidi/portmidi.vcproj delete mode 100644 win/Projects/portmixer/portmixer.vcproj delete mode 100644 win/Projects/portsmf/portsmf.vcproj delete mode 100644 win/Projects/sbsms/sbsms.vcproj delete mode 100644 win/Projects/soundtouch/soundtouch.vcproj delete mode 100644 win/Projects/twolame/twolame.vcproj delete mode 100644 win/audacity-vs2008_OBSOLETE.sln diff --git a/lib-src/FileDialog/win/FileDialogPrivate.cpp b/lib-src/FileDialog/win/FileDialogPrivate.cpp index cb0b99a10..172855ff2 100644 --- a/lib-src/FileDialog/win/FileDialogPrivate.cpp +++ b/lib-src/FileDialog/win/FileDialogPrivate.cpp @@ -1,15 +1,14 @@ +// +// Copied from wxWidgets 3.0.2 and modified for Audacity +// ///////////////////////////////////////////////////////////////////////////// // Name: src/msw/filedlg.cpp // Purpose: wxFileDialog // Author: Julian Smart // Modified by: Leland Lucius // Created: 01/02/97 -// RCS-ID: $Id: FileDialogPrivate.cpp,v 1.19 2010-01-19 09:08:39 llucius Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence -// -// Modified for Audacity to support an additional button on Save dialogs -// ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -28,25 +27,25 @@ #endif #ifndef WX_PRECOMP -#include "wx/utils.h" -#include "wx/msgdlg.h" -#include "wx/filedlg.h" -#include "wx/filefn.h" -#include "wx/intl.h" -#include "wx/log.h" -#include "wx/app.h" + #include + #include + #include + #include + #include + #include + #include + #include + #include #endif -#include "wx/msw/wrapcdlg.h" - #include #include -#include "wx/filename.h" -#include "wx/tokenzr.h" -#include "wx/math.h" - -#include "wx/msw/missing.h" +#include +#include +#include +#include +#include #include "../FileDialog.h" @@ -79,36 +78,91 @@ static wxRect gs_rectDialog(0, 0, 428, 266); IMPLEMENT_CLASS(FileDialog, wxFileDialogBase) +// ---------------------------------------------------------------------------- + +namespace +{ + +#if wxUSE_DYNLIB_CLASS + +typedef BOOL (WINAPI *GetProcessUserModeExceptionPolicy_t)(LPDWORD); +typedef BOOL (WINAPI *SetProcessUserModeExceptionPolicy_t)(DWORD); + +GetProcessUserModeExceptionPolicy_t gs_pfnGetProcessUserModeExceptionPolicy + = (GetProcessUserModeExceptionPolicy_t) -1; + +SetProcessUserModeExceptionPolicy_t gs_pfnSetProcessUserModeExceptionPolicy + = (SetProcessUserModeExceptionPolicy_t) -1; + +DWORD gs_oldExceptionPolicyFlags = 0; + +bool gs_changedPolicy = false; + +#endif // #if wxUSE_DYNLIB_CLASS + +/* +Since Windows 7 by default (callback) exceptions aren't swallowed anymore +with native x64 applications. Exceptions can occur in a file dialog when +using the hook procedure in combination with third-party utilities. +Since Windows 7 SP1 the swallowing of exceptions can be enabled again +by using SetProcessUserModeExceptionPolicy. +*/ +void ChangeExceptionPolicy() +{ +#if wxUSE_DYNLIB_CLASS + gs_changedPolicy = false; + + wxLoadedDLL dllKernel32(wxT("kernel32.dll")); + + if ( gs_pfnGetProcessUserModeExceptionPolicy + == (GetProcessUserModeExceptionPolicy_t) -1) + { + wxDL_INIT_FUNC(gs_pfn, GetProcessUserModeExceptionPolicy, dllKernel32); + wxDL_INIT_FUNC(gs_pfn, SetProcessUserModeExceptionPolicy, dllKernel32); + } + + if ( !gs_pfnGetProcessUserModeExceptionPolicy + || !gs_pfnSetProcessUserModeExceptionPolicy + || !gs_pfnGetProcessUserModeExceptionPolicy(&gs_oldExceptionPolicyFlags) ) + { + return; + } + + if ( gs_pfnSetProcessUserModeExceptionPolicy(gs_oldExceptionPolicyFlags + | 0x1 /* PROCESS_CALLBACK_FILTER_ENABLED */ ) ) + { + gs_changedPolicy = true; + } + +#endif // wxUSE_DYNLIB_CLASS +} + +void RestoreExceptionPolicy() +{ +#if wxUSE_DYNLIB_CLASS + if (gs_changedPolicy) + { + gs_changedPolicy = false; + (void) gs_pfnSetProcessUserModeExceptionPolicy(gs_oldExceptionPolicyFlags); + } +#endif // wxUSE_DYNLIB_CLASS +} + +} // unnamed namespace + // ---------------------------------------------------------------------------- // hook function for moving the dialog // ---------------------------------------------------------------------------- -static UINT_PTR APIENTRY -ParentHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam) +UINT_PTR APIENTRY FileDialog::ParentHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam) { OPENFILENAME *pOfn = reinterpret_cast(GetWindowLongPtr(hDlg, GWLP_USERDATA)); return reinterpret_cast(pOfn->lCustData)->MSWParentHook(hDlg, iMsg, wParam, lParam, pOfn); } -static UINT_PTR APIENTRY -DialogHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam) -{ - OPENFILENAME *pOfn; - - if (iMsg == WM_INITDIALOG) - { - pOfn = reinterpret_cast(lParam); - } - else - { - pOfn = reinterpret_cast(GetWindowLongPtr(hDlg, GWLP_USERDATA)); - } - - return reinterpret_cast(pOfn->lCustData)->MSWDialogHook(hDlg, iMsg, wParam, lParam, pOfn); -} - UINT_PTR FileDialog::MSWParentHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam, OPENFILENAME *pOfn) { + // Allow default handling to process first UINT_PTR ret = CallWindowProc(mParentProc, hDlg, iMsg, wParam, lParam); if (iMsg == WM_SIZE) @@ -116,7 +170,6 @@ UINT_PTR FileDialog::MSWParentHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM l MSWOnSize(mParentDlg, pOfn); } - //return CallWindowProc(mParentProc, hDlg, iMsg, wParam, lParam); return ret; } @@ -134,6 +187,22 @@ void FileDialog::MSWOnSize(HWND hDlg, LPOPENFILENAME pOfn) SetHWND(NULL); } +UINT_PTR APIENTRY FileDialog::DialogHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam) +{ + OPENFILENAME *pOfn; + + if (iMsg == WM_INITDIALOG) + { + pOfn = reinterpret_cast(lParam); + } + else + { + pOfn = reinterpret_cast(GetWindowLongPtr(hDlg, GWLP_USERDATA)); + } + + return reinterpret_cast(pOfn->lCustData)->MSWDialogHook(hDlg, iMsg, wParam, lParam, pOfn); +} + UINT_PTR FileDialog::MSWDialogHook(HWND hDlg, UINT iMsg, WPARAM WXUNUSED(wParam), LPARAM lParam, OPENFILENAME *pOfn) { switch (iMsg) @@ -197,34 +266,35 @@ void FileDialog::MSWOnInitDialog(HWND hDlg, LPOPENFILENAME pOfn) // set HWND for wx SetHWND(mChildDlg); - // Create the root window - wxBoxSizer *verticalSizer = new wxBoxSizer( wxVERTICAL ); - mRoot = new wxPanel(this, wxID_ANY); - if (HasUserPaneCreator()) { - wxPanel *extrapanel = new wxPanel(mRoot, wxID_ANY); - CreateUserPane( extrapanel ); + // Create the root window + wxBoxSizer *verticalSizer = new wxBoxSizer( wxVERTICAL ); + mRoot = new wxPanel(this, wxID_ANY); + + wxPanel *userpane = new wxPanel(mRoot, wxID_ANY); + CreateUserPane(userpane); + + wxBoxSizer *horizontalSizer = new wxBoxSizer(wxHORIZONTAL); + horizontalSizer->Add(userpane, 1, wxEXPAND, 0); + verticalSizer->Add(horizontalSizer, 1, wxEXPAND|wxALL, 0); + + mRoot->SetSizer(verticalSizer); + mRoot->Layout(); + verticalSizer->SetSizeHints(mRoot); + + // This reserves space for the additional panel + wxSize sz = mRoot->GetBestSize(); + SetWindowPos(mChildDlg, + HWND_TOP, + 0, + 0, + sz.GetWidth(), + sz.GetHeight(), + SWP_NOZORDER | SWP_NOMOVE); - wxBoxSizer *horizontalSizer = new wxBoxSizer( wxHORIZONTAL ); - horizontalSizer->Add( extrapanel, 1, wxEXPAND, 5 ); - verticalSizer->Add( horizontalSizer, 1, wxEXPAND|wxALL, 5 ); } - mRoot->SetSizer(verticalSizer); - mRoot->Layout(); - verticalSizer->SetSizeHints(mRoot); - - // This reserves space for the additional panel - wxSize sz = mRoot->GetBestSize(); - SetWindowPos(mChildDlg, - HWND_TOP, - 0, - 0, - sz.GetWidth(), - sz.GetHeight(), - SWP_NOZORDER | SWP_NOMOVE); - SetHWND(NULL); } @@ -244,7 +314,7 @@ void FileDialog::MSWOnInitDone(HWND hDlg, LPOPENFILENAME pOfn) { // set HWND so that our DoMoveWindow() works correctly SetHWND(mChildDlg); -#if 0 + if (m_centreDir) { // now we have the real dialog size, remember it @@ -260,31 +330,16 @@ void FileDialog::MSWOnInitDone(HWND hDlg, LPOPENFILENAME pOfn) { SetPosition(gs_rectDialog.GetPosition()); } -#endif -#if 0 - // Call selection change handler so that update handler will be - // called once with no selection. - MSWOnSelChange(hDlg, pOfn); - // Call selection change handler so that update handler will be - // called once with no selection. + // Filter change event must be sent once initialized MSWOnTypeChange(hDlg, pOfn); -#endif + // we shouldn't destroy this HWND SetHWND(NULL); } void FileDialog::MSWOnFolderChange(HWND hDlg, LPOPENFILENAME pOfn) { - static bool firstTime = true; - - if (firstTime) - { - firstTime = false; - - MSWOnTypeChange(hDlg, pOfn); - } - FilterFiles(mParentDlg, true); wxChar path[wxMAXPATH]; @@ -296,9 +351,9 @@ void FileDialog::MSWOnFolderChange(HWND hDlg, LPOPENFILENAME pOfn) m_dir = path; - wxFileCtrlEvent event( wxEVT_FILECTRL_FOLDERCHANGED, this, GetId() ); - event.SetDirectory( m_dir ); - GetEventHandler()->ProcessEvent( event ); + wxFileCtrlEvent event(wxEVT_FILECTRL_FOLDERCHANGED, this, GetId()); + event.SetDirectory(m_dir); + GetEventHandler()->ProcessEvent(event); } void FileDialog::MSWOnSelChange(HWND hDlg, LPOPENFILENAME pOfn) @@ -330,7 +385,7 @@ void FileDialog::MSWOnSelChange(HWND hDlg, LPOPENFILENAME pOfn) wxFileCtrlEvent event(wxEVT_FILECTRL_SELECTIONCHANGED, this, GetId()); event.SetDirectory(m_dir); event.SetFiles(m_fileNames); - GetEventHandler()->ProcessEvent( event ); + GetEventHandler()->ProcessEvent(event); // we shouldn't destroy this HWND SetHWND(NULL); @@ -346,9 +401,9 @@ void FileDialog::MSWOnTypeChange(HWND hDlg, LPOPENFILENAME pOfn) m_filterIndex = pOfn->nFilterIndex - 1; - wxFileCtrlEvent event( wxEVT_FILECTRL_FILTERCHANGED, this, GetId() ); - event.SetFilterIndex( m_filterIndex ); - GetEventHandler()->ProcessEvent( event ); + wxFileCtrlEvent event(wxEVT_FILECTRL_FILTERCHANGED, this, GetId()); + event.SetFilterIndex(m_filterIndex); + GetEventHandler()->ProcessEvent(event); // we shouldn't destroy this HWND SetHWND(NULL); @@ -541,154 +596,6 @@ void FileDialog::FilterFiles(HWND hwnd, bool refresh) } } -wxString FileDialog::GetFullPath(HWND hwnd, int itm) -{ - IShellFolder *ishell = NULL; - IShellBrowser *ishellbrowser = NULL; // Does not have to be released - IShellView *ishellview = NULL; - IFolderView *ifolderview = NULL; - LPMALLOC imalloc = NULL; - HRESULT hr; - wxString filename = wxEmptyString; - - // Get pointer to the ListView control - HWND lv = ::GetDlgItem(::GetDlgItem(hwnd, lst2), 1); - if (lv == NULL) - { - return filename; - } - - // Get shell's memory allocation interface (must be Release()'d) - hr = SHGetMalloc(&imalloc); - if ((hr != NOERROR) || (imalloc == NULL)) - { - wxASSERT((hr == NOERROR) && (imalloc != NULL)); - return filename; - } - - // Get IShellBrowser interface for current dialog - ishellbrowser = (IShellBrowser*)::SendMessage(hwnd, WM_GETISHELLBROWSER, 0, 0); - if (ishellbrowser) - { - // Get IShellBrowser interface for returned browser - if (ishellbrowser->QueryActiveShellView(&ishellview) == S_OK) - { - // Get the IFolderView interface...available on XP or greater - ishellview->QueryInterface(IID_IFolderView, (void **)&ifolderview); - } - } - - // Init - LVITEM lvi; - wxZeroMemory(lvi); - - // Process once - do - { - // Retrieve the file IDL - lvi.iItem = itm; - lvi.mask = LVIF_PARAM; - if (ListView_GetItem(lv, &lvi) != TRUE) - { - wxASSERT(FALSE); - break; - } - - LPCITEMIDLIST fidl = (LPCITEMIDLIST)lvi.lParam; - - // On Vista, lParam no longer contains the pidl so retrieve it via the - // IFolderView interface. This interface is only available on XP or higher - // so if that limitation isn't workable, use IShellView::GetItemObject() to - // retrieve items. - if (fidl == NULL && ifolderview != NULL) - { - ifolderview->Item(itm, (LPITEMIDLIST *)&fidl); - } - - if (fidl == NULL) - { - wxASSERT(fidl != NULL); - break; - } - - // Retrieve the IShellFolder interface of the parent (must be Release()'d) - if (ishell == NULL) - { - hr = SHBindToParent(fidl, IID_IShellFolder, (void **)&ishell, NULL); - if (!SUCCEEDED(hr)) - { - wxASSERT(SUCCEEDED(hr)); - break; - } - } - - // Get the attributes of the object - DWORD attr = SFGAO_FOLDER | SFGAO_BROWSABLE; - hr = ishell->GetAttributesOf(1, &fidl, &attr); - if (!SUCCEEDED(hr)) - { - wxASSERT(SUCCEEDED(hr)); - break; - } - - // Retrieve the parsable name of the object (includes extension) - STRRET str; - hr = ishell->GetDisplayNameOf(fidl, SHGDN_INFOLDER | SHGDN_FORPARSING, &str); - if (hr != NOERROR) - { - // For some objects, we get back an error of 80070057. I'm assuming this - // means there is no way to represent the name (like some sort of virtual name) - // or I've not used the correct PIDL. But, in either case, it "probably" - // represents some sort of folder (at least in all cases I've seen), so we - // simply allow it to display. - continue; - } - - // Convert result to wxString - switch (str.uType) - { - case STRRET_WSTR: - filename = str.pOleStr; - imalloc->Free(str.pOleStr); - break; - - case STRRET_OFFSET: - filename = wxString(((char *)fidl) + str.uOffset, wxConvISO8859_1); - break; - - case STRRET_CSTR: - filename = wxString(str.cStr, wxConvISO8859_1); - break; - } - } while (false); - - // Release the interface - if (ifolderview) - { - ifolderview->Release(); - } - - // Release the interface - if (ishellview) - { - ishellview->Release(); - } - - // Release the interface - if (ishell) - { - ishell->Release(); - } - - // Release the interface - if (imalloc) - { - imalloc->Release(); - } - - return filename; -} - void FileDialog::ParseFilter(int index) { m_Filters.Empty(); @@ -743,9 +650,6 @@ void FileDialog::Init() // already at the requested size.. (when centering) gs_rectDialog.x = gs_rectDialog.y = 0; - - m_callback = NULL; - m_cbdata = NULL; } void FileDialog::GetPaths(wxArrayString& paths) const @@ -757,7 +661,7 @@ void FileDialog::GetPaths(wxArrayString& paths) const dir += wxT('\\'); size_t count = m_fileNames.GetCount(); - for ( size_t n = 0; n < count; n++ ) + for (size_t n = 0; n < count; n++) { if (wxFileName(m_fileNames[n]).IsAbsolute()) paths.Add(m_fileNames[n]); @@ -779,7 +683,6 @@ void FileDialog::DoGetPosition( int *x, int *y ) const *y = gs_rectDialog.y; } - void FileDialog::DoGetSize(int *width, int *height) const { if (width) @@ -939,10 +842,29 @@ int FileDialog::ShowModal() if (HasFdFlag(wxFD_FILE_MUST_EXIST)) msw_flags |= OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; + /* + If the window has been moved the programmer is probably + trying to center or position it. Thus we set the callback + or hook function so that we can actually adjust the position. + Without moving or centering the dlg, it will just stay + in the upper left of the frame, it does not center + automatically. + */ + if (m_bMovedWindow || HasExtraControlCreator()) // we need these flags. + { + ChangeExceptionPolicy(); + msw_flags |= OFN_EXPLORER|OFN_ENABLEHOOK; +#ifndef __WXWINCE__ + msw_flags |= OFN_ENABLESIZING; +#endif + } + + wxON_BLOCK_EXIT0(RestoreExceptionPolicy); + if (HasFdFlag(wxFD_MULTIPLE)) { // OFN_EXPLORER must always be specified with OFN_ALLOWMULTISELECT - msw_flags |= OFN_ALLOWMULTISELECT; + msw_flags |= OFN_EXPLORER | OFN_ALLOWMULTISELECT; } // if wxCHANGE_DIR flag is not given we shouldn't change the CWD which the @@ -975,9 +897,9 @@ int FileDialog::ShowModal() // Allow Places bar to show on supported platforms of.lStructSize = sizeof(OPENFILENAME); of.hwndOwner = hWnd; - of.lpstrTitle = WXSTRINGCAST m_message; + of.lpstrTitle = m_message.t_str(); of.lpstrFileTitle = titleBuffer; - of.nMaxFileTitle = wxMAXFILE + 1 + wxMAXEXT; // Windows 3.0 and 3.1 + of.nMaxFileTitle = wxMAXFILE + 1 + wxMAXEXT; of.hInstance = (HINSTANCE) lpdt; // Convert forward slashes to backslashes (file selector doesn't like @@ -1057,8 +979,7 @@ int FileDialog::ShowModal() //=== Setting defaultFileName >>========================================= - wxStrncpy( fileNameBuffer, m_fileName.c_str(), wxMAXPATH-1 ); - fileNameBuffer[ wxMAXPATH-1 ] = wxT('\0'); + wxStrlcpy(fileNameBuffer, m_fileName.c_str(), WXSIZEOF(fileNameBuffer)); of.lpstrFile = fileNameBuffer; // holds returned filename of.nMaxFile = wxMAXPATH; @@ -1146,26 +1067,23 @@ int FileDialog::ShowModal() { //=== Adding the correct extension >>================================= m_filterIndex = (int)of.nFilterIndex - 1; - -#if 0 - // LLL: Removed to prevent adding extension during Export - // processing. - - if ( !of.nFileExtension || - (of.nFileExtension && fileNameBuffer[of.nFileExtension] == wxT('\0')) ) + + if (HasFdFlag(FD_NO_ADD_EXTENSION)) { - // User has typed a filename without an extension: - const wxChar* extension = filterBuffer; - int maxFilter = (int)(of.nFilterIndex*2L) - 1; + if ( !of.nFileExtension || + (of.nFileExtension && fileNameBuffer[of.nFileExtension] == wxT('\0')) ) + { + // User has typed a filename without an extension: + const wxChar* extension = filterBuffer; + int maxFilter = (int)(of.nFilterIndex*2L) - 1; - for( int i = 0; i < maxFilter; i++ ) // get extension - extension = extension + wxStrlen( extension ) + 1; + for( int i = 0; i < maxFilter; i++ ) // get extension + extension = extension + wxStrlen( extension ) + 1; - m_fileName = AppendExtension(fileNameBuffer, extension); - wxStrncpy(fileNameBuffer, m_fileName.c_str(), wxMin(m_fileName.Len(), wxMAXPATH-1)); - fileNameBuffer[wxMin(m_fileName.Len(), wxMAXPATH-1)] = wxT('\0'); + m_fileName = AppendExtension(fileNameBuffer, extension); + wxStrlcpy(fileNameBuffer, m_fileName.c_str(), WXSIZEOF(fileNameBuffer)); + } } -#endif m_path = fileNameBuffer; m_fileName = wxFileNameFromPath(fileNameBuffer); m_fileNames.Add(m_fileName); diff --git a/lib-src/FileDialog/win/FileDialogPrivate.h b/lib-src/FileDialog/win/FileDialogPrivate.h index 79beceff1..21822c4b2 100644 --- a/lib-src/FileDialog/win/FileDialogPrivate.h +++ b/lib-src/FileDialog/win/FileDialogPrivate.h @@ -1,15 +1,14 @@ +// +// Copied from wxWidgets 3.0.2 and modified for Audacity +// ///////////////////////////////////////////////////////////////////////////// // Name: wx/msw/filedlg.h // Purpose: wxFileDialog class // Author: Julian Smart // Modified by: Leland Lucius // Created: 01/02/97 -// RCS-ID: $Id: FileDialogPrivate.h,v 1.6 2009-04-11 05:53:09 llucius Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence -// -// Modified for Audacity to support an additional button on Save dialogs -// ///////////////////////////////////////////////////////////////////////////// #ifndef _WIN_FILEDIALOGPRIVATE_H_ @@ -40,17 +39,10 @@ class FileDialog : public FileDialogBase void OnSize(wxSizeEvent & e); virtual int ShowModal(); +protected: // ----------------------------------------- // wxMSW-specific implementation from now on // ----------------------------------------- - - // - virtual UINT_PTR MSWDialogHook(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam, OPENFILENAME *pOfn); - - // - virtual UINT_PTR MSWParentHook(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam, OPENFILENAME *pOfn); - -protected: #if !(defined(__SMARTPHONE__) && defined(__WXWINCE__)) virtual void DoMoveWindow(int x, int y, int width, int height); @@ -66,6 +58,17 @@ private: void FilterFiles(HWND hwnd, bool refresh); void ParseFilter(int index); + // Parent dialog hook + static UINT_PTR APIENTRY ParentHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam); + virtual UINT_PTR MSWParentHook(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam, OPENFILENAME *pOfn); + + // Message handlers for the parent dialog + virtual void MSWOnSize(HWND hwnd, LPOPENFILENAME pOfn); + + // Child dialog hook + static UINT_PTR APIENTRY DialogHook(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam); + virtual UINT_PTR MSWDialogHook(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam, OPENFILENAME *pOfn); + // Message handlers for the child dialog virtual void MSWOnInitDialog(HWND hwnd, LPOPENFILENAME pOfn); virtual void MSWOnDestroy(HWND hwnd, LPOPENFILENAME pOfn); @@ -74,9 +77,6 @@ private: virtual void MSWOnSelChange(HWND hwnd, LPOPENFILENAME pOfn); virtual void MSWOnTypeChange(HWND hwnd, LPOPENFILENAME pOfn); - // Message handlers for the child dialog - virtual void MSWOnSize(HWND hwnd, LPOPENFILENAME pOfn); - private: wxArrayString m_fileNames; diff --git a/src/export/Export.cpp b/src/export/Export.cpp index 3a9938904..424eb25cb 100644 --- a/src/export/Export.cpp +++ b/src/export/Export.cpp @@ -926,7 +926,7 @@ void Exporter::CreateUserPane(wxWindow *parent) void Exporter::OnFilterChanged(wxFileCtrlEvent & evt) { int index = evt.GetFilterIndex(); -printf("index = %d\n", index); + if (index < 0 || index >= (int) mPages.GetCount()) { return; diff --git a/win/Projects/Audacity/Audacity.vcproj b/win/Projects/Audacity/Audacity.vcproj deleted file mode 100644 index 2144e8558..000000000 --- a/win/Projects/Audacity/Audacity.vcproj +++ /dev/null @@ -1,2917 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/Audacity/Audacity.vcxproj b/win/Projects/Audacity/Audacity.vcxproj index 118479da1..18ad434bd 100755 --- a/win/Projects/Audacity/Audacity.vcxproj +++ b/win/Projects/Audacity/Audacity.vcxproj @@ -134,7 +134,6 @@ - @@ -409,7 +408,6 @@ - diff --git a/win/Projects/Audacity/Audacity.vcxproj.filters b/win/Projects/Audacity/Audacity.vcxproj.filters index 0f504b0f7..be01e8333 100755 --- a/win/Projects/Audacity/Audacity.vcxproj.filters +++ b/win/Projects/Audacity/Audacity.vcxproj.filters @@ -105,9 +105,6 @@ src - - src - src @@ -881,9 +878,6 @@ src - - src - src diff --git a/win/Projects/expat/expat.vcproj b/win/Projects/expat/expat.vcproj deleted file mode 100644 index 2eb9bd3e7..000000000 --- a/win/Projects/expat/expat.vcproj +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/filedialog/filedialog.vcproj b/win/Projects/filedialog/filedialog.vcproj deleted file mode 100644 index 2c19f9f8d..000000000 --- a/win/Projects/filedialog/filedialog.vcproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/help/help.vcproj b/win/Projects/help/help.vcproj deleted file mode 100644 index f93196429..000000000 --- a/win/Projects/help/help.vcproj +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libflac++/libflac++.vcproj b/win/Projects/libflac++/libflac++.vcproj deleted file mode 100644 index e68dc6d7b..000000000 --- a/win/Projects/libflac++/libflac++.vcproj +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libflac/libflac.vcproj b/win/Projects/libflac/libflac.vcproj deleted file mode 100644 index 793f9ebc0..000000000 --- a/win/Projects/libflac/libflac.vcproj +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libid3tag/libid3tag.vcproj b/win/Projects/libid3tag/libid3tag.vcproj deleted file mode 100644 index e4ecfd877..000000000 --- a/win/Projects/libid3tag/libid3tag.vcproj +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libmad/libmad.vcproj b/win/Projects/libmad/libmad.vcproj deleted file mode 100644 index 0a372d0d4..000000000 --- a/win/Projects/libmad/libmad.vcproj +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libnyquist/libnyquist.vcproj b/win/Projects/libnyquist/libnyquist.vcproj deleted file mode 100644 index 9743c5ee5..000000000 --- a/win/Projects/libnyquist/libnyquist.vcproj +++ /dev/null @@ -1,1037 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libogg/libogg.vcproj b/win/Projects/libogg/libogg.vcproj deleted file mode 100644 index 5510e0636..000000000 --- a/win/Projects/libogg/libogg.vcproj +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libscorealign/libscorealign.vcproj b/win/Projects/libscorealign/libscorealign.vcproj deleted file mode 100644 index f2632e904..000000000 --- a/win/Projects/libscorealign/libscorealign.vcproj +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libsndfile/libsndfile.vcproj b/win/Projects/libsndfile/libsndfile.vcproj deleted file mode 100644 index 70ca18b25..000000000 --- a/win/Projects/libsndfile/libsndfile.vcproj +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libsoxr/libsoxr.vcproj b/win/Projects/libsoxr/libsoxr.vcproj deleted file mode 100644 index 1ca55cb8b..000000000 --- a/win/Projects/libsoxr/libsoxr.vcproj +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libvamp/libvamp.vcproj b/win/Projects/libvamp/libvamp.vcproj deleted file mode 100644 index c0219c55b..000000000 --- a/win/Projects/libvamp/libvamp.vcproj +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/libvorbis/libvorbis.vcproj b/win/Projects/libvorbis/libvorbis.vcproj deleted file mode 100644 index 0f8751f0d..000000000 --- a/win/Projects/libvorbis/libvorbis.vcproj +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/locale/locale.vcproj b/win/Projects/locale/locale.vcproj deleted file mode 100644 index d13e1be22..000000000 --- a/win/Projects/locale/locale.vcproj +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/lv2/lv2.vcproj b/win/Projects/lv2/lv2.vcproj deleted file mode 100755 index 7e807b28f..000000000 --- a/win/Projects/lv2/lv2.vcproj +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/mod-script-pipe/mod-script-pipe.vcproj b/win/Projects/mod-script-pipe/mod-script-pipe.vcproj deleted file mode 100644 index 59ac760e2..000000000 --- a/win/Projects/mod-script-pipe/mod-script-pipe.vcproj +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/portaudio-v19/portaudio-v19.vcproj b/win/Projects/portaudio-v19/portaudio-v19.vcproj deleted file mode 100644 index 627eee974..000000000 --- a/win/Projects/portaudio-v19/portaudio-v19.vcproj +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/portmidi/portmidi.vcproj b/win/Projects/portmidi/portmidi.vcproj deleted file mode 100644 index 3da4b8b13..000000000 --- a/win/Projects/portmidi/portmidi.vcproj +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/portmixer/portmixer.vcproj b/win/Projects/portmixer/portmixer.vcproj deleted file mode 100644 index 28392ea2f..000000000 --- a/win/Projects/portmixer/portmixer.vcproj +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/portsmf/portsmf.vcproj b/win/Projects/portsmf/portsmf.vcproj deleted file mode 100644 index f4f897791..000000000 --- a/win/Projects/portsmf/portsmf.vcproj +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/sbsms/sbsms.vcproj b/win/Projects/sbsms/sbsms.vcproj deleted file mode 100644 index 523215bd5..000000000 --- a/win/Projects/sbsms/sbsms.vcproj +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/soundtouch/soundtouch.vcproj b/win/Projects/soundtouch/soundtouch.vcproj deleted file mode 100644 index 01c26e9af..000000000 --- a/win/Projects/soundtouch/soundtouch.vcproj +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/Projects/twolame/twolame.vcproj b/win/Projects/twolame/twolame.vcproj deleted file mode 100644 index f0507f2c3..000000000 --- a/win/Projects/twolame/twolame.vcproj +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/audacity-vs2008_OBSOLETE.sln b/win/audacity-vs2008_OBSOLETE.sln deleted file mode 100644 index 10da9bd3d..000000000 --- a/win/audacity-vs2008_OBSOLETE.sln +++ /dev/null @@ -1,190 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Audacity", "Projects\Audacity\Audacity.vcproj", "{1D64095C-F936-4FCF-B609-56E9DDF941FA}" - ProjectSection(ProjectDependencies) = postProject - {8A1C2514-85DD-4AE2-9CF3-3183B66C537D} = {8A1C2514-85DD-4AE2-9CF3-3183B66C537D} - {EC3F5835-C486-4970-8A6B-A0700F4B3637} = {EC3F5835-C486-4970-8A6B-A0700F4B3637} - {6C7DC635-26FB-419A-B69A-7ECBBB068245} = {6C7DC635-26FB-419A-B69A-7ECBBB068245} - {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400} = {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400} - {B28C9F3F-FF0E-4FEC-844C-685390B8AC06} = {B28C9F3F-FF0E-4FEC-844C-685390B8AC06} - {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE} = {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE} - {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192} = {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192} - {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF} = {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF} - {5284D863-3813-479F-BBF0-AC234E216BC6} = {5284D863-3813-479F-BBF0-AC234E216BC6} - {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952} = {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952} - {727D6675-67EE-4D0B-9DC1-177A0AF741F0} = {727D6675-67EE-4D0B-9DC1-177A0AF741F0} - {7ABA0F80-94AE-4E82-AB89-2E1258212D59} = {7ABA0F80-94AE-4E82-AB89-2E1258212D59} - {D5AB2D87-51DC-4277-A9AB-2A6018D0E947} = {D5AB2D87-51DC-4277-A9AB-2A6018D0E947} - {3A76129B-55AB-4D54-BAA7-08F63ED52569} = {3A76129B-55AB-4D54-BAA7-08F63ED52569} - {A52BBEA5-8B02-4147-8734-5D9BBF4D1177} = {A52BBEA5-8B02-4147-8734-5D9BBF4D1177} - {8C69F7B6-684F-48D9-9057-8912CA3DAA8B} = {8C69F7B6-684F-48D9-9057-8912CA3DAA8B} - {D96C7BE1-E3F1-4767-BBBB-320E082CE425} = {D96C7BE1-E3F1-4767-BBBB-320E082CE425} - {7AA41BED-41B0-427A-9148-DEA40549D158} = {7AA41BED-41B0-427A-9148-DEA40549D158} - {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E} = {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E} - {F00717F2-67C8-44E1-AF00-541DFA9CB7F2} = {F00717F2-67C8-44E1-AF00-541DFA9CB7F2} - {A939AAF8-44F1-4CE7-9DD0-7A6E99814856} = {A939AAF8-44F1-4CE7-9DD0-7A6E99814856} - {A939AAF8-44F1-4CE7-9DD0-7A6E99814857} = {A939AAF8-44F1-4CE7-9DD0-7A6E99814857} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "soundtouch", "Projects\soundtouch\soundtouch.vcproj", "{EC3F5835-C486-4970-8A6B-A0700F4B3637}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libflac", "Projects\libflac\libflac.vcproj", "{6C7DC635-26FB-419A-B69A-7ECBBB068245}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libflac++", "Projects\libflac++\libflac++.vcproj", "{B28C9F3F-FF0E-4FEC-844C-685390B8AC06}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libid3tag", "Projects\libid3tag\libid3tag.vcproj", "{D96C7BE1-E3F1-4767-BBBB-320E082CE425}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmad", "Projects\libmad\libmad.vcproj", "{A52BBEA5-8B02-4147-8734-5D9BBF4D1177}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnyquist", "Projects\libnyquist\libnyquist.vcproj", "{7AA41BED-41B0-427A-9148-DEA40549D158}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libresample", "Projects\libresample\libresample.vcproj", "{F00717F2-67C8-44E1-AF00-541DFA9CB7F2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsamplerate", "Projects\libsamplerate\libsamplerate.vcproj", "{3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsndfile", "Projects\libsndfile\libsndfile.vcproj", "{F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libogg", "Projects\libogg\libogg.vcproj", "{A939AAF8-44F1-4CE7-9DD0-7A6E99814857}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portmixer", "Projects\portmixer\portmixer.vcproj", "{3A76129B-55AB-4D54-BAA7-08F63ED52569}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbis", "Projects\libvorbis\libvorbis.vcproj", "{727D6675-67EE-4D0B-9DC1-177A0AF741F0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portaudio-v19", "Projects\portaudio-v19\portaudio-v19.vcproj", "{7ABA0F80-94AE-4E82-AB89-2E1258212D59}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "locale", "Projects\locale\locale.vcproj", "{BE9F28C5-058A-45F5-B2C1-D077BC058AAE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filedialog", "Projects\filedialog\filedialog.vcproj", "{5284D863-3813-479F-BBF0-AC234E216BC6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvamp", "Projects\libvamp\libvamp.vcproj", "{A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "twolame", "Projects\twolame\twolame.vcproj", "{8C69F7B6-684F-48D9-9057-8912CA3DAA8B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portsmf", "Projects\portsmf\portsmf.vcproj", "{8A1C2514-85DD-4AE2-9CF3-3183B66C537D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sbsms", "Projects\sbsms\sbsms.vcproj", "{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libscorealign", "Projects\libscorealign\libscorealign.vcproj", "{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portmidi", "Projects\portmidi\portmidi.vcproj", "{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "help", "Projects\help\help.vcproj", "{02F94A40-586A-4403-8464-13B50801FFEC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsoxr", "Projects\libsoxr\libsoxr.vcproj", "{AF9AD75C-4785-4432-BAC3-ADAB1E7F1192}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lv2", "Projects\lv2\lv2.vcproj", "{0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "Projects\expat\expat.vcproj", "{A939AAF8-44F1-4CE7-9DD0-7A6E99814856}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1D64095C-F936-4FCF-B609-56E9DDF941FA}.Debug|Win32.ActiveCfg = Debug|Win32 - {1D64095C-F936-4FCF-B609-56E9DDF941FA}.Debug|Win32.Build.0 = Debug|Win32 - {1D64095C-F936-4FCF-B609-56E9DDF941FA}.Release|Win32.ActiveCfg = Release|Win32 - {1D64095C-F936-4FCF-B609-56E9DDF941FA}.Release|Win32.Build.0 = Release|Win32 - {EC3F5835-C486-4970-8A6B-A0700F4B3637}.Debug|Win32.ActiveCfg = Debug|Win32 - {EC3F5835-C486-4970-8A6B-A0700F4B3637}.Debug|Win32.Build.0 = Debug|Win32 - {EC3F5835-C486-4970-8A6B-A0700F4B3637}.Release|Win32.ActiveCfg = Release|Win32 - {EC3F5835-C486-4970-8A6B-A0700F4B3637}.Release|Win32.Build.0 = Release|Win32 - {6C7DC635-26FB-419A-B69A-7ECBBB068245}.Debug|Win32.ActiveCfg = Debug|Win32 - {6C7DC635-26FB-419A-B69A-7ECBBB068245}.Debug|Win32.Build.0 = Debug|Win32 - {6C7DC635-26FB-419A-B69A-7ECBBB068245}.Release|Win32.ActiveCfg = Release|Win32 - {6C7DC635-26FB-419A-B69A-7ECBBB068245}.Release|Win32.Build.0 = Release|Win32 - {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}.Debug|Win32.ActiveCfg = Debug|Win32 - {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}.Debug|Win32.Build.0 = Debug|Win32 - {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}.Release|Win32.ActiveCfg = Release|Win32 - {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}.Release|Win32.Build.0 = Release|Win32 - {D96C7BE1-E3F1-4767-BBBB-320E082CE425}.Debug|Win32.ActiveCfg = Debug|Win32 - {D96C7BE1-E3F1-4767-BBBB-320E082CE425}.Debug|Win32.Build.0 = Debug|Win32 - {D96C7BE1-E3F1-4767-BBBB-320E082CE425}.Release|Win32.ActiveCfg = Release|Win32 - {D96C7BE1-E3F1-4767-BBBB-320E082CE425}.Release|Win32.Build.0 = Release|Win32 - {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}.Debug|Win32.ActiveCfg = Debug|Win32 - {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}.Debug|Win32.Build.0 = Debug|Win32 - {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}.Release|Win32.ActiveCfg = Release|Win32 - {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}.Release|Win32.Build.0 = Release|Win32 - {7AA41BED-41B0-427A-9148-DEA40549D158}.Debug|Win32.ActiveCfg = Debug|Win32 - {7AA41BED-41B0-427A-9148-DEA40549D158}.Debug|Win32.Build.0 = Debug|Win32 - {7AA41BED-41B0-427A-9148-DEA40549D158}.Release|Win32.ActiveCfg = Release|Win32 - {7AA41BED-41B0-427A-9148-DEA40549D158}.Release|Win32.Build.0 = Release|Win32 - {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}.Debug|Win32.ActiveCfg = Debug|Win32 - {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}.Debug|Win32.Build.0 = Debug|Win32 - {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}.Release|Win32.ActiveCfg = Release|Win32 - {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}.Release|Win32.Build.0 = Release|Win32 - {3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}.Debug|Win32.ActiveCfg = Debug|Win32 - {3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}.Release|Win32.ActiveCfg = Release|Win32 - {3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}.Release|Win32.Build.0 = Release|Win32 - {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}.Debug|Win32.ActiveCfg = Debug|Win32 - {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}.Debug|Win32.Build.0 = Debug|Win32 - {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}.Release|Win32.ActiveCfg = Release|Win32 - {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}.Release|Win32.Build.0 = Release|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}.Debug|Win32.ActiveCfg = Debug|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}.Debug|Win32.Build.0 = Debug|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}.Release|Win32.ActiveCfg = Release|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}.Release|Win32.Build.0 = Release|Win32 - {3A76129B-55AB-4D54-BAA7-08F63ED52569}.Debug|Win32.ActiveCfg = Debug|Win32 - {3A76129B-55AB-4D54-BAA7-08F63ED52569}.Debug|Win32.Build.0 = Debug|Win32 - {3A76129B-55AB-4D54-BAA7-08F63ED52569}.Release|Win32.ActiveCfg = Release|Win32 - {3A76129B-55AB-4D54-BAA7-08F63ED52569}.Release|Win32.Build.0 = Release|Win32 - {727D6675-67EE-4D0B-9DC1-177A0AF741F0}.Debug|Win32.ActiveCfg = Debug|Win32 - {727D6675-67EE-4D0B-9DC1-177A0AF741F0}.Debug|Win32.Build.0 = Debug|Win32 - {727D6675-67EE-4D0B-9DC1-177A0AF741F0}.Release|Win32.ActiveCfg = Release|Win32 - {727D6675-67EE-4D0B-9DC1-177A0AF741F0}.Release|Win32.Build.0 = Release|Win32 - {7ABA0F80-94AE-4E82-AB89-2E1258212D59}.Debug|Win32.ActiveCfg = Debug|Win32 - {7ABA0F80-94AE-4E82-AB89-2E1258212D59}.Debug|Win32.Build.0 = Debug|Win32 - {7ABA0F80-94AE-4E82-AB89-2E1258212D59}.Release|Win32.ActiveCfg = Release|Win32 - {7ABA0F80-94AE-4E82-AB89-2E1258212D59}.Release|Win32.Build.0 = Release|Win32 - {BE9F28C5-058A-45F5-B2C1-D077BC058AAE}.Debug|Win32.ActiveCfg = Debug|Win32 - {BE9F28C5-058A-45F5-B2C1-D077BC058AAE}.Release|Win32.ActiveCfg = Release|Win32 - {BE9F28C5-058A-45F5-B2C1-D077BC058AAE}.Release|Win32.Build.0 = Release|Win32 - {5284D863-3813-479F-BBF0-AC234E216BC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {5284D863-3813-479F-BBF0-AC234E216BC6}.Debug|Win32.Build.0 = Debug|Win32 - {5284D863-3813-479F-BBF0-AC234E216BC6}.Release|Win32.ActiveCfg = Release|Win32 - {5284D863-3813-479F-BBF0-AC234E216BC6}.Release|Win32.Build.0 = Release|Win32 - {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}.Debug|Win32.ActiveCfg = Debug|Win32 - {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}.Debug|Win32.Build.0 = Debug|Win32 - {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}.Release|Win32.ActiveCfg = Release|Win32 - {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}.Release|Win32.Build.0 = Release|Win32 - {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}.Debug|Win32.ActiveCfg = Debug|Win32 - {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}.Debug|Win32.Build.0 = Debug|Win32 - {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}.Release|Win32.ActiveCfg = Release|Win32 - {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}.Release|Win32.Build.0 = Release|Win32 - {8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Debug|Win32.Build.0 = Debug|Win32 - {8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Release|Win32.ActiveCfg = Release|Win32 - {8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Release|Win32.Build.0 = Release|Win32 - {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Debug|Win32.ActiveCfg = Debug|Win32 - {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Debug|Win32.Build.0 = Debug|Win32 - {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Release|Win32.ActiveCfg = Release|Win32 - {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Release|Win32.Build.0 = Release|Win32 - {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Debug|Win32.Build.0 = Debug|Win32 - {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Release|Win32.ActiveCfg = Release|Win32 - {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Release|Win32.Build.0 = Release|Win32 - {D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Debug|Win32.ActiveCfg = Debug|Win32 - {D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Debug|Win32.Build.0 = Debug|Win32 - {D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Release|Win32.ActiveCfg = Release|Win32 - {D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Release|Win32.Build.0 = Release|Win32 - {02F94A40-586A-4403-8464-13B50801FFEC}.Debug|Win32.ActiveCfg = Debug|Win32 - {02F94A40-586A-4403-8464-13B50801FFEC}.Release|Win32.ActiveCfg = Release|Win32 - {02F94A40-586A-4403-8464-13B50801FFEC}.Release|Win32.Build.0 = Release|Win32 - {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192}.Debug|Win32.ActiveCfg = Debug|Win32 - {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192}.Debug|Win32.Build.0 = Debug|Win32 - {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192}.Release|Win32.ActiveCfg = Release|Win32 - {AF9AD75C-4785-4432-BAC3-ADAB1E7F1192}.Release|Win32.Build.0 = Release|Win32 - {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}.Debug|Win32.ActiveCfg = Debug|Win32 - {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}.Debug|Win32.Build.0 = Debug|Win32 - {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}.Release|Win32.ActiveCfg = Release|Win32 - {0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}.Release|Win32.Build.0 = Release|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814856}.Debug|Win32.ActiveCfg = Debug|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814856}.Debug|Win32.Build.0 = Debug|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814856}.Release|Win32.ActiveCfg = Release|Win32 - {A939AAF8-44F1-4CE7-9DD0-7A6E99814856}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal