From 08c066362472aa43821d85d3aeca40676d6874c9 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Tue, 30 Jun 2015 16:05:11 -0500 Subject: [PATCH 1/9] Added removal of ".git" and ".gitignore" when building minsrc tarball And removed SVN bits... --- scripts/maketarball.sh | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/scripts/maketarball.sh b/scripts/maketarball.sh index 3ed4a90dd..f0d596a65 100755 --- a/scripts/maketarball.sh +++ b/scripts/maketarball.sh @@ -64,21 +64,9 @@ function cleanfulltree { exit ${status} fi - printf "Checking SVN status ... " - revision="$(svnversion)" - regex="[[:digit:]]*" - if [[ ${revision} =~ ${regex} ]] ; then - echo "Unmodified working copy at revision ${revision}" - else - echo "Modified working copy! Release tarballs must be built from an unmodified working copy! Exiting" - exit - fi - - printf "removing SVN directories ... " - find . -depth -name '.svn' -execdir rm -rf '{}' ';' - # -depth is needed to avoid find trying to examine directories it has just - # deleted. - # The sort of quotes used is critical! + printf "removing GIT directories ... " + myrmrvf $1 .git .gitignore + myrmrvf $1 .gitignore printf "Done\n" printf "removing vim / emacs temp files ... " @@ -106,13 +94,13 @@ function cleanfulltree { myrmrvf $1 dox printf "Done\n" - printf "removing unused libraries from SVN tree ..." + printf "removing unused libraries from GIT tree ..." myrmrvf $1 lib-src/portmidi myrmrvf $1 lib-src/libscorealign printf "Done\n" } -# remove all the things we have in SVN for convenience rather than being +# remove all the things we have in GIT for convenience rather than being # necessary function slimtree { printf "removing todo lists ... " From 4025f27764a334652b91dbab07147b6c95061568 Mon Sep 17 00:00:00 2001 From: James Crook Date: Thu, 2 Jul 2015 07:40:07 +0100 Subject: [PATCH 2/9] Sourceforge -> audacityteam (sidebar.html) The sidebar.html file is used in the local copy of the manual and needs to point to our website, now that we have moved from sourceforge. --- scripts/mw2html_audacity/sidebar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mw2html_audacity/sidebar.html b/scripts/mw2html_audacity/sidebar.html index afc6c8674..95e9ecff3 100644 --- a/scripts/mw2html_audacity/sidebar.html +++ b/scripts/mw2html_audacity/sidebar.html @@ -4,7 +4,7 @@ From 2b24de978cd6e511dd22ae4b3bba308b0820a67e Mon Sep 17 00:00:00 2001 From: James Crook Date: Sat, 4 Jul 2015 22:38:31 +0100 Subject: [PATCH 3/9] Possible fix for VST crash when not in debugger. Suspected that the array is not big enough. --- src/PluginManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index f9f860d5a..5984c4fe9 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -2826,7 +2826,9 @@ wxString PluginManager::ConvertID(const PluginID & ID) if (ID.StartsWith(wxT("base64:"))) { wxString id = ID.Mid(7); - char *buf = new char[id.Length() / 4 * 3]; + //JKC: Quick fix. I am guessing this buffer is too small. + //char *buf = new char[id.Length() / 4 * 3]; + char *buf = new char[id.Length() +8 ]; id = wxString::FromUTF8(buf, b64decode(id, buf)); delete [] buf; return id; From d7d1de46f8f304c0d9645b804cb724800c58d639 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Sun, 5 Jul 2015 13:44:14 -0500 Subject: [PATCH 4/9] Revert "Possible fix for VST crash when not in debugger." This reverts commit 2b24de978cd6e511dd22ae4b3bba308b0820a67e. --- src/PluginManager.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 5984c4fe9..f9f860d5a 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -2826,9 +2826,7 @@ wxString PluginManager::ConvertID(const PluginID & ID) if (ID.StartsWith(wxT("base64:"))) { wxString id = ID.Mid(7); - //JKC: Quick fix. I am guessing this buffer is too small. - //char *buf = new char[id.Length() / 4 * 3]; - char *buf = new char[id.Length() +8 ]; + char *buf = new char[id.Length() / 4 * 3]; id = wxString::FromUTF8(buf, b64decode(id, buf)); delete [] buf; return id; From 22c8f7fb762bd22ab71fc30e6157b5f8385b0271 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Sun, 5 Jul 2015 13:48:59 -0500 Subject: [PATCH 5/9] Pretty sure this is the fix for the crashing VSTs --- src/effects/VST/VSTEffect.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp index dbf5a2148..3ada1a00b 100644 --- a/src/effects/VST/VSTEffect.cpp +++ b/src/effects/VST/VSTEffect.cpp @@ -1521,7 +1521,8 @@ VSTEffect::VSTEffect(const wxString & path, VSTEffect *master) mTimeInfo.flags = kVstTempoValid | kVstNanosValid; // UI - + + mGui = false; mNames = NULL; mSliders = NULL; mDisplays = NULL; @@ -3598,7 +3599,7 @@ void VSTEffect::BuildPlain() void VSTEffect::RefreshParameters(int skip) { - if (mGui) + if (!mNames) { return; } From f434789f342a8eba60da4fb29934d737a1f1d3c1 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Wed, 8 Jul 2015 10:13:34 -0500 Subject: [PATCH 6/9] Fix crash in new binary AutoSave Would happen when writing tags with a value whose length was greater than 65535 due to the use of shorts. Now uses int instead. --- src/AutoRecovery.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/AutoRecovery.cpp b/src/AutoRecovery.cpp index 8a88210fb..29f434aa1 100644 --- a/src/AutoRecovery.cpp +++ b/src/AutoRecovery.cpp @@ -457,7 +457,7 @@ void AutoSaveFile::WriteAttr(const wxString & name, const wxString & value) mBuffer.PutC(FT_String); WriteName(name); - short len = value.Length() * sizeof(wxChar); + int len = value.Length() * sizeof(wxChar); mBuffer.Write(&len, sizeof(len)); mBuffer.Write(value.c_str(), len); @@ -525,7 +525,7 @@ void AutoSaveFile::WriteData(const wxString & value) { mBuffer.PutC(FT_Data); - short len = value.Length() * sizeof(wxChar); + int len = value.Length() * sizeof(wxChar); mBuffer.Write(&len, sizeof(len)); mBuffer.Write(value.c_str(), len); @@ -535,7 +535,7 @@ void AutoSaveFile::Write(const wxString & value) { mBuffer.PutC(FT_Raw); - short len = value.Length() * sizeof(wxChar); + int len = value.Length() * sizeof(wxChar); mBuffer.Write(&len, sizeof(len)); mBuffer.Write(value.c_str(), len); @@ -595,6 +595,7 @@ void AutoSaveFile::CheckSpace(wxMemoryOutputStream & os) void AutoSaveFile::WriteName(const wxString & name) { + wxASSERT(name.Length() * sizeof(wxChar) <= SHRT_MAX); short len = name.Length() * sizeof(wxChar); short id; @@ -771,7 +772,7 @@ bool AutoSaveFile::Decode(const wxString & fileName) case FT_String: { - short len; + int len; in.Read(&id, sizeof(id)); in.Read(&len, sizeof(len)); @@ -866,7 +867,7 @@ bool AutoSaveFile::Decode(const wxString & fileName) case FT_Data: { - short len; + int len; in.Read(&len, sizeof(len)); wxChar *val = new wxChar[len / sizeof(wxChar)]; @@ -879,7 +880,7 @@ bool AutoSaveFile::Decode(const wxString & fileName) case FT_Raw: { - short len; + int len; in.Read(&len, sizeof(len)); wxChar *val = new wxChar[len / sizeof(wxChar)]; From ce9626d31cea87c43beb23a1a696fa9e60fa5a1b Mon Sep 17 00:00:00 2001 From: Steve Daulton Date: Wed, 8 Jul 2015 18:47:33 +0100 Subject: [PATCH 7/9] Minimal fix for bug 1060 Minimal fix for bug 1060 made with agreement of RM. No documentation changes required. Further fix/enhancements will wait until after 2.1.1 is released. --- src/effects/Repeat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/effects/Repeat.cpp b/src/effects/Repeat.cpp index 53f6319d6..4e82c67c7 100644 --- a/src/effects/Repeat.cpp +++ b/src/effects/Repeat.cpp @@ -38,7 +38,7 @@ // Define keys, defaults, minimums, and maximums for the effect parameters // // Name Type Key Def Min Max Scale -Param( Count, int, XO("Count"), 10, 2, INT_MAX, 1 ); +Param( Count, int, XO("Count"), 10, 1, INT_MAX, 1 ); BEGIN_EVENT_TABLE(EffectRepeat, wxEvtHandler) EVT_TEXT(wxID_ANY, EffectRepeat::OnRepeatTextChange) From 6423610f0145cc952230222c83da4428c2b3fea5 Mon Sep 17 00:00:00 2001 From: James Crook Date: Fri, 10 Jul 2015 09:28:24 +0100 Subject: [PATCH 8/9] Bug 1061 - Chinese (Simplified) Missing Previously we looked at wxLocale language names for matches to our names. The change to use the language set in the installer reversed this. However looking up zh (which is Chinese) in wxLocale yields zh_TW. So instead we now look up zh_CN. --- src/Languages.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Languages.cpp b/src/Languages.cpp index 76d00e1b5..08a85d233 100644 --- a/src/Languages.cpp +++ b/src/Languages.cpp @@ -156,7 +156,9 @@ void GetLanguages(wxArrayString &langCodes, wxArrayString &langNames) localLanguageName[wxT("tr")] = wxT("Turkce"); localLanguageName[wxT("uk")] = wxT("Ukrainska"); localLanguageName[wxT("vi")] = wxT("Vietnamese"); - localLanguageName[wxT("zh")] = wxT("Chinese (Simplified)"); + // If we look up zh in wxLocale we get zh_TW hence we MUST look + // for zh_CN. + localLanguageName[wxT("zh_CN")] = wxT("Chinese (Simplified)"); localLanguageName[wxT("zh_TW")] = wxT("Chinese (Traditional)"); wxArrayString audacityPathList = wxGetApp().audacityPathList; @@ -164,6 +166,8 @@ void GetLanguages(wxArrayString &langCodes, wxArrayString &langNames) wxT(INSTALL_PREFIX)), audacityPathList); + // For each language in our list we look for a corresponding entry in + // wxLocale. for (LangHash::iterator i = localLanguageName.begin(); i != localLanguageName.end(); i++) @@ -234,10 +238,10 @@ void GetLanguages(wxArrayString &langCodes, wxArrayString &langNames) // Sort - unsigned int j; - for(j=0; j Date: Sat, 11 Jul 2015 11:02:22 +0100 Subject: [PATCH 9/9] Corsican and Nepali not supported. (P3) Commented out co and ne languages as they are not supported by Audacity. --- win/audacity.iss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/win/audacity.iss b/win/audacity.iss index eb99df7b2..78712c6a5 100755 --- a/win/audacity.iss +++ b/win/audacity.iss @@ -238,7 +238,7 @@ Name: "bn"; MessagesFile: "{#Get('Bengali.islu')}" Name: "bs"; MessagesFile: "{#Get('Bosnian.isl')}" Name: "ca"; MessagesFile: "compiler:Languages\Catalan.isl" Name: "ca_ES0valencia"; MessagesFile: "{#Get('Valencian.isl')}" -Name: "co"; MessagesFile: "compiler:Languages\Corsican.isl" +;Name: "co"; MessagesFile: "compiler:Languages\Corsican.isl" Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" Name: "cy"; MessagesFile: "{#Dummy('Welsh', '0452')}" Name: "da"; MessagesFile: "compiler:Languages\Danish.isl" @@ -267,7 +267,7 @@ Name: "lt"; MessagesFile: "{#Get('Lithuanian.isl')}" Name: "mk"; MessagesFile: "{#Get('Macedonian.isl')}" Name: "my"; MessagesFile: "{#Dummy('Burmese', '0409')}" Name: "nb"; MessagesFile: "compiler:Languages\Norwegian.isl" -Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu" +;Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu" Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "oc"; MessagesFile: "{#Get('Occitan.isl')}" Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" @@ -317,7 +317,7 @@ bn.ResetPrefs=Reset Preferences bs.ResetPrefs=Reset Preferences ca.ResetPrefs=Voleu restablir les preferències? ca_ES0valencia.ResetPrefs=Reset Preferences -co.ResetPrefs=Reset Preferences +;co.ResetPrefs=Reset Preferences cs.ResetPrefs=Vynulovat nastavení? cy.ResetPrefs=Reset Preferences da.ResetPrefs=Gendan indstillinger? @@ -346,7 +346,7 @@ lt.ResetPrefs=Reset Preferences mk.ResetPrefs=Reset Preferences my.ResetPrefs=Reset Preferences nb.ResetPrefs=Reset Preferences -ne.ResetPrefs=Reset Preferences +;ne.ResetPrefs=Reset Preferences nl.ResetPrefs=Voorkeuren herstellen? oc.ResetPrefs=Reset Preferences pl.ResetPrefs=Zresetować ustawienia?