Skip to content

Commit

Permalink
- Improved error checking for Tone Import
Browse files Browse the repository at this point in the history
- Improved temp CDLC artifact cleanup
- Expanded lyric special character validation (special thanks to iminashi for the character set)
  • Loading branch information
cozy1 committed Apr 4, 2017
1 parent a368319 commit 8f369cc
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 26 deletions.
26 changes: 11 additions & 15 deletions RocksmithTookitGUI/Resources/BetaInfo.rtf
@@ -1,5 +1,5 @@
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f36\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Microsoft Sans Serif;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Microsoft Sans Serif;}
{\f38\froman\fcharset238\fprq2 Times New Roman CE;}{\f39\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f41\froman\fcharset161\fprq2 Times New Roman Greek;}{\f42\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f43\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f44\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f45\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f46\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\f58\fmodern\fcharset238\fprq1 Courier New CE;}{\f59\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f61\fmodern\fcharset161\fprq1 Courier New Greek;}{\f62\fmodern\fcharset162\fprq1 Courier New Tur;}{\f63\fmodern\fcharset177\fprq1 Courier New (Hebrew);}
Expand All @@ -12,24 +12,16 @@
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\listtable{\list\listtemplateid286557838\listsimple{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}}{\listname ;}\listid-2}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}}{\*\rsidtbl \rsid1135783\rsid3548992\rsid5318388\rsid6695381\rsid7281166\rsid9070661\rsid11286050
\rsid12392878\rsid16190240}{\*\generator Microsoft Word 10.0.6612;}{\info{\author PowerUser}{\operator PowerUser}{\creatim\yr2017\mo4\dy3\hr11\min51}{\revtim\yr2017\mo4\dy4\hr13\min42}{\version10}{\edmins7}{\nofpages1}{\nofwords127}{\nofchars726}
{\*\company Cozumel}{\nofcharsws852}{\vern16389}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind4\viewscale100\nolnhtadjtbl\rsidroot5318388 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}}{\*\rsidtbl \rsid1135783\rsid3548992\rsid4917069\rsid5318388\rsid6651412\rsid6695381\rsid7281166
\rsid9070661\rsid11286050\rsid12392878\rsid12393843\rsid16190240}{\*\generator Microsoft Word 10.0.6612;}{\info{\author PowerUser}{\operator PowerUser}{\creatim\yr2017\mo4\dy3\hr11\min51}{\revtim\yr2017\mo4\dy4\hr16\min4}{\version13}{\edmins11}
{\nofpages1}{\nofwords105}{\nofchars601}{\*\company Cozumel}{\nofcharsws705}{\vern16389}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0
\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl\rsidroot5318388 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f36\fs22\cf1\insrsid5318388 This beta update of the toolkit contains some minor changes.
\par }{\b\f36\fs22\ul\cf13\insrsid5318388
\par What's new for the toolkit:}{\f36\fs20\insrsid5318388
\par }{\f36\fs20\cf1\insrsid5318388
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid5318388 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid5318388
Fixed comment preservation for instrument and vocal arrangements.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid5318388 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid5318388
Fixed QuickAdd DLCKey null exception.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid5318388 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid5318388
Vocals Editor now preserves UTF8 encoding of special characters.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid1135783 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid1135783
Validate lyrics in vocals xml arrangement before package generation.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid9070661 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid9070661
Added }{\f36\fs20\cf1\insrsid3548992 ability to quickly do }{\f36\fs20\cf1\insrsid9070661 multiple tone imports }{\f36\fs20\cf1\insrsid3548992 in}{\f36\fs20\cf1\insrsid9070661 CDLC Creator.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid3548992 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {\f36\fs20\cf1\insrsid3548992
Expand All @@ -38,8 +30,12 @@ Fixed Edit Tone so that tone list updates correctly
\f36\fs20\cf1\insrsid11286050 I}{\f36\fs20\cf1\insrsid7281166 mproved error checking }{\f36\fs20\cf1\insrsid11286050 for}{\f36\fs20\cf1\insrsid7281166 Tone Import
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid12392878 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid5318388 {
\f36\fs20\cf1\insrsid12392878 Improved temp artifact cleanup
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f36\fs20\cf1\insrsid5318388
\par Please let the toolkit devs know if experience any issues with this beta (good reports or bug reports). Always make sure you are able to reproduce the issue with the latest toolkit beta before filing bug reports.
\par {\pntext\pard\plain\f3\fs20\cf1\insrsid4917069 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li360\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin360\itap0\pararsid4917069 {\f36\fs20\cf1\insrsid4917069
Expanded lyric special character validation}{\f36\fs20\cf1\insrsid6651412 (special thanks to im}{\f36\fs20\cf1\insrsid12393843 i}{\f36\fs20\cf1\insrsid6651412 n}{\f36\fs20\cf1\insrsid12393843 a}{\f36\fs20\cf1\insrsid6651412 shi}{
\f36\fs20\cf1\insrsid12393843 for character set}{\f36\fs20\cf1\insrsid6651412 )}{\f36\fs20\cf1\insrsid5318388
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid4917069 {\f36\fs20\cf1\insrsid4917069
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f36\fs20\cf1\insrsid5318388 Please let the toolkit devs know if experience any issues with this beta (good reports or bug reports). Always make sure you
are able to reproduce the issue with the latest toolkit beta before filing bug reports.
\par
\par Special Note to Win10 Users: The toolkit auto update feature will not work unless you manually enable TLS 1.2.}{\f36\fs20\insrsid5318388
\par }{\f2\fs20\insrsid5318388
Expand Down
16 changes: 6 additions & 10 deletions RocksmithToolkitLib/Extensions/StringExtensions.cs
Expand Up @@ -181,21 +181,17 @@ public static string GetValidKey(this string value, string songTitle = "", bool
}

/// <summary>
/// Gets a valid lyric
/// Validates lyric using ODLC lyric character set
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string GetValidLyric(this string value)
{
// ODLC lyric character use allows these
// allow use of accents Über ñice \\p{L} diacritics
// allow use of unicode punctuation \\p{P\\{S} not currently implimented
// may need to be escaped \t\n\f\r#$()*+.?[\^{| ... '-' needs to be escaped if not at the beginning or end of regex sequence
// allow use of only these special characters \\-+_ /&:'!?()\"#
// allow use of alphanumerics a-zA-Z0-9
// tested and working ... Üuber!@#$%^&*()_+=-09{}][":';<>.,?/ñice

Regex rgx = new Regex("[^a-zA-Z0-9\\-+_/&'!?()\"#\\p{L} ]*");
// ODLC lyric character set
//!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~¡¢¥¦§¨ª«°²³´•¸¹º»¼½¾¿ÀÁÂÄÅÆÇÈÉÊËÌÎÏÑÒÓÔÖØÙÚÛÜÞßàáâäåæçèéêëìíîïñòóôöøùúûüŒœŠšž„…€™␀★➨
string validAlphaNumerics = "a-zA-Z0-9";
string validSpecialCharacters = "!\"#$%&'()*+,-./:;<=>?@[\\]^_{|}~¡¢¥¦§¨ª«°²³´•¸¹º»¼½¾¿ÀÁÂÄÅÆÇÈÉÊËÌÎÏÑÒÓÔÖØÙÚÛÜÞßàáâäåæçèéêëìíîïñòóôöøùúûüŒœŠšž€™";
Regex rgx = new Regex("[^" + validAlphaNumerics + validSpecialCharacters + "]*");
value = rgx.Replace(value, "");
return value;
}
Expand Down
2 changes: 1 addition & 1 deletion VersionInfo.txt
@@ -1 +1 @@
890dac36
a368319c

0 comments on commit 8f369cc

Please sign in to comment.