Merge branch 'readonly-p4-master'
diff --git a/docs/JET_Authoring_Guidelines.htm b/docs/JET_Authoring_Guidelines.htm
new file mode 100644
index 0000000..2ade2e3
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines.htm
@@ -0,0 +1,2442 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<!--[if !mso]>

+<style>

+v\:* {behavior:url(#default#VML);}

+o\:* {behavior:url(#default#VML);}

+w\:* {behavior:url(#default#VML);}

+.shape {behavior:url(#default#VML);}

+</style>

+<![endif]-->

+<title>JET Authoring Guidelines</title>

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+<!--[if gte mso 9]><xml>

+ <o:DocumentProperties>

+  <o:Author>Jennifer Hruska</o:Author>

+  <o:Description>Copyright 2009</o:Description>

+  <o:Template>techdoc.dot</o:Template>

+  <o:LastAuthor>Jennifer Hruska</o:LastAuthor>

+  <o:Revision>7</o:Revision>

+  <o:TotalTime>1339</o:TotalTime>

+  <o:LastPrinted>2006-02-09T12:22:00Z</o:LastPrinted>

+  <o:Created>2009-03-17T23:33:00Z</o:Created>

+  <o:LastSaved>2009-03-19T14:21:00Z</o:LastSaved>

+  <o:Pages>1</o:Pages>

+  <o:Words>3524</o:Words>

+  <o:Characters>20089</o:Characters>

+  <o:Company>Sonic Network, Inc. (SONiVOX)</o:Company>

+  <o:Lines>167</o:Lines>

+  <o:Paragraphs>47</o:Paragraphs>

+  <o:CharactersWithSpaces>23566</o:CharactersWithSpaces>

+  <o:Version>11.9999</o:Version>

+ </o:DocumentProperties>

+ <o:CustomDocumentProperties>

+  <o:_AdHocReviewCycleID dt:dt="float">-1127674187</o:_AdHocReviewCycleID>

+  <o:_EmailSubject dt:dt="string">New lib doc</o:_EmailSubject>

+  <o:_AuthorEmail dt:dt="string">jhruska@sonicnetworkinc.com</o:_AuthorEmail>

+  <o:_AuthorEmailDisplayName dt:dt="string">Jennifer Hruska</o:_AuthorEmailDisplayName>

+  <o:_ReviewingToolsShownOnce dt:dt="string"></o:_ReviewingToolsShownOnce>

+ </o:CustomDocumentProperties>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:WordDocument>

+  <w:ActiveWritingStyle Lang="EN-US" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:ActiveWritingStyle Lang="EN-IE" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:ActiveWritingStyle Lang="EN-GB" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:DocumentProtectionNotEnforced>TrackedChanges</w:DocumentProtectionNotEnforced>

+  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>

+  <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>

+  <w:UseMarginsForDrawingGridOrigin/>

+  <w:ValidateAgainstSchemas/>

+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>

+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

+  <w:Compatibility>

+   <w:FootnoteLayoutLikeWW8/>

+   <w:ShapeLayoutLikeWW8/>

+   <w:AlignTablesRowByRow/>

+   <w:ForgetLastTabAlignment/>

+   <w:LayoutRawTableWidth/>

+   <w:LayoutTableRowsApart/>

+   <w:UseWord97LineBreakingRules/>

+   <w:SelectEntireFieldWithStartOrEnd/>

+   <w:UseWord2002TableStyleRules/>

+  </w:Compatibility>

+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>

+ </w:WordDocument>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">

+ </w:LatentStyles>

+</xml><![endif]--><!--[if !mso]><object

+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>

+<style>

+st1\:*{behavior:url(#ieooui) }

+</style>

+<![endif]-->

+<style>

+<!--

+ /* Font Definitions */

+ @font-face

+	{font-family:Tahoma;

+	panose-1:2 11 6 4 3 5 4 4 2 4;

+	mso-font-charset:0;

+	mso-generic-font-family:swiss;

+	mso-font-pitch:variable;

+	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}

+ /* Style Definitions */

+ p.MsoNormal, li.MsoNormal, div.MsoNormal

+	{mso-style-update:auto;

+	mso-style-parent:"";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+h1

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.3in;

+	text-indent:-.3in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:1;

+	mso-list:l11 level1 lfo1;

+	tab-stops:list .3in;

+	font-size:14.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-font-kerning:14.0pt;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h2

+	{mso-style-update:auto;

+	mso-style-link:"Heading 2 Char";

+	mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.4in;

+	text-indent:-.4in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:2;

+	mso-list:l11 level2 lfo1;

+	tab-stops:list .4in;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h3

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.5in;

+	text-indent:-.5in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:3;

+	mso-list:l11 level3 lfo1;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;}

+h4

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.6in;

+	text-indent:-.6in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:4;

+	mso-list:l11 level4 lfo1;

+	tab-stops:list .6in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:"Courier New";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h5

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.7in;

+	text-indent:-.7in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:5;

+	mso-list:l11 level5 lfo1;

+	tab-stops:list .7in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:normal;}

+h6

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.8in;

+	text-indent:-.8in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:6;

+	mso-list:l11 level6 lfo1;

+	tab-stops:list .8in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:normal;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoHeading7, li.MsoHeading7, div.MsoHeading7

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.9in;

+	text-indent:-.9in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:7;

+	mso-list:l11 level7 lfo1;

+	tab-stops:list .9in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoHeading8, li.MsoHeading8, div.MsoHeading8

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:1.0in;

+	text-indent:-1.0in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:8;

+	mso-list:l11 level8 lfo1;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoHeading9, li.MsoHeading9, div.MsoHeading9

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:1.1in;

+	text-indent:-1.1in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:9;

+	mso-list:l11 level9 lfo1;

+	tab-stops:list 1.1in;

+	font-size:9.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoIndex1, li.MsoIndex1, div.MsoIndex1

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:11.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex2, li.MsoIndex2, div.MsoIndex2

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:22.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex3, li.MsoIndex3, div.MsoIndex3

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:33.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex4, li.MsoIndex4, div.MsoIndex4

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:44.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex5, li.MsoIndex5, div.MsoIndex5

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:55.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex6, li.MsoIndex6, div.MsoIndex6

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:66.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex7, li.MsoIndex7, div.MsoIndex7

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:77.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex8, li.MsoIndex8, div.MsoIndex8

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:88.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex9, li.MsoIndex9, div.MsoIndex9

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:99.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc1, li.MsoToc1, div.MsoToc1

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc2, li.MsoToc2, div.MsoToc2

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:10.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc3, li.MsoToc3, div.MsoToc3

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:20.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc4, li.MsoToc4, div.MsoToc4

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:30.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc5, li.MsoToc5, div.MsoToc5

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:40.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc6, li.MsoToc6, div.MsoToc6

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:50.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc7, li.MsoToc7, div.MsoToc7

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:60.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc8, li.MsoToc8, div.MsoToc8

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:70.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc9, li.MsoToc9, div.MsoToc9

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:80.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoNormalIndent, li.MsoNormalIndent, div.MsoNormalIndent

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoCommentText, li.MsoCommentText, div.MsoCommentText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoHeader, li.MsoHeader, div.MsoHeader

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoFooter, li.MsoFooter, div.MsoFooter

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading

+	{mso-style-noshow:yes;

+	mso-style-next:"Index 1";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoCaption, li.MsoCaption, div.MsoCaption

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:6.0pt;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoTof, li.MsoTof, div.MsoTof

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:22.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-22.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEnvelopeAddress, li.MsoEnvelopeAddress, div.MsoEnvelopeAddress

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:2.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	mso-element:frame;

+	mso-element-frame-width:5.5in;

+	mso-element-frame-height:99.0pt;

+	mso-element-frame-hspace:9.0pt;

+	mso-element-wrap:auto;

+	mso-element-anchor-horizontal:page;

+	mso-element-left:center;

+	mso-element-top:bottom;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEnvelopeReturn, li.MsoEnvelopeReturn, div.MsoEnvelopeReturn

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToa, li.MsoToa, div.MsoToa

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:11.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoMacroText, li.MsoMacroText, div.MsoMacroText

+	{mso-style-noshow:yes;

+	mso-style-parent:"";

+	margin:0in;

+	margin-bottom:.0001pt;

+	text-align:justify;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:24.0pt 48.0pt 1.0in 96.0pt 120.0pt 2.0in 168.0pt 192.0pt 3.0in;

+	font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToaHeading, li.MsoToaHeading, div.MsoToaHeading

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:6.0pt;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoList, li.MsoList, div.MsoList

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet, li.MsoListBullet, div.MsoListBullet

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l9 level1 lfo2;

+	tab-stops:list .25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber, li.MsoListNumber, div.MsoListNumber

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l8 level1 lfo3;

+	tab-stops:list .25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList2, li.MsoList2, div.MsoList2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList3, li.MsoList3, div.MsoList3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList4, li.MsoList4, div.MsoList4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList5, li.MsoList5, div.MsoList5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet2, li.MsoListBullet2, div.MsoListBullet2

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l7 level1 lfo4;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet3, li.MsoListBullet3, div.MsoListBullet3

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l6 level1 lfo5;

+	tab-stops:list .75in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet4, li.MsoListBullet4, div.MsoListBullet4

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l5 level1 lfo6;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet5, li.MsoListBullet5, div.MsoListBullet5

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l4 level1 lfo7;

+	tab-stops:list 1.25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber2, li.MsoListNumber2, div.MsoListNumber2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l3 level1 lfo8;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber3, li.MsoListNumber3, div.MsoListNumber3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l2 level1 lfo9;

+	tab-stops:list .75in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber4, li.MsoListNumber4, div.MsoListNumber4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l1 level1 lfo10;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber5, li.MsoListNumber5, div.MsoListNumber5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l0 level1 lfo11;

+	tab-stops:list 1.25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoTitle, li.MsoTitle, div.MsoTitle

+	{margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:1;

+	font-size:16.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-font-kerning:14.0pt;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoClosing, li.MsoClosing, div.MsoClosing

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:3.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSignature, li.MsoSignature, div.MsoSignature

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:3.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText, li.MsoBodyText, div.MsoBodyText

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue, li.MsoListContinue, div.MsoListContinue

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue2, li.MsoListContinue2, div.MsoListContinue2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.5in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue3, li.MsoListContinue3, div.MsoListContinue3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.75in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue4, li.MsoListContinue4, div.MsoListContinue4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:1.0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue5, li.MsoListContinue5, div.MsoListContinue5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:1.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoMessageHeader, li.MsoMessageHeader, div.MsoMessageHeader

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.75in;

+	mso-pagination:widow-orphan lines-together;

+	background:#CCCCCC;

+	mso-shading:windowtext;

+	mso-pattern:gray-20 auto;

+	border:none;

+	mso-border-alt:solid windowtext .75pt;

+	padding:0in;

+	mso-padding-alt:1.0pt 1.0pt 1.0pt 1.0pt;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:2;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSalutation, li.MsoSalutation, div.MsoSalutation

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoDate, li.MsoDate, div.MsoDate

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextFirstIndent, li.MsoBodyTextFirstIndent, div.MsoBodyTextFirstIndent

+	{mso-style-parent:"Body Text";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	text-indent:10.5pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextFirstIndent2, li.MsoBodyTextFirstIndent2, div.MsoBodyTextFirstIndent2

+	{mso-style-parent:"Body Text Indent";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	text-indent:10.5pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoNoteHeading, li.MsoNoteHeading, div.MsoNoteHeading

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	line-height:200%;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	line-height:200%;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent3, li.MsoBodyTextIndent3, div.MsoBodyTextIndent3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBlockText, li.MsoBlockText, div.MsoBlockText

+	{margin-top:0in;

+	margin-right:1.0in;

+	margin-bottom:6.0pt;

+	margin-left:1.0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+a:link, span.MsoHyperlink

+	{color:blue;

+	text-decoration:underline;

+	text-underline:single;}

+a:visited, span.MsoHyperlinkFollowed

+	{color:purple;

+	text-decoration:underline;

+	text-underline:single;}

+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	background:navy;

+	font-size:10.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+p.MsoPlainText, li.MsoPlainText, div.MsoPlainText

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+p

+	{mso-margin-top-alt:auto;

+	margin-right:0in;

+	mso-margin-bottom-alt:auto;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	font-size:9.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";}

+p.MsoAcetate, li.MsoAcetate, div.MsoAcetate

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+span.Heading2Char

+	{mso-style-name:"Heading 2 Char";

+	mso-style-locked:yes;

+	mso-style-link:"Heading 2";

+	mso-ansi-font-size:12.0pt;

+	font-family:Arial;

+	mso-ascii-font-family:Arial;

+	mso-hansi-font-family:Arial;

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;

+	mso-fareast-language:EN-US;

+	mso-bidi-language:AR-SA;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.Body, li.Body, div.Body

+	{mso-style-name:Body;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;}

+p.FunctionPrototype, li.FunctionPrototype, div.FunctionPrototype

+	{mso-style-name:"Function Prototype";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:9.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+ /* Page Definitions */

+ @page

+	{mso-footnote-separator:url("JET_Authoring_Guidelines_files/header.htm") fs;

+	mso-footnote-continuation-separator:url("JET_Authoring_Guidelines_files/header.htm") fcs;

+	mso-endnote-separator:url("JET_Authoring_Guidelines_files/header.htm") es;

+	mso-endnote-continuation-separator:url("JET_Authoring_Guidelines_files/header.htm") ecs;}

+@page Section1

+	{size:595.45pt 841.7pt;

+	margin:1.1in 1.25in 1.1in 1.25in;

+	mso-header-margin:.5in;

+	mso-footer-margin:.4in;

+	mso-title-page:yes;

+	mso-even-header:url("JET_Authoring_Guidelines_files/header.htm") eh1;

+	mso-header:url("JET_Authoring_Guidelines_files/header.htm") h1;

+	mso-even-footer:url("JET_Authoring_Guidelines_files/header.htm") ef1;

+	mso-footer:url("JET_Authoring_Guidelines_files/header.htm") f1;

+	mso-first-footer:url("JET_Authoring_Guidelines_files/header.htm") ff1;

+	mso-paper-source:0;}

+div.Section1

+	{page:Section1;}

+ /* List Definitions */

+ @list l0

+	{mso-list-id:-132;

+	mso-list-type:simple;

+	mso-list-template-ids:-762522690;}

+@list l0:level1

+	{mso-level-style-link:"List Number 5";

+	mso-level-tab-stop:1.25in;

+	mso-level-number-position:left;

+	margin-left:1.25in;

+	text-indent:-.25in;}

+@list l1

+	{mso-list-id:-131;

+	mso-list-type:simple;

+	mso-list-template-ids:828031264;}

+@list l1:level1

+	{mso-level-style-link:"List Number 4";

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-.25in;}

+@list l2

+	{mso-list-id:-130;

+	mso-list-type:simple;

+	mso-list-template-ids:1556219102;}

+@list l2:level1

+	{mso-level-style-link:"List Number 3";

+	mso-level-tab-stop:.75in;

+	mso-level-number-position:left;

+	margin-left:.75in;

+	text-indent:-.25in;}

+@list l3

+	{mso-list-id:-129;

+	mso-list-type:simple;

+	mso-list-template-ids:1492152526;}

+@list l3:level1

+	{mso-level-style-link:"List Number 2";

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l4

+	{mso-list-id:-128;

+	mso-list-type:simple;

+	mso-list-template-ids:373048972;}

+@list l4:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 5";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:1.25in;

+	mso-level-number-position:left;

+	margin-left:1.25in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l5

+	{mso-list-id:-127;

+	mso-list-type:simple;

+	mso-list-template-ids:-1897731242;}

+@list l5:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 4";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l6

+	{mso-list-id:-126;

+	mso-list-type:simple;

+	mso-list-template-ids:213402420;}

+@list l6:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 3";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.75in;

+	mso-level-number-position:left;

+	margin-left:.75in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l7

+	{mso-list-id:-125;

+	mso-list-type:simple;

+	mso-list-template-ids:-1230352896;}

+@list l7:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 2";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l8

+	{mso-list-id:-120;

+	mso-list-type:simple;

+	mso-list-template-ids:-1099685254;}

+@list l8:level1

+	{mso-level-style-link:"List Number";

+	mso-level-tab-stop:.25in;

+	mso-level-number-position:left;

+	margin-left:.25in;

+	text-indent:-.25in;}

+@list l9

+	{mso-list-id:-119;

+	mso-list-type:simple;

+	mso-list-template-ids:-1849629656;}

+@list l9:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.25in;

+	mso-level-number-position:left;

+	margin-left:.25in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l10

+	{mso-list-id:794131674;

+	mso-list-type:hybrid;

+	mso-list-template-ids:751336376 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}

+@list l10:level1

+	{mso-level-number-format:bullet;

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l10:level2

+	{mso-level-number-format:bullet;

+	mso-level-text:o;

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;

+	font-family:"Courier New";}

+@list l10:level3

+	{mso-level-tab-stop:1.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level4

+	{mso-level-tab-stop:2.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level5

+	{mso-level-tab-stop:2.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level6

+	{mso-level-tab-stop:3.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level7

+	{mso-level-tab-stop:3.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level8

+	{mso-level-tab-stop:4.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l10:level9

+	{mso-level-tab-stop:4.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11

+	{mso-list-id:1411350143;

+	mso-list-template-ids:1661217014;}

+@list l11:level1

+	{mso-level-style-link:"Heading 1";

+	mso-level-text:%1;

+	mso-level-tab-stop:.3in;

+	mso-level-number-position:left;

+	margin-left:.3in;

+	text-indent:-.3in;}

+@list l11:level2

+	{mso-level-style-link:"Heading 2";

+	mso-level-text:"%1\.%2";

+	mso-level-tab-stop:.4in;

+	mso-level-number-position:left;

+	margin-left:.4in;

+	text-indent:-.4in;}

+@list l11:level3

+	{mso-level-style-link:"Heading 3";

+	mso-level-text:"%1\.%2\.%3";

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	margin-left:.5in;

+	text-indent:-.5in;}

+@list l11:level4

+	{mso-level-style-link:"Heading 4";

+	mso-level-text:"%1\.%2\.%3\.%4";

+	mso-level-tab-stop:.6in;

+	mso-level-number-position:left;

+	margin-left:.6in;

+	text-indent:-.6in;}

+@list l11:level5

+	{mso-level-style-link:"Heading 5";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5";

+	mso-level-tab-stop:.7in;

+	mso-level-number-position:left;

+	margin-left:.7in;

+	text-indent:-.7in;}

+@list l11:level6

+	{mso-level-style-link:"Heading 6";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";

+	mso-level-tab-stop:.8in;

+	mso-level-number-position:left;

+	margin-left:.8in;

+	text-indent:-.8in;}

+@list l11:level7

+	{mso-level-style-link:"Heading 7";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";

+	mso-level-tab-stop:.9in;

+	mso-level-number-position:left;

+	margin-left:.9in;

+	text-indent:-.9in;}

+@list l11:level8

+	{mso-level-style-link:"Heading 8";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-1.0in;}

+@list l11:level9

+	{mso-level-style-link:"Heading 9";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";

+	mso-level-tab-stop:1.1in;

+	mso-level-number-position:left;

+	margin-left:1.1in;

+	text-indent:-1.1in;}

+ol

+	{margin-bottom:0in;}

+ul

+	{margin-bottom:0in;}

+-->

+</style>

+<!--[if gte mso 10]>

+<style>

+ /* Style Definitions */

+ table.MsoNormalTable

+	{mso-style-name:"Table Normal";

+	mso-tstyle-rowband-size:0;

+	mso-tstyle-colband-size:0;

+	mso-style-noshow:yes;

+	mso-style-parent:"";

+	mso-padding-alt:0in 5.4pt 0in 5.4pt;

+	mso-para-margin:0in;

+	mso-para-margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-ansi-language:#0400;

+	mso-fareast-language:#0400;

+	mso-bidi-language:#0400;}

+</style>

+<![endif]--><!--[if gte mso 9]><xml>

+ <o:shapedefaults v:ext="edit" spidmax="9218" fill="f" fillcolor="white"

+  stroke="f">

+  <v:fill color="white" on="f"/>

+  <v:stroke on="f"/>

+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>

+ <o:shapelayout v:ext="edit">

+  <o:idmap v:ext="edit" data="1"/>

+ </o:shapelayout></xml><![endif]-->

+</head>

+

+<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

+	    

+<pre>

+   Copyright (C) 2009 The Android Open Source Project

+

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+         http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+</pre>

+

+<div class=Section1>

+

+<p class=MsoTitle align=left style='text-align:left'><a name="_Toc203298075"></a><a

+name="_Toc203292246"><span style='mso-bookmark:_Toc203298075'><span lang=EN-IE

+style='font-size:20.0pt'>JET™ Content Authoring Guidelines</span></span></a><span

+lang=EN-IE style='font-size:20.0pt'><o:p></o:p></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><a name="_Toc194831970"></a><a

+name="_Toc194830086"></a><a name="_Toc194740814"></a><a name="_Toc194738556"></a><a

+name="_Toc203298078"></a><a name="_Toc203292249"><span style='mso-bookmark:

+_Toc203298078'><span style='mso-bookmark:_Toc194738556'><span style='mso-bookmark:

+_Toc194740814'><span style='mso-bookmark:_Toc194830086'><span style='mso-bookmark:

+_Toc194831970'><span lang=EN-IE>JET Interactive Music Engine</span></span></span></span></span></span></a></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span lang=EN-IE

+style='font-size:12.0pt'>Vrs 1.0<o:p></o:p></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span lang=EN-IE

+style='font-size:12.0pt'>Authored by SONiVOX<o:p></o:p></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span lang=EN-IE

+style='font-size:12.0pt'><a href="http://www.sonivoxrocks.com/">www.sonivoxrocks.com</a><o:p></o:p></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span lang=EN-IE

+style='font-size:12.0pt'>Copyright 2009 Sonic Network, Inc.<o:p></o:p></span></p>

+

+<p class=MsoCommentText><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoHeader><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc482161515"></a><a name="_Toc203298082"><span style='mso-bookmark:

+_Toc482161515'><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:

+Arial'><span style='mso-list:Ignore'>1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Introduction</span></span></a></h1>

+

+<h2><a name="_Toc203298083"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Overview</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>This document contains content creation

+guidelines for composers and sound designers authoring music and sound effects

+for the SONiVOX JET platform.<span style='mso-spacerun:yes'>  </span>JET is an

+interactive music player for small embedded devices, including the Google Android

+platform. It allows applications to include interactive music soundtracks, in <st1:place

+w:st="on">MIDI</st1:place> format, that respond in real-time to game play

+events and user interaction. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>JET works in conjunction with SONiVOX’s

+Embedded Audio Synthesizer (EAS) which is the <st1:place w:st="on">MIDI</st1:place>

+playback device for Android.<span style='mso-spacerun:yes'>  </span>Both the

+JET and EAS engines are integrated into the Android embedded platform as well

+as inherent in the JET Creator application. As such, the JET content author can

+be sure that the playback will sound exactly the same in both the JET Creator

+and the final Android application playing back on Android mobile devices.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The JET content author works in up to three

+different applications to create JET content; a standard <st1:place w:st="on">MIDI</st1:place>

+sequencer (Logic, Cubase, etc.), optionally a DLS2 instrument editor (Awave),

+and the JET Creator application to add and audition JET interactive elements. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The final result is a .jet file that the

+content author gives to the application programmer for use in the game or

+application.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298084"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Abbreviations and Common Terms</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>It is important to use a common set of

+terms to minimize confusion. Since JET uses <st1:place w:st="on">MIDI</st1:place>

+in a unique way, normal industry terms may not always suffice. Here is the

+definition of terms as they are used in this document and in the JET Creator

+application:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Channel</span></i><span

+lang=EN-IE>: MIDI data associated with a specific <st1:place w:st="on">MIDI</st1:place>

+channel. Standard MIDI allows for 16 channels of <st1:place w:st="on">MIDI</st1:place>

+data each of which are typically associated with a specific instrument. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Controller</span></i><span

+lang=EN-IE>: A <st1:place w:st="on">MIDI</st1:place> event consisting of a

+channel number, controller number, and a controller value. The <st1:place

+w:st="on">MIDI</st1:place> spec associates many controller numbers with

+specific functions, such as volume, expression, sustain pedal, etc. JET also

+uses controller events as a means of embedding special control information in a

+<st1:place w:st="on">MIDI</st1:place> sequence to provide for audio

+synchronization.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>DAW</span></i><span

+lang=EN-IE>: Digital Audio Workstation. A common term for <st1:place w:st="on">MIDI</st1:place>

+and audio sequencing applications such as Logic, SONAR, Cubase and others. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>EAS:</span></i><span

+lang=EN-IE> Embedded <st1:place w:st="on">MIDI</st1:place> Synthesizer. The

+name of the SONiVOX MIDI synthesizer engine.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>JET</span></i><span

+lang=EN-IE>: Jet Interactive Engine. The name of the SONiVOX JET interactive

+music engine.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Segment</span></i><span

+lang=EN-IE>: A musical section such as a chorus or verse that is a component of

+the overall composition. In JET, a segment can be an entire MIDI file or a

+derived from a portion of a <st1:place w:st="on">MIDI</st1:place> file.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>SMF-0</span></i><span

+lang=EN-IE>: Standard MIDI File Type 0, a MIDI file that contains a single

+track, but may be made up of multiple channels of <st1:place w:st="on">MIDI</st1:place>

+data.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>SMF-1</span></i><span

+lang=EN-IE>: Standard MIDI File Type 1, a MIDI file that contains a one more

+tracks, and each track may in turn be made up of one or more channels of <st1:place

+w:st="on">MIDI</st1:place> data. By convention, each channel is stored on a

+separate track in an SMF-1 file. However, it is possible to have multiple MIDI

+channels on a single track, or multiple tracks that contain data for the same <st1:place

+w:st="on">MIDI</st1:place> channel.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Track</span></i><span

+lang=EN-IE>: A single track in a DAW containing a timed sequence of <st1:place

+w:st="on">MIDI</st1:place> events. Be careful not to confuse Tracks with

+Channels. A MIDI file may contain many tracks with several tracks utilizing the

+same <st1:place w:st="on">MIDI</st1:place> channel. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298085"></a><a name="_Toc135723076"></a><a

+name="_Toc135723793"></a><a name="_Toc135724016"></a><a name="_Toc135724241"></a><a

+name="_Toc135724464"></a><a name="_Toc135724687"></a><a name="_Toc135724909"></a><a

+name="_Toc135725132"></a><a name="_Toc135726607"></a><a name="_Toc135727776"></a><a

+name="_Toc137004452"></a><a name="_Toc135724689"></a><a name="_Toc135724467"></a><![if !supportLists]><span

+style='mso-bookmark:_Toc203298085'><span lang=EN-IE style='mso-fareast-font-family:

+Arial'><span style='mso-list:Ignore'>1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span></span><![endif]><span style='mso-bookmark:_Toc203298085'><span

+lang=EN-IE>The JET Interactive Music Concept</span></span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>Interactive music can be defined as music

+that changes in real-time according to non-predictable events such as user

+interaction or game play events. In this way, interactive music is much more

+engaging as it has the ability to match the energy and mood of a game much

+closer than a pre-composed composition that never changes. In some applications

+and games, interactive music is central to the game play. Guitar Hero is one

+such popular game. When the end user successfully ‘captures’ the musical notes

+coming down the fret board, the music adapts itself and simultaneously keeps

+score of successes and failures. JET allows for these types of music driven

+games as well.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>There are several methods for making and

+controlling interactive music and JET is one such method. This section

+describes the features of JET and how they might be used in a game or software

+application. It also describes how JET can be used to save memory in small

+footprint devices such as Android enabled mobile handsets.</span></p>

+

+<h3><a name="_Toc203298086"><![if !supportLists]><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:

+Arial;mso-bidi-font-weight:normal'><span style='mso-list:Ignore'>1.1.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><![endif]><span

+class=Heading2Char><span lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:

+10.0pt;font-weight:normal'>Data Compression</span></span></a><span

+style='mso-bookmark:_Toc203298086'></span><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-bidi-font-weight:

+normal'><o:p></o:p></span></span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>JET supports a flexible music format that

+can be used to create extended musical sequences with a minimal amount of data.

+A musical composition is broken up into segments that can be sequenced to

+create a longer piece. The sequencing can be fixed at the time the music file

+is authored, or it can be created dynamically under program control.</span></p>

+

+<h3><a name="_Toc203298087"><![if !supportLists]><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:

+Arial;mso-bidi-font-weight:normal'><span style='mso-list:Ignore'>1.1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><![endif]><span

+class=Heading2Char><span lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:

+10.0pt;font-weight:normal'>Linear Music Example</span></span></a><span

+style='mso-bookmark:_Toc203298087'></span><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-bidi-font-weight:

+normal'><o:p></o:p></span></span></h3>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shapetype id="_x0000_t75"

+ coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"

+ filled="f" stroked="f">

+ <v:stroke joinstyle="miter"/>

+ <v:formulas>

+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>

+  <v:f eqn="sum @0 1 0"/>

+  <v:f eqn="sum 0 0 @1"/>

+  <v:f eqn="prod @2 1 2"/>

+  <v:f eqn="prod @3 21600 pixelWidth"/>

+  <v:f eqn="prod @3 21600 pixelHeight"/>

+  <v:f eqn="sum @0 0 1"/>

+  <v:f eqn="prod @6 1 2"/>

+  <v:f eqn="prod @7 21600 pixelWidth"/>

+  <v:f eqn="sum @8 21600 0"/>

+  <v:f eqn="prod @7 21600 pixelHeight"/>

+  <v:f eqn="sum @10 21600 0"/>

+ </v:formulas>

+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

+ <o:lock v:ext="edit" aspectratio="t"/>

+</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:431.25pt;

+ height:294.75pt' o:ole="">

+ <v:imagedata src="JET_Authoring_Guidelines_files/image002.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=575 height=393

+src="JET_Authoring_Guidelines_files/image013.gif" v:shapes="_x0000_i1025"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"

+  DrawAspect="Content" ObjectID="_1298963276">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>1</span></span>: Linear Music Piece</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>This diagram shows how musical segments are

+stored. Each segment is authored as a separate <st1:place w:st="on">MIDI</st1:place>

+file. A post-processing tool combines the files into a single container file.

+Each segment can contain alternate music tracks that can be muted or un-muted

+to create additional interest. An example might be a brass accent in the chorus

+that is played only the last time through. Also, segments can be transposed up

+or down.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The bottom part of the diagram shows how

+the musical segments can be recombined to create a linear music piece. In this

+example, the bridge might end with a half-step key modulation and the remaining

+segments could be transposed up a half-step to match.</span></p>

+

+<h3><a name="_Toc203298088"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1.3<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Non-linear Music Example</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1026"

+ type="#_x0000_t75" style='width:6in;height:291.75pt' o:ole="">

+ <v:imagedata src="JET_Authoring_Guidelines_files/image004.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=389

+src="JET_Authoring_Guidelines_files/image014.gif" v:shapes="_x0000_i1026"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1026"

+  DrawAspect="Content" ObjectID="_1298963277">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>2</span></span>: Non-linear music piece</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In this diagram, we see a non-linear music

+piece. The scenario is a first-person-shooter (FPS) and JET is providing the

+background music. The intro plays as the level is loading and then transitions

+under program control to the Searching segment. This segment is repeated

+indefinitely, perhaps with small variations (using the mute/un-mute feature)

+until activity in the game dictates a change.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>As the player nears a monster lair, the

+program starts a synchronized transition to the Danger segment, increasing the

+tension level in the audio. As the player draws closer to the lair, additional

+tracks are un-muted to increase the tension.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>As the player enters into combat with the

+monster, the program starts a synchronized transition to the Combat segment.

+The segment repeats indefinitely as the combat continues. A Bonus Hit

+temporarily un-mutes a decorative track that notifies the player of a

+successful attack, and similarly, another track is temporarily un-muted to

+signify when the player receives Special Damage.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>At the end of combat, the music transitions

+to a victory or defeat segment based on the outcome of battle.</span></p>

+

+<h3><a name="_Toc203298089"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1.4<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Mute/Un-mute Synchronization</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>JET can also synchronize the muting and

+un-muting of tracks to events in the music. For example, in the FPS game, it

+would probably be desirable to place the musical events relating to bonuses and

+damage as close to the actual game event as possible. However, simply un-muting

+a track at the moment the game event occurs might result in a music clip

+starting in the middle. Alternatively, a clip could be started from the

+beginning, but then it wouldn’t be synchronized with the other music tracks.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>However, with the JET sync engine, a clip

+can be started at the next opportune moment and maintain synchronization. This

+can be accomplished by placing a number of short music clips on a decorative

+track. A <st1:place w:st="on">MIDI</st1:place> event in the stream signifies

+the start of a clip and a second event signifies the end of a clip. When the

+application calls the JET clip function, the next clip in the track is allowed

+to play fully synchronized to the music. Optionally, the track can be

+automatically muted by a second <st1:place w:st="on">MIDI</st1:place> event.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1027"

+ type="#_x0000_t75" style='width:6in;height:116.25pt' o:ole="">

+ <v:imagedata src="JET_Authoring_Guidelines_files/image006.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=155

+src="JET_Authoring_Guidelines_files/image008.gif" v:shapes="_x0000_i1027"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1027"

+  DrawAspect="Content" ObjectID="_1298963279">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>3</span></span>: Synchronized Mute/Unmute</span></p>

+

+<h2><a name="_Toc203298090"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Audio Synchronization</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>JET provides an audio synchronization API

+that allows game play to be synchronized to events in the audio. The mechanism

+relies on data embedded in the <st1:place w:st="on">MIDI</st1:place> file at

+the time the content is authored. When the JET engine senses an event during

+playback it generates a callback into the application program. The timing of

+the callback can be adjusted to compensate for any latency in the audio

+playback system so that audio and video can be synchronized. The diagram below

+shows an example of a simple music game that involves pressing the left and

+right arrows in time with the music.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1028"

+ type="#_x0000_t75" style='width:6in;height:100.5pt' o:ole="">

+ <v:imagedata src="JET_Authoring_Guidelines_files/image015.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=134

+src="JET_Authoring_Guidelines_files/image010.gif" v:shapes="_x0000_i1028"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1028"

+  DrawAspect="Content" ObjectID="_1298963280">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>4</span></span>: Music Game<span style='mso-no-proof:

+yes'> with Synchronization<o:p></o:p></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The arrows represent events in the music

+sequence where game events need to be synchronized. In this case, the blue

+arrow represents a time where the player is supposed to press the left button,

+and the red arrow is for the right button. The yellow arrow tells the game

+engine that the sequence is complete. The player is allowed a certain time

+window before and after the event to press the appropriate key.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>If an event is received and the player has

+not pressed a button, a timer is set to half the length of the window. If the

+player presses the button before the timer expires, the game registers a

+success, and if not, the game registers a failure. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>If the player presses the button before the

+event is received, a timer is set to half the length of the window. If an event

+is received before the timer expires, the game registers a success, and if not,

+the game registers a failure. Game play might also include bonuses for getting

+close to the timing of the actual event. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298091"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Content Authoring Overview</span></a></h1>

+

+<p class=MsoNormal><span lang=EN-IE>To author JET files and hear them playback interactively,

+the content author will work in two or three applications which are designed to

+work together smoothly. The first is application is any off-the-shelf <st1:place

+w:st="on">MIDI</st1:place> sequencing application or Digital Audio Workstation

+that supports VST (for PC) or AU (for Mac) plugins. (Logic, SONAR, Cubase, etc)

+Here the author will compose their <st1:place w:st="on">MIDI</st1:place> music

+files using the SONiVOX EAS Synth plugin as the playback synthesizer. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Once the composer has completed their <st1:place

+w:st="on">MIDI</st1:place> file(s), they import them into the JET Creator application.

+Here the author will setup and audition the conditions for interactive playback

+within the JET enabled game.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Optionally, the author may elect to create

+a custom DLS soundbank. This can be created in any off-the-shelf DLS authoring

+application, such as Awave from MJSoft, and loaded into JET Creator along with

+the <st1:place w:st="on">MIDI</st1:place> files.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Below is an overview of this process. A

+more detailed explanation of each step follows.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<ul style='margin-top:0in' type=disc>

+ <li class=MsoNormal style='mso-list:l10 level1 lfo12;tab-stops:list .5in'><span

+     lang=EN-IE>Launch digital audio workstation (DAW) </span></li>

+ <ul style='margin-top:0in' type=circle>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Assign the SONiVOX EAS Synth plugin as the playback

+      synthesizer</span></li>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Optionally load a custom DLS2 soundset </span></li>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Compose and save <st1:place w:st="on">MIDI</st1:place> file(s)</span></li>

+ </ul>

+ <li class=MsoNormal style='mso-list:l10 level1 lfo12;tab-stops:list .5in'><span

+     lang=EN-IE>Launch the JET Creator application</span></li>

+ <ul style='margin-top:0in' type=circle>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Create segments using the <st1:place w:st="on">MIDI</st1:place>

+      and DLS2 source files</span></li>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Add interactive elements</span></li>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Audition interactive elements</span></li>

+  <li class=MsoNormal style='mso-list:l10 level2 lfo12;tab-stops:list 1.0in'><span

+      lang=EN-IE>Save and Export JET files for use in the Android application</span></li>

+ </ul>

+</ul>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Launch DAW – Content authors will need to

+use a third party MIDI authoring application to compose their <st1:place w:st="on">MIDI</st1:place>

+files. It is recommended they use a digital audio workstation (DAW) application

+that supports VST or AU plugins as this will enable them to listen to the EAS

+MIDI Synthesizer and DLS2 soundsets that will be utilized in the Android

+application itself. Some examples of popular DAWs include SONAR (PC) and LOGIC

+(MAC). </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Assign SONiVOX EAS Synth plugin as the

+playback synthesizer – The SONiVOX EAS Synth plugin is a VST and AU compatible

+virtual instrument that plugs into VST or AU compatible DAWs. This software

+plugin uses the same SONiVOX EAS MIDI synthesizer engine and default General

+MIDI<span style='mso-spacerun:yes'>  </span>wavetable soundset inherent in

+Android. Using this plugin allows content authors to hear the exact audio

+rendering of the instruments and <st1:place w:st="on">MIDI</st1:place> file

+that will be used in their Android applications.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Optionally Load DLS2 Soundset – The SONiVOX

+EAS Synth plugin allows for the loading of any DLS2 compatible soundset for

+playback. These could include a new GM wavetable set, or a small collection of

+just a few custom instruments for a given application. Note, the DLS file does

+not replace the internal GM wavetable used by the EAS engine. DLS soundsets

+play in conjunction with the internal GM wavetable. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Compose MIDI File – Compose <st1:place

+w:st="on">MIDI</st1:place> soundtracks for the Android application.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Launch JET Creator – Once all DLS2 and <st1:place

+w:st="on">MIDI</st1:place> source files have been authored, the content author

+should launch the JET Creator and begin creating JET Segments. The segments

+will reference the <st1:place w:st="on">MIDI</st1:place> files and any custom

+DLS2 soundbanks.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Assign JET Segment Attributes – After

+creating segments the content author interactive elements. Interactive elements

+include mute and unmute settings of individual tracks in the MIDI file(s) as

+well as <st1:place w:st="on">MIDI</st1:place> controller numbers that serve as

+“events” in the game. These attributes tell the JET engine how and when to play

+the different musical segments according to the JET API commands in the Android

+application. See below for more detail on this.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Audition Interactive Playback – After

+assigning the segment attributes and creating the JET file, the content author

+can audition all interactive playback elements in the JET Audition window.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Save .jtc File – After the author is

+satisfied with the result, it is recommended they save the JET Creator .jtc

+file which will save their settings, references to source files, etc.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Export Files – Exporting the JET Creator

+file will bundle all source files and their attributes into a single .zip file.

+The zip file will also contain a .jet file for use by the Android application.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298092"></a><a name="_Toc135724912"></a><a

+name="_Toc135725135"></a><a name="_Toc135726610"></a><a name="_Toc135727779"></a><a

+name="_Toc137004455"></a><![if !supportLists]><span style='mso-bookmark:_Toc203298092'><span

+lang=EN-IE style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>3<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span></span><![endif]><span style='mso-bookmark:_Toc203298092'><span

+lang=EN-IE>EAS Synth Virtual Instrument Plugin</span></span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>Included in the JET Creator package is the

+EAS software synthesizer in plug-in format. The EAS plugin synth allows the

+composer to hear the instruments used in Android as they are composing their <st1:place

+w:st="on">MIDI</st1:place> sequence. The EAS Synth plugin allows for the

+loading of custom DLS2 sounds as well.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Installing the EAS Synth Plugin</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Follow the instructions for your individual

+DAW to install and utilize the plugin. For Mac users this will typically

+involve copying the “EAS Synth.componant” file into your plugins folder which

+is usually located at /Library/Audio/Plug-ins/Components. PC users will want to

+install the “EAS Synth.dll” into the plugin folder that their DAW requires. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Requirements and Settings for

+using the EAS Synth Plugin</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The EAS Synth is an embedded synthesizer

+for small mobile devices. This means it does not have the flexibility of high

+end synthesizers typically utilized in a professional application such as

+Logic, Digital Performer, etc. As such, only the following attributes are

+supported.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Macintosh:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Mac OSX (Intel) Macs </span></p>

+

+<p class=MsoNormal><span lang=EN-IE>ASIO Supported Soundcards </span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Sample Rate:<span style='mso-tab-count:

+1'>    </span>44100 hz</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Buffer Size:<span style='mso-tab-count:

+1'>       </span>256 kbytes</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>PC:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Windows 2000 or <st1:place w:st="on">Vista</st1:place>

+operating systems</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>ASIO supported soundcards</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Sample Rate:<span style='mso-tab-count:

+1'>    </span>44100 hz</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Buffer Size:<span style='mso-tab-count:

+1'>       </span>256 kbytes</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Assigning <st1:place w:st="on">MIDI</st1:place>

+Tracks to use the EAS Synth</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Each DAW has its own particular method of

+assigning <st1:place w:st="on">MIDI</st1:place> tracks to virtual instrument

+plugins such as the SONiVOX EAS Synth. Please consult the user manual for your

+DAW for detailed instructions. Below are some general guidelines for Logic

+(Mac) and SONAR (PC).</span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.3.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>LOGIC 8</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The SONiVOX EAS Synth virtual instrument is

+a multi-timbral synthesizer. (i.e. it plays back multiple instruments on unique

+<st1:place w:st="on">MIDI</st1:place> channels in a single instance) In Logic

+8, however, you’ll want to set up 16 Logic <i style='mso-bidi-font-style:normal'>Instruments,</i>

+each with their own instance of the EAS Synth. Each Instrument should be assigned

+its own <st1:place w:st="on">MIDI</st1:place> channel. Use Channel 10 for

+Drums. The reason for this is that MIDI controller messages, such as Volume

+(CC7) and Pan (CC10) will not be channelized if the plugin is assigned to only

+a single Instrument and all <st1:place w:st="on">MIDI</st1:place> tracks are

+set to playback on that Instrument. In order for each <st1:place w:st="on">MIDI</st1:place>

+channel to respond to its own controller messages, you must assign 16 different

+EAS Synth instances to 16 unique Logic Instruments.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>A Logic 8 template file has been included

+in the Android Cupcake release to facilitate the above.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Playback in Logic 8 may require you to be

+in record enable mode for each track you are auditioning. To record enable

+multiple tracks hold down the Option key.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>To write out a standard <st1:place w:st="on">MIDI</st1:place>

+(type 1) file from Logic, you need to use the File Export command. IMPORTANT:

+Most edits in Logic are non-destructive edits meaning they are not modifying

+the actual data but rather adding an overlay onto to the data. Quantize is one

+such non-destructive edit. Therefore when you export a <st1:place w:st="on">MIDI</st1:place>

+file, you may not see your quanitization settings. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In addition, the mix parameters for volume,

+pan and program changes may not appear in the event list and therefore may not

+write out with the <st1:place w:st="on">MIDI</st1:place> file. Before exporting

+a <st1:place w:st="on">MIDI</st1:place> file in Logic it is recommended you do

+the following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Select All and use the “Insert MIDI &gt;

+Insert MIDI Settings as Events” command.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Select All and use the “Apply Quantization

+Settings Destructively” command. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.3.2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Cakewalk SONAR 7</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>Sonar 7 is a bit easier to set up, use and

+save than Logic 8. Simply open or start a new <st1:place w:st="on">MIDI</st1:place>

+file. Go to the Insert menu and select Insert Soft Synth&gt;SONiVOX&gt;EAS

+Synth. Then assign each <st1:place w:st="on">MIDI</st1:place> track’s output to

+the EAS Synth. There is no need to record enable a track to hear it play back.

+When saving, be sure to select MIDI Type 1.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>SONAR 8 works similarly to SONAR 7.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.3.3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Digital Performer</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>We’ve seen some instances when creating

+content with Digital Performer where notes with a release velocity of non-0

+will generate an extra note-on event in the EAS synth. If you are hearing a

+doubling, editing the release velocity events to zero should fix this problem.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.4<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Using Custom DLS2 Soundsets</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The SONiVOX EAS Synthesizer supports two

+simultaneous soundsets or wavetables. One is the internal General MIDI wavetable

+inherent to the SONiVOX EAS Synthesizer. The other is a Downloadable Sounds

+Level 2 (DLS2) soundset. The internal wavetable is a GM Level 1 compliant

+wavetable with 127 melodic instruments and 1 drumkit. It is in a proprietary

+SONiVOX format. The DLS2 soundsets are an open format published by the MIDI

+Manufactures Association. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In the Android Cupcake release, the

+internal wavetable is only 200 kbytes, very small, in order to be compliant

+with all Android devices which may not have a lot of memory. DLS2 soundsets can

+be any size that a particular device supports. Upgraded (larger) internal

+wavetables as well as custom DLS2 instruments can be licensed from SONiVOX.</span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.4.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Loading a DLS2 Soundset</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>To load a custom soundset, click on the

+Load DLS button in the EAS Synth plugin interface. Browse to the DLS2 file you

+wish to load and say OK. <b style='mso-bidi-font-weight:normal'><i

+style='mso-bidi-font-style:normal'>Only DLS Level 2 formatted soundsets are

+supported.<o:p></o:p></i></b></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3.4.2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Using a DLS2 Soundset</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>Since both the internal EAS GM wavetable

+and a custom DLS2 soundset are used simultaneously, you must be sure you have

+your MIDI Program Changes set correctly. DLS2 instruments must be assigned to a

+Bank <i style='mso-bidi-font-style:normal'>other</i> than the default GM bank

+used by the internal synthesizer. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The internal EAS synthesizer is assigned to

+Banks 121 (melodic instruments) and 120 (drum instruments). This follows the

+General MIDI Level 1 specification. Note: Most <st1:place w:st="on">MIDI</st1:place>

+sequencers require you to use Bank 0 to select the default wavetable. Custom

+DLS2 soundsets, therefore, should utilize a different Bank. We recommend Bank

+1.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The EAS synth supports MSB (Controller 0),

+LSB (Controller 32) Bank change messages. There are two places you need to set

+this Bank and Program Change number. The first is in your DLS2 soundset. Using

+Bank 1, each Instrument would be assigned MSB 1, LSB 0, then the Instrument

+Program Change number. The second place to use the Bank and Program Change

+number is in your <st1:place w:st="on">MIDI</st1:place> sequence. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In your <st1:place w:st="on">MIDI</st1:place>

+track, the MSB should be sent first followed by the LSB and then the Instrument

+number. For example, if your DLS2 instrument is assigned MSB 1, LSB 0,

+Program1, you would send CC0, 1 followed by CC32, 0 followed by Program Change

+Message 1. This might look like the following in an event window:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1029"

+ type="#_x0000_t75" style='width:278.25pt;height:504.75pt'>

+ <v:imagedata src="JET_Authoring_Guidelines_files/image011.png" o:title="Event List"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=371 height=673

+src="JET_Authoring_Guidelines_files/image012.gif" v:shapes="_x0000_i1029"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Creator Guidelines</span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>JET Creator is the desktop application

+where you’ll edit and audition the JET interactive music elements. For details

+on the JET Creator application please see the “JET Creator User Manual”. Below

+are some additional guidelines to help you out.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Order of Tasks</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>As with all projects, its best to discuss and

+design the interactive music scheme with the game designer and programmer

+before beginning your composition. An outline and/or specification can go a

+long way in saving you from having to redo things after the game is in place.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In general you’ll want to first write your

+music in your DAW of choice the way you’re used to composing, then break up the

+final <st1:place w:st="on">MIDI</st1:place> file as needed for the application.

+Next, move to JET Creator and create all of your music segments in the order

+easiest to preview them when played in order. Finally, add the JET Events to

+control the segments via the Android game and Audition them as needed in JET

+Creator. Finally, save the project in JET Creator and hand off the .jet file to

+the programmer to integrate it in the game. After previewing there will likely

+be changes to the <st1:place w:st="on">MIDI</st1:place> file(s) and JET Creator

+attributes. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Conserving Memory</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>If you’re trying to conserve memory,

+compose as few MIDI files as possible, and create several segments from that <st1:place

+w:st="on">MIDI</st1:place> file. For example a 12 bar <st1:place w:st="on">MIDI</st1:place>

+file with three sections of 4 bars, A, B, C, can create a much longer song.

+Simply create multiple segments that reference the one <st1:place w:st="on">MIDI</st1:place>

+file, then order them however you like. For example, A, A, B, A, C, A, B, A, A

+would create a 36 bar song. Use JET to add repeats, transpose segments, and

+interactively mute and unmute tracks to keep it even more interesting.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Replicate</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>To make adding segments or events faster,

+use the Replicate command. Replicate can add multiple segments or events at one

+time and uses an offset parameter and prefix naming convention to keep things

+easy to read. The MOVE command is also useful for moving multiple events by a

+set number of measures, beats or ticks.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.4<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Interactive Options</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>There are several interactive audio

+concepts possible in JET. Below are a few examples although we hope developers

+will come up with others we haven’t thought of! These are:</span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.4.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Multiple Segment Triggering</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>In this method the application is

+triggering specific segments based on events in the game. For example a hallway

+with lots of fighting might trigger segment 1 and a hallway with no fighting

+might trigger segment 2. Using JET TriggerClips in conjunction with this method

+creates even more diversity.</span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.4.2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Mute Arrays</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>In this method the application is

+triggering mute and unmute events to specific tracks in a single <st1:place

+w:st="on">MIDI</st1:place> sequence. For example a hallway with lots of

+fighting might play <st1:place w:st="on">MIDI</st1:place> tracks 1-16 and a

+hallway with no fighting might play the same midi file but mute tracks 9-16.

+Using JET TriggerClips in conjunction with this method creates even more

+diversity.</span></p>

+

+<h3><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.4.3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Music Driven Gameplay</span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>Music driven gaming is similar to what

+Guitar Hero and JETBOY have done in that the music content determines how

+graphic events are displayed. The application then queries the user response to

+the graphic events and interactively modifies the music in response. In this

+method the game is utilizing JET Application Events, MIDI controllers that are

+embedded in the <st1:place w:st="on">MIDI</st1:place> file and read by the game

+in real-time. Based on the user response, multiple segment triggering and/or

+mute arrays can be set.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Authoring_Guidelines_files/header.htm b/docs/JET_Authoring_Guidelines_files/header.htm
new file mode 100755
index 0000000..4284a7a
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/header.htm
@@ -0,0 +1,202 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<link id=Main-File rel=Main-File href="../JET%20Authoring%20Guidelines.htm">

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+<!--[if gte mso 9]><xml>

+ <o:shapedefaults v:ext="edit" spidmax="9218" fill="f" fillcolor="white"

+  stroke="f">

+  <v:fill color="white" on="f"/>

+  <v:stroke on="f"/>

+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>

+ <o:shapelayout v:ext="edit">

+  <o:idmap v:ext="edit" data="8"/>

+ </o:shapelayout></xml><![endif]-->

+</head>

+

+<body lang=EN-US link=blue vlink=purple>

+

+<div style='mso-element:footnote-separator' id=fs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footnote-continuation-separator' id=fcs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:endnote-separator' id=es>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:endnote-continuation-separator' id=ecs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:header' id=eh1>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:header' id=h1>

+

+<p class=MsoHeader><span style='mso-ansi-language:EN-US;mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype

+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"

+ path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">

+ <v:stroke joinstyle="miter"/>

+ <v:formulas>

+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>

+  <v:f eqn="sum @0 1 0"/>

+  <v:f eqn="sum 0 0 @1"/>

+  <v:f eqn="prod @2 1 2"/>

+  <v:f eqn="prod @3 21600 pixelWidth"/>

+  <v:f eqn="prod @3 21600 pixelHeight"/>

+  <v:f eqn="sum @0 0 1"/>

+  <v:f eqn="prod @6 1 2"/>

+  <v:f eqn="prod @7 21600 pixelWidth"/>

+  <v:f eqn="sum @8 21600 0"/>

+  <v:f eqn="prod @7 21600 pixelHeight"/>

+  <v:f eqn="sum @10 21600 0"/>

+ </v:formulas>

+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

+ <o:lock v:ext="edit" aspectratio="t"/>

+</v:shapetype><v:shape id="_x0000_s8193" type="#_x0000_t75" style='position:absolute;

+ margin-left:337.05pt;margin-top:.2pt;width:81pt;height:24.85pt;z-index:-1'>

+ <v:imagedata src="image001.jpg" o:title="SONiVOX Logo 150"/>

+</v:shape><![endif]--></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=ef1>

+

+<p class=MsoFooter><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=f1>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=ff1>

+

+<p class=MsoFooter align=center style='text-align:center'><span lang=EN-IE

+style='color:olive'>SONiVOX JET Creator User Documentation<span

+style='mso-tab-count:1'> </span><span style='mso-spacerun:yes'>  

+</span>Vrs.3<span style='mso-spacerun:yes'>   </span>Page <span

+class=MsoPageNumber><span style='font-family:Arial'><span style='mso-field-code:

+" PAGE "'><span style='mso-no-proof:yes'>1</span></span>/<span

+style='mso-field-code:" NUMPAGES "'><span style='mso-no-proof:yes'>13</span></span></span></span><o:p></o:p></span></p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Authoring_Guidelines_files/image001.jpg b/docs/JET_Authoring_Guidelines_files/image001.jpg
new file mode 100755
index 0000000..d244843
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image001.jpg
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image002.emz b/docs/JET_Authoring_Guidelines_files/image002.emz
new file mode 100755
index 0000000..f152c11
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image002.emz
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image004.emz b/docs/JET_Authoring_Guidelines_files/image004.emz
new file mode 100755
index 0000000..010c4bd
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image004.emz
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image006.emz b/docs/JET_Authoring_Guidelines_files/image006.emz
new file mode 100755
index 0000000..a29ebfd
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image006.emz
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image008.gif b/docs/JET_Authoring_Guidelines_files/image008.gif
new file mode 100755
index 0000000..17919fd
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image008.gif
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image010.gif b/docs/JET_Authoring_Guidelines_files/image010.gif
new file mode 100755
index 0000000..54111a0
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image010.gif
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image011.png b/docs/JET_Authoring_Guidelines_files/image011.png
new file mode 100755
index 0000000..1573b01
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image011.png
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image012.gif b/docs/JET_Authoring_Guidelines_files/image012.gif
new file mode 100755
index 0000000..4300d15
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image012.gif
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image013.gif b/docs/JET_Authoring_Guidelines_files/image013.gif
new file mode 100755
index 0000000..eb1aa37
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image013.gif
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image014.gif b/docs/JET_Authoring_Guidelines_files/image014.gif
new file mode 100755
index 0000000..4e99824
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image014.gif
Binary files differ
diff --git a/docs/JET_Authoring_Guidelines_files/image015.emz b/docs/JET_Authoring_Guidelines_files/image015.emz
new file mode 100755
index 0000000..31cba25
--- /dev/null
+++ b/docs/JET_Authoring_Guidelines_files/image015.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual.htm b/docs/JET_Creator_User_Manual.htm
new file mode 100644
index 0000000..8582f5f
--- /dev/null
+++ b/docs/JET_Creator_User_Manual.htm
@@ -0,0 +1,3032 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<link rel=File-List href="JET_Creator_User_Manual_files/filelist.xml">

+<link rel=Edit-Time-Data href="JET_Creator_User_Manual_files/editdata.mso">

+<link rel=OLE-Object-Data href="JET_Creator_User_Manual_files/oledata.mso">

+<!--[if !mso]>

+<style>

+v\:* {behavior:url(#default#VML);}

+o\:* {behavior:url(#default#VML);}

+w\:* {behavior:url(#default#VML);}

+.shape {behavior:url(#default#VML);}

+</style>

+<![endif]-->

+<title>SONiVOX JET Creator User Manual</title>

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+<!--[if gte mso 9]><xml>

+ <o:DocumentProperties>

+  <o:Author>Jennifer Hruska</o:Author>

+  <o:Description>Copyright 2009&#13;&#10;Confidential Information</o:Description>

+  <o:Template>techdoc.dot</o:Template>

+  <o:LastAuthor>Jennifer Hruska</o:LastAuthor>

+  <o:Revision>3</o:Revision>

+  <o:TotalTime>183</o:TotalTime>

+  <o:LastPrinted>2006-02-09T12:22:00Z</o:LastPrinted>

+  <o:Created>2009-03-18T18:58:00Z</o:Created>

+  <o:LastSaved>2009-03-19T14:23:00Z</o:LastSaved>

+  <o:Pages>1</o:Pages>

+  <o:Words>4525</o:Words>

+  <o:Characters>25793</o:Characters>

+  <o:Company>Sonic Network, Inc.</o:Company>

+  <o:Lines>214</o:Lines>

+  <o:Paragraphs>60</o:Paragraphs>

+  <o:CharactersWithSpaces>30258</o:CharactersWithSpaces>

+  <o:Version>11.9999</o:Version>

+ </o:DocumentProperties>

+ <o:CustomDocumentProperties>

+  <o:_AdHocReviewCycleID dt:dt="float">-1127674187</o:_AdHocReviewCycleID>

+  <o:_EmailSubject dt:dt="string">New lib doc</o:_EmailSubject>

+  <o:_AuthorEmail dt:dt="string">jhruska@sonicnetworkinc.com</o:_AuthorEmail>

+  <o:_AuthorEmailDisplayName dt:dt="string">Jennifer Hruska</o:_AuthorEmailDisplayName>

+  <o:_ReviewingToolsShownOnce dt:dt="string"></o:_ReviewingToolsShownOnce>

+ </o:CustomDocumentProperties>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:WordDocument>

+  <w:ActiveWritingStyle Lang="EN-US" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:ActiveWritingStyle Lang="EN-IE" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:ActiveWritingStyle Lang="EN-GB" VendorID="8" DLLVersion="513" NLCheck="0">1</w:ActiveWritingStyle>

+  <w:DocumentProtectionNotEnforced>TrackedChanges</w:DocumentProtectionNotEnforced>

+  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>

+  <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>

+  <w:UseMarginsForDrawingGridOrigin/>

+  <w:ValidateAgainstSchemas/>

+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>

+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

+  <w:Compatibility>

+   <w:FootnoteLayoutLikeWW8/>

+   <w:ShapeLayoutLikeWW8/>

+   <w:AlignTablesRowByRow/>

+   <w:ForgetLastTabAlignment/>

+   <w:LayoutRawTableWidth/>

+   <w:LayoutTableRowsApart/>

+   <w:UseWord97LineBreakingRules/>

+   <w:SelectEntireFieldWithStartOrEnd/>

+   <w:UseWord2002TableStyleRules/>

+  </w:Compatibility>

+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>

+ </w:WordDocument>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">

+ </w:LatentStyles>

+</xml><![endif]--><!--[if !mso]><object

+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>

+<style>

+st1\:*{behavior:url(#ieooui) }

+</style>

+<![endif]-->

+<style>

+<!--

+ /* Font Definitions */

+ @font-face

+	{font-family:Tahoma;

+	panose-1:2 11 6 4 3 5 4 4 2 4;

+	mso-font-charset:0;

+	mso-generic-font-family:swiss;

+	mso-font-pitch:variable;

+	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}

+ /* Style Definitions */

+ p.MsoNormal, li.MsoNormal, div.MsoNormal

+	{mso-style-update:auto;

+	mso-style-parent:"";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+h1

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.3in;

+	text-indent:-.3in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:1;

+	mso-list:l10 level1 lfo1;

+	tab-stops:list .3in;

+	font-size:14.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-font-kerning:14.0pt;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h2

+	{mso-style-update:auto;

+	mso-style-link:"Heading 2 Char";

+	mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.4in;

+	text-indent:-.4in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:2;

+	mso-list:l10 level2 lfo1;

+	tab-stops:list .4in;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h3

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.5in;

+	text-indent:-.5in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:3;

+	mso-list:l10 level3 lfo1;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;}

+h4

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.6in;

+	text-indent:-.6in;

+	mso-pagination:widow-orphan lines-together;

+	page-break-after:avoid;

+	mso-outline-level:4;

+	mso-list:l10 level4 lfo1;

+	tab-stops:list .6in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:"Courier New";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+h5

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.7in;

+	text-indent:-.7in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:5;

+	mso-list:l10 level5 lfo1;

+	tab-stops:list .7in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:normal;}

+h6

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.8in;

+	text-indent:-.8in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:6;

+	mso-list:l10 level6 lfo1;

+	tab-stops:list .8in;

+	font-size:11.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-ansi-language:EN-IE;

+	font-weight:normal;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoHeading7, li.MsoHeading7, div.MsoHeading7

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:.9in;

+	text-indent:-.9in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:7;

+	mso-list:l10 level7 lfo1;

+	tab-stops:list .9in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoHeading8, li.MsoHeading8, div.MsoHeading8

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:1.0in;

+	text-indent:-1.0in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:8;

+	mso-list:l10 level8 lfo1;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoHeading9, li.MsoHeading9, div.MsoHeading9

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:1.1in;

+	text-indent:-1.1in;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:9;

+	mso-list:l10 level9 lfo1;

+	tab-stops:list 1.1in;

+	font-size:9.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoIndex1, li.MsoIndex1, div.MsoIndex1

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:11.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex2, li.MsoIndex2, div.MsoIndex2

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:22.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex3, li.MsoIndex3, div.MsoIndex3

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:33.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex4, li.MsoIndex4, div.MsoIndex4

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:44.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex5, li.MsoIndex5, div.MsoIndex5

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:55.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex6, li.MsoIndex6, div.MsoIndex6

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:66.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex7, li.MsoIndex7, div.MsoIndex7

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:77.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex8, li.MsoIndex8, div.MsoIndex8

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:88.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndex9, li.MsoIndex9, div.MsoIndex9

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:99.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc1, li.MsoToc1, div.MsoToc1

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc2, li.MsoToc2, div.MsoToc2

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:10.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc3, li.MsoToc3, div.MsoToc3

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:20.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc4, li.MsoToc4, div.MsoToc4

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:30.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc5, li.MsoToc5, div.MsoToc5

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:40.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc6, li.MsoToc6, div.MsoToc6

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:50.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc7, li.MsoToc7, div.MsoToc7

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:60.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc8, li.MsoToc8, div.MsoToc8

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:70.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToc9, li.MsoToc9, div.MsoToc9

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:80.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoNormalIndent, li.MsoNormalIndent, div.MsoNormalIndent

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoCommentText, li.MsoCommentText, div.MsoCommentText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoHeader, li.MsoHeader, div.MsoHeader

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoFooter, li.MsoFooter, div.MsoFooter

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading

+	{mso-style-noshow:yes;

+	mso-style-next:"Index 1";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoCaption, li.MsoCaption, div.MsoCaption

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:6.0pt;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoTof, li.MsoTof, div.MsoTof

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:22.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-22.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEnvelopeAddress, li.MsoEnvelopeAddress, div.MsoEnvelopeAddress

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:2.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	mso-element:frame;

+	mso-element-frame-width:5.5in;

+	mso-element-frame-height:99.0pt;

+	mso-element-frame-hspace:9.0pt;

+	mso-element-wrap:auto;

+	mso-element-anchor-horizontal:page;

+	mso-element-left:center;

+	mso-element-top:bottom;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEnvelopeReturn, li.MsoEnvelopeReturn, div.MsoEnvelopeReturn

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToa, li.MsoToa, div.MsoToa

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:11.0pt;

+	margin-bottom:.0001pt;

+	text-indent:-11.0pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoMacroText, li.MsoMacroText, div.MsoMacroText

+	{mso-style-noshow:yes;

+	mso-style-parent:"";

+	margin:0in;

+	margin-bottom:.0001pt;

+	text-align:justify;

+	mso-pagination:widow-orphan lines-together;

+	tab-stops:24.0pt 48.0pt 1.0in 96.0pt 120.0pt 2.0in 168.0pt 192.0pt 3.0in;

+	font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoToaHeading, li.MsoToaHeading, div.MsoToaHeading

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:6.0pt;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoList, li.MsoList, div.MsoList

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet, li.MsoListBullet, div.MsoListBullet

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l9 level1 lfo2;

+	tab-stops:list .25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber, li.MsoListNumber, div.MsoListNumber

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l8 level1 lfo3;

+	tab-stops:list .25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList2, li.MsoList2, div.MsoList2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList3, li.MsoList3, div.MsoList3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList4, li.MsoList4, div.MsoList4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoList5, li.MsoList5, div.MsoList5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet2, li.MsoListBullet2, div.MsoListBullet2

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l7 level1 lfo4;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet3, li.MsoListBullet3, div.MsoListBullet3

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l6 level1 lfo5;

+	tab-stops:list .75in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet4, li.MsoListBullet4, div.MsoListBullet4

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l5 level1 lfo6;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListBullet5, li.MsoListBullet5, div.MsoListBullet5

+	{mso-style-update:auto;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l4 level1 lfo7;

+	tab-stops:list 1.25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber2, li.MsoListNumber2, div.MsoListNumber2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l3 level1 lfo8;

+	tab-stops:list .5in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber3, li.MsoListNumber3, div.MsoListNumber3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l2 level1 lfo9;

+	tab-stops:list .75in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber4, li.MsoListNumber4, div.MsoListNumber4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.0in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l1 level1 lfo10;

+	tab-stops:list 1.0in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListNumber5, li.MsoListNumber5, div.MsoListNumber5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:1.25in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	mso-list:l0 level1 lfo11;

+	tab-stops:list 1.25in;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoTitle, li.MsoTitle, div.MsoTitle

+	{margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:1;

+	font-size:16.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-font-kerning:14.0pt;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.MsoClosing, li.MsoClosing, div.MsoClosing

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:3.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSignature, li.MsoSignature, div.MsoSignature

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:3.0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText, li.MsoBodyText, div.MsoBodyText

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue, li.MsoListContinue, div.MsoListContinue

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue2, li.MsoListContinue2, div.MsoListContinue2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.5in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue3, li.MsoListContinue3, div.MsoListContinue3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.75in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue4, li.MsoListContinue4, div.MsoListContinue4

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:1.0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoListContinue5, li.MsoListContinue5, div.MsoListContinue5

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:1.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoMessageHeader, li.MsoMessageHeader, div.MsoMessageHeader

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.75in;

+	margin-bottom:.0001pt;

+	text-indent:-.75in;

+	mso-pagination:widow-orphan lines-together;

+	background:#CCCCCC;

+	mso-shading:windowtext;

+	mso-pattern:gray-20 auto;

+	border:none;

+	mso-border-alt:solid windowtext .75pt;

+	padding:0in;

+	mso-padding-alt:1.0pt 1.0pt 1.0pt 1.0pt;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:2;

+	font-size:12.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoSalutation, li.MsoSalutation, div.MsoSalutation

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoDate, li.MsoDate, div.MsoDate

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextFirstIndent, li.MsoBodyTextFirstIndent, div.MsoBodyTextFirstIndent

+	{mso-style-parent:"Body Text";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	text-indent:10.5pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextFirstIndent2, li.MsoBodyTextFirstIndent2, div.MsoBodyTextFirstIndent2

+	{mso-style-parent:"Body Text Indent";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	text-indent:10.5pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoNoteHeading, li.MsoNoteHeading, div.MsoNoteHeading

+	{mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	line-height:200%;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	line-height:200%;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBodyTextIndent3, li.MsoBodyTextIndent3, div.MsoBodyTextIndent3

+	{margin-top:0in;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+p.MsoBlockText, li.MsoBlockText, div.MsoBlockText

+	{margin-top:0in;

+	margin-right:1.0in;

+	margin-bottom:6.0pt;

+	margin-left:1.0in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+a:link, span.MsoHyperlink

+	{color:blue;

+	text-decoration:underline;

+	text-underline:single;}

+a:visited, span.MsoHyperlinkFollowed

+	{color:purple;

+	text-decoration:underline;

+	text-underline:single;}

+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	background:navy;

+	font-size:10.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+p.MsoPlainText, li.MsoPlainText, div.MsoPlainText

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+p

+	{mso-margin-top-alt:auto;

+	margin-right:0in;

+	mso-margin-bottom-alt:auto;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	font-size:9.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";}

+p.MsoAcetate, li.MsoAcetate, div.MsoAcetate

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan lines-together;

+	font-size:8.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";

+	mso-ansi-language:EN-IE;}

+span.Heading2Char

+	{mso-style-name:"Heading 2 Char";

+	mso-style-locked:yes;

+	mso-style-link:"Heading 2";

+	mso-ansi-font-size:12.0pt;

+	font-family:Arial;

+	mso-ascii-font-family:Arial;

+	mso-hansi-font-family:Arial;

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;

+	mso-fareast-language:EN-US;

+	mso-bidi-language:AR-SA;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+p.Body, li.Body, div.Body

+	{mso-style-name:Body;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;}

+p.FunctionPrototype, li.FunctionPrototype, div.FunctionPrototype

+	{mso-style-name:"Function Prototype";

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	text-indent:-.25in;

+	mso-pagination:widow-orphan lines-together;

+	font-size:9.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-IE;}

+ /* Page Definitions */

+ @page

+	{mso-footnote-separator:url("JET_Creator_User_Manual_files/header.htm") fs;

+	mso-footnote-continuation-separator:url("JET_Creator_User_Manual_files/header.htm") fcs;

+	mso-endnote-separator:url("JET_Creator_User_Manual_files/header.htm") es;

+	mso-endnote-continuation-separator:url("JET_Creator_User_Manual_files/header.htm") ecs;}

+@page Section1

+	{size:595.45pt 841.7pt;

+	margin:1.1in 1.25in 1.1in 1.25in;

+	mso-header-margin:.5in;

+	mso-footer-margin:.4in;

+	mso-title-page:yes;

+	mso-even-header:url("JET_Creator_User_Manual_files/header.htm") eh1;

+	mso-header:url("JET_Creator_User_Manual_files/header.htm") h1;

+	mso-even-footer:url("JET_Creator_User_Manual_files/header.htm") ef1;

+	mso-footer:url("JET_Creator_User_Manual_files/header.htm") f1;

+	mso-first-footer:url("JET_Creator_User_Manual_files/header.htm") ff1;

+	mso-paper-source:0;}

+div.Section1

+	{page:Section1;}

+ /* List Definitions */

+ @list l0

+	{mso-list-id:-132;

+	mso-list-type:simple;

+	mso-list-template-ids:-762522690;}

+@list l0:level1

+	{mso-level-style-link:"List Number 5";

+	mso-level-tab-stop:1.25in;

+	mso-level-number-position:left;

+	margin-left:1.25in;

+	text-indent:-.25in;}

+@list l1

+	{mso-list-id:-131;

+	mso-list-type:simple;

+	mso-list-template-ids:828031264;}

+@list l1:level1

+	{mso-level-style-link:"List Number 4";

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-.25in;}

+@list l2

+	{mso-list-id:-130;

+	mso-list-type:simple;

+	mso-list-template-ids:1556219102;}

+@list l2:level1

+	{mso-level-style-link:"List Number 3";

+	mso-level-tab-stop:.75in;

+	mso-level-number-position:left;

+	margin-left:.75in;

+	text-indent:-.25in;}

+@list l3

+	{mso-list-id:-129;

+	mso-list-type:simple;

+	mso-list-template-ids:1492152526;}

+@list l3:level1

+	{mso-level-style-link:"List Number 2";

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l4

+	{mso-list-id:-128;

+	mso-list-type:simple;

+	mso-list-template-ids:373048972;}

+@list l4:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 5";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:1.25in;

+	mso-level-number-position:left;

+	margin-left:1.25in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l5

+	{mso-list-id:-127;

+	mso-list-type:simple;

+	mso-list-template-ids:-1897731242;}

+@list l5:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 4";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l6

+	{mso-list-id:-126;

+	mso-list-type:simple;

+	mso-list-template-ids:213402420;}

+@list l6:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 3";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.75in;

+	mso-level-number-position:left;

+	margin-left:.75in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l7

+	{mso-list-id:-125;

+	mso-list-type:simple;

+	mso-list-template-ids:-1230352896;}

+@list l7:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet 2";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l8

+	{mso-list-id:-120;

+	mso-list-type:simple;

+	mso-list-template-ids:-1099685254;}

+@list l8:level1

+	{mso-level-style-link:"List Number";

+	mso-level-tab-stop:.25in;

+	mso-level-number-position:left;

+	margin-left:.25in;

+	text-indent:-.25in;}

+@list l9

+	{mso-list-id:-119;

+	mso-list-type:simple;

+	mso-list-template-ids:-1849629656;}

+@list l9:level1

+	{mso-level-number-format:bullet;

+	mso-level-style-link:"List Bullet";

+	mso-level-text:\F0B7;

+	mso-level-tab-stop:.25in;

+	mso-level-number-position:left;

+	margin-left:.25in;

+	text-indent:-.25in;

+	font-family:Symbol;}

+@list l10

+	{mso-list-id:1411350143;

+	mso-list-template-ids:1661217014;}

+@list l10:level1

+	{mso-level-style-link:"Heading 1";

+	mso-level-text:%1;

+	mso-level-tab-stop:.3in;

+	mso-level-number-position:left;

+	margin-left:.3in;

+	text-indent:-.3in;}

+@list l10:level2

+	{mso-level-style-link:"Heading 2";

+	mso-level-text:"%1\.%2";

+	mso-level-tab-stop:.4in;

+	mso-level-number-position:left;

+	margin-left:.4in;

+	text-indent:-.4in;}

+@list l10:level3

+	{mso-level-style-link:"Heading 3";

+	mso-level-text:"%1\.%2\.%3";

+	mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	margin-left:.5in;

+	text-indent:-.5in;}

+@list l10:level4

+	{mso-level-style-link:"Heading 4";

+	mso-level-text:"%1\.%2\.%3\.%4";

+	mso-level-tab-stop:.6in;

+	mso-level-number-position:left;

+	margin-left:.6in;

+	text-indent:-.6in;}

+@list l10:level5

+	{mso-level-style-link:"Heading 5";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5";

+	mso-level-tab-stop:.7in;

+	mso-level-number-position:left;

+	margin-left:.7in;

+	text-indent:-.7in;}

+@list l10:level6

+	{mso-level-style-link:"Heading 6";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";

+	mso-level-tab-stop:.8in;

+	mso-level-number-position:left;

+	margin-left:.8in;

+	text-indent:-.8in;}

+@list l10:level7

+	{mso-level-style-link:"Heading 7";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";

+	mso-level-tab-stop:.9in;

+	mso-level-number-position:left;

+	margin-left:.9in;

+	text-indent:-.9in;}

+@list l10:level8

+	{mso-level-style-link:"Heading 8";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";

+	mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	margin-left:1.0in;

+	text-indent:-1.0in;}

+@list l10:level9

+	{mso-level-style-link:"Heading 9";

+	mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";

+	mso-level-tab-stop:1.1in;

+	mso-level-number-position:left;

+	margin-left:1.1in;

+	text-indent:-1.1in;}

+@list l11

+	{mso-list-id:1867253638;

+	mso-list-type:hybrid;

+	mso-list-template-ids:-1002652952 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}

+@list l11:level1

+	{mso-level-tab-stop:.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level2

+	{mso-level-tab-stop:1.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level3

+	{mso-level-tab-stop:1.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level4

+	{mso-level-tab-stop:2.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level5

+	{mso-level-tab-stop:2.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level6

+	{mso-level-tab-stop:3.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level7

+	{mso-level-tab-stop:3.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level8

+	{mso-level-tab-stop:4.0in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+@list l11:level9

+	{mso-level-tab-stop:4.5in;

+	mso-level-number-position:left;

+	text-indent:-.25in;}

+ol

+	{margin-bottom:0in;}

+ul

+	{margin-bottom:0in;}

+-->

+</style>

+<!--[if gte mso 10]>

+<style>

+ /* Style Definitions */

+ table.MsoNormalTable

+	{mso-style-name:"Table Normal";

+	mso-tstyle-rowband-size:0;

+	mso-tstyle-colband-size:0;

+	mso-style-noshow:yes;

+	mso-style-parent:"";

+	mso-padding-alt:0in 5.4pt 0in 5.4pt;

+	mso-para-margin:0in;

+	mso-para-margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-ansi-language:#0400;

+	mso-fareast-language:#0400;

+	mso-bidi-language:#0400;}

+</style>

+<![endif]--><!--[if gte mso 9]><xml>

+ <o:shapedefaults v:ext="edit" spidmax="5122" fill="f" fillcolor="white"

+  stroke="f">

+  <v:fill color="white" on="f"/>

+  <v:stroke on="f"/>

+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>

+ <o:shapelayout v:ext="edit">

+  <o:idmap v:ext="edit" data="1"/>

+ </o:shapelayout></xml><![endif]-->

+</head>

+

+<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

+	

+<pre>

+   Copyright (C) 2009 The Android Open Source Project

+

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+         http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+</pre>

+

+<div class=Section1>

+

+<p class=MsoTitle align=left style='text-align:left'><a name="_Toc203292246"></a><a

+name="_Toc203298075"><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:20.0pt'>JETCreator™ User Manual<o:p></o:p></span></span></a></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Vrs 1.0<o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE>Content

+Authoring Application for the</span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE>JET

+Interactive Music Engine</span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Authored by SONiVOX<o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'></span></span><a

+href="http://www.sonivoxrocks.com/"><span style='mso-bookmark:_Toc203298075'><span

+style='mso-bookmark:_Toc203292246'><span lang=EN-IE style='font-size:12.0pt'>www.sonivoxrocks.com</span></span></span><span

+style='mso-bookmark:_Toc203298075'><span style='mso-bookmark:_Toc203292246'></span></span></a><span

+style='mso-bookmark:_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span

+lang=EN-IE style='font-size:12.0pt'><o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Copyright 2009 Sonic Network, Inc.<o:p></o:p></span></span></span></p>

+

+<span style='mso-bookmark:_Toc203292246'></span><span style='mso-bookmark:_Toc203298075'></span>

+

+<p class=MsoHeader><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoHeader><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc482161515"></a><a name="_Toc203298082"><span style='mso-bookmark:

+_Toc482161515'><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:

+Arial'><span style='mso-list:Ignore'>1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Introduction</span></span></a></h1>

+

+<h2><a name="_Toc203298083"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Overview</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>This document contains the user guidelines

+for the SONiVOX JET Creator, an authoring application for creating and

+auditioning JET files. JET is an interactive music player for small embedded

+devices, including the Google Android platform. It allows applications to

+include interactive music soundtracks, in <st1:place w:st="on">MIDI</st1:place>

+format, that respond in real-time to game play events and user interaction. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>JET works in conjunction with SONiVOX’s

+Embedded Audio Synthesizer (EAS) which is the <st1:place w:st="on">MIDI</st1:place>

+playback device for Android.<span style='mso-spacerun:yes'>  </span>Both the

+JET and EAS engines are integrated into the Android embedded platform as well

+as inherent in the JET Creator application. As such, the JET content author can

+be sure that the playback will sound exactly the same in both the JET Creator

+and the final Android application playing back on Android mobile devices.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In addition to the graphical user

+interface, there are two main functionalities taking place in JET Creator. The

+first involves gathering all the source data (<st1:place w:st="on">MIDI</st1:place>

+files and DLS file), adding JET’s real-time attributes and building a JET

+(.jet) file that the Android application will use. The second functionality

+involves auditioning the interactive playback elements as they will take place

+in the Android application. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The JET Creator application is written in

+the Python programming language, therefore you need to have the current version

+of Python and WXWidgets installed. There is both a Mac and Windows version. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298084"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Abbreviations and Common Terms</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>It is important to use a common set of

+terms to minimize confusion. Since JET uses <st1:place w:st="on">MIDI</st1:place>

+in a unique way, normal industry terms may not always suffice. Here is the

+definition of terms as they are used in this document and in the JET Creator

+application:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Channel</span></i><span

+lang=EN-IE>: MIDI data associated with a specific <st1:place w:st="on">MIDI</st1:place>

+channel. Standard MIDI allows for 16 channels of <st1:place w:st="on">MIDI</st1:place>

+data each of which are typically associated with a specific instrument. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Controller</span></i><span

+lang=EN-IE>: A <st1:place w:st="on">MIDI</st1:place> event consisting of a

+channel number, controller number, and a controller value. The <st1:place

+w:st="on">MIDI</st1:place> spec associates many controller numbers with

+specific functions, such as volume, expression, sustain pedal, etc. JET also

+uses controller events as a means of embedding special control information in a

+<st1:place w:st="on">MIDI</st1:place> sequence to provide for audio synchronization.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>DAW</span></i><span

+lang=EN-IE>: Digital Audio Workstation. A common term for <st1:place w:st="on">MIDI</st1:place>

+and audio sequencing applications such as Logic, SONAR, Cubase and others. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>EAS:</span></i><span

+lang=EN-IE> Embedded <st1:place w:st="on">MIDI</st1:place> Synthesizer. The

+name of the SONiVOX MIDI synthesizer engine.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>JET</span></i><span

+lang=EN-IE>: Jet Interactive Engine. The name of the SONiVOX JET interactive

+music engine.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>M/B/T</span></i><span

+lang=EN-IE>: Measures, Beats and Ticks</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Segment</span></i><span

+lang=EN-IE>: A musical section such as a chorus or verse that is a component of

+the overall composition. In JET, a segment can be an entire MIDI file or a

+derived from a portion of a <st1:place w:st="on">MIDI</st1:place> file.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>SMF-0</span></i><span

+lang=EN-IE>: Standard MIDI File Type 0, a MIDI file that contains a single

+track, but may be made up of multiple channels of <st1:place w:st="on">MIDI</st1:place>

+data.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>SMF-1</span></i><span

+lang=EN-IE>: Standard MIDI File Type 1, a MIDI file that contains a one more

+tracks, and each track may in turn be made up of one or more channels of <st1:place

+w:st="on">MIDI</st1:place> data. By convention, each channel is stored on a

+separate track in an SMF-1 file. However, it is possible to have multiple MIDI

+channels on a single track, or multiple tracks that contain data for the same <st1:place

+w:st="on">MIDI</st1:place> channel.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>Track</span></i><span

+lang=EN-IE>: A single track in a DAW containing a timed sequence of <st1:place

+w:st="on">MIDI</st1:place> events. Be careful not to confuse Tracks with

+Channels. A MIDI file may contain many tracks with several tracks utilizing the

+same <st1:place w:st="on">MIDI</st1:place> channel. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298085"></a><a name="_Toc135723076"></a><a

+name="_Toc135723793"></a><a name="_Toc135724016"></a><a name="_Toc135724241"></a><a

+name="_Toc135724464"></a><a name="_Toc135724687"></a><a name="_Toc135724909"></a><a

+name="_Toc135725132"></a><a name="_Toc135726607"></a><a name="_Toc135727776"></a><a

+name="_Toc137004452"></a><a name="_Toc135724689"></a><a name="_Toc135724467"></a><![if !supportLists]><span

+style='mso-bookmark:_Toc203298085'><span lang=EN-IE style='mso-fareast-font-family:

+Arial'><span style='mso-list:Ignore'>1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span></span><![endif]><span style='mso-bookmark:_Toc203298085'><span

+lang=EN-IE>The JET Interactive Music Concept</span></span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>Interactive music can be defined as music

+that changes in real-time according to non-predictable events such as user

+interaction or game play events. In this way, interactive music is much more

+engaging as it has the ability to match the energy and mood of a game much

+closer than a pre-composed composition that never changes. In some applications

+and games, interactive music is central to the game play. Guitar Hero is one

+such popular game. When the end user successfully ‘captures’ the musical notes

+coming down the fret board, the music adapts itself and simultaneously keeps

+score of successes and failures. JET allows for these types of music driven

+games as well.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>There are several methods for making and

+controlling interactive music and JET is one such method. This section

+describes the features of JET and how they might be used in a game or software

+application. It also describes how JET can be used to save memory in small

+footprint devices such as Android enabled mobile handsets.</span></p>

+

+<h3><a name="_Toc203298086"><![if !supportLists]><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:

+Arial;mso-bidi-font-weight:normal'><span style='mso-list:Ignore'>1.1.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><![endif]><span

+class=Heading2Char><span lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:

+10.0pt;font-weight:normal'>Data Compression</span></span></a><span

+style='mso-bookmark:_Toc203298086'></span><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-bidi-font-weight:

+normal'><o:p></o:p></span></span></h3>

+

+<p class=MsoNormal><span lang=EN-IE>JET supports a flexible music format that

+can be used to create extended musical sequences with a minimal amount of data.

+A musical composition is broken up into segments that can be sequenced to

+create a longer piece. The sequencing can be fixed at the time the music file

+is authored, or it can be created dynamically under program control.</span></p>

+

+<h3><a name="_Toc203298087"><![if !supportLists]><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:

+Arial;mso-bidi-font-weight:normal'><span style='mso-list:Ignore'>1.1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><![endif]><span

+class=Heading2Char><span lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:

+10.0pt;font-weight:normal'>Linear Music Example</span></span></a><span

+style='mso-bookmark:_Toc203298087'></span><span class=Heading2Char><span

+lang=EN-IE style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-bidi-font-weight:

+normal'><o:p></o:p></span></span></h3>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shapetype id="_x0000_t75"

+ coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"

+ filled="f" stroked="f">

+ <v:stroke joinstyle="miter"/>

+ <v:formulas>

+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>

+  <v:f eqn="sum @0 1 0"/>

+  <v:f eqn="sum 0 0 @1"/>

+  <v:f eqn="prod @2 1 2"/>

+  <v:f eqn="prod @3 21600 pixelWidth"/>

+  <v:f eqn="prod @3 21600 pixelHeight"/>

+  <v:f eqn="sum @0 0 1"/>

+  <v:f eqn="prod @6 1 2"/>

+  <v:f eqn="prod @7 21600 pixelWidth"/>

+  <v:f eqn="sum @8 21600 0"/>

+  <v:f eqn="prod @7 21600 pixelHeight"/>

+  <v:f eqn="sum @10 21600 0"/>

+ </v:formulas>

+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

+ <o:lock v:ext="edit" aspectratio="t"/>

+</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:431.25pt;

+ height:294.75pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image030.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=575 height=393

+src="JET_Creator_User_Manual_files/image002.gif" v:shapes="_x0000_i1025"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"

+  DrawAspect="Content" ObjectID="_1298963408">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>1</span></span>: Linear Music Piece</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>This diagram shows how musical segments are

+stored. Each segment is authored as a separate <st1:place w:st="on">MIDI</st1:place>

+file. A post-processing tool combines the files into a single container file.

+Each segment can contain alternate music tracks that can be muted or un-muted

+to create additional interest. An example might be a brass accent in the chorus

+that is played only the last time through. Also, segments can be transposed up

+or down.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The bottom part of the diagram shows how

+the musical segments can be recombined to create a linear music piece. In this

+example, the bridge might end with a half-step key modulation and the remaining

+segments could be transposed up a half-step to match.</span></p>

+

+<h3><a name="_Toc203298088"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1.3<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Non-linear Music Example</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1026"

+ type="#_x0000_t75" style='width:6in;height:291.75pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image031.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=389

+src="JET_Creator_User_Manual_files/image004.gif" v:shapes="_x0000_i1026"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1026"

+  DrawAspect="Content" ObjectID="_1298963409">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>2</span></span>: Non-linear music piece</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In this diagram, we see a non-linear music

+piece. The scenario is a first-person-shooter (FPS) and JET is providing the

+background music. The intro plays as the level is loading and then transitions

+under program control to the Searching segment. This segment is repeated indefinitely,

+perhaps with small variations (using the mute/un-mute feature) until activity

+in the game dictates a change.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>As the player nears a monster lair, the

+program starts a synchronized transition to the Danger segment, increasing the

+tension level in the audio. As the player draws closer to the lair, additional

+tracks are un-muted to increase the tension.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>As the player enters into combat with the

+monster, the program starts a synchronized transition to the Combat segment.

+The segment repeats indefinitely as the combat continues. A Bonus Hit

+temporarily un-mutes a decorative track that notifies the player of a

+successful attack, and similarly, another track is temporarily un-muted to

+signify when the player receives Special Damage.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>At the end of combat, the music transitions

+to a victory or defeat segment based on the outcome of battle.</span></p>

+

+<h3><a name="_Toc203298089"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.1.4<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Mute/Un-mute Synchronization</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>JET can also synchronize the muting and

+un-muting of tracks to events in the music. For example, in the FPS game, it would

+probably be desirable to place the musical events relating to bonuses and

+damage as close to the actual game event as possible. However, simply un-muting

+a track at the moment the game event occurs might result in a music clip

+starting in the middle. Alternatively, a clip could be started from the

+beginning, but then it wouldn’t be synchronized with the other music tracks.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>However, with the JET sync engine, a clip

+can be started at the next opportune moment and maintain synchronization. This

+can be accomplished by placing a number of short music clips on a decorative

+track. A <st1:place w:st="on">MIDI</st1:place> event in the stream signifies

+the start of a clip and a second event signifies the end of a clip. When the

+application calls the JET clip function, the next clip in the track is allowed

+to play fully synchronized to the music. Optionally, the track can be

+automatically muted by a second <st1:place w:st="on">MIDI</st1:place> event.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1027"

+ type="#_x0000_t75" style='width:6in;height:116.25pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image032.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=155

+src="JET_Creator_User_Manual_files/image006.gif" v:shapes="_x0000_i1027"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1027"

+  DrawAspect="Content" ObjectID="_1298963410">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>3</span></span>: Synchronized Mute/Unmute</span></p>

+

+<h2><a name="_Toc203298090"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>1.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Audio Synchronization</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>JET provides an audio synchronization API

+that allows game play to be synchronized to events in the audio. The mechanism

+relies on data embedded in the <st1:place w:st="on">MIDI</st1:place> file at

+the time the content is authored. When the JET engine senses an event during

+playback it generates a callback into the application program. The timing of

+the callback can be adjusted to compensate for any latency in the audio

+playback system so that audio and video can be synchronized. The diagram below

+shows an example of a simple music game that involves pressing the left and

+right arrows in time with the music.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1028"

+ type="#_x0000_t75" style='width:6in;height:100.5pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image033.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=134

+src="JET_Creator_User_Manual_files/image008.gif" v:shapes="_x0000_i1028"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1028"

+  DrawAspect="Content" ObjectID="_1298963411">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>4</span></span>: Music Game<span style='mso-no-proof:

+yes'> with Synchronization<o:p></o:p></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The arrows represent events in the music sequence

+where game events need to be synchronized. In this case, the blue arrow

+represents a time where the player is supposed to press the left button, and

+the red arrow is for the right button. The yellow arrow tells the game engine

+that the sequence is complete. The player is allowed a certain time window

+before and after the event to press the appropriate key.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>If an event is received and the player has

+not pressed a button, a timer is set to half the length of the window. If the

+player presses the button before the timer expires, the game registers a

+success, and if not, the game registers a failure. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>If the player presses the button before the

+event is received, a timer is set to half the length of the window. If an event

+is received before the timer expires, the game registers a success, and if not,

+the game registers a failure. Game play might also include bonuses for getting

+close to the timing of the actual event. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298091"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Content Authoring Overview</span></a></h1>

+

+<p class=MsoNormal><span lang=EN-IE>To author JET files and hear them playback

+interactively, the content author will work in two applications which are

+designed to work together smoothly. The first is application is any

+off-the-shelf <st1:place w:st="on">MIDI</st1:place> sequencing application that

+supports VST (for PC) or AU (for Mac) plugins. Here the author will compose

+their <st1:place w:st="on">MIDI</st1:place> music files using the plugin as the

+synthesizer device. The second application is the JET Creator application. Here

+the author will import their <st1:place w:st="on">MIDI</st1:place> music files

+(and optionally a DLS2 soundset) and setup the conditions for interactive

+playback within the JET enabled game. Optionally the content author may create

+a custom set of DLS instruments using an instrument editor that supports the

+DLS Level 2 format. One such application is Awave from MJSoft. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Please see the <i style='mso-bidi-font-style:

+normal'>JET Content Authoring Guidelines</i> documentation for additional

+details on content authoring.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Installing and Launching JET

+Creator</span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>JET Creator is a python language

+application, therefore, you must have Python and wxPython installed on your

+machine. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>JetCreator was created and tested with:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Python Version 2.5.4</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>wxPython Version 2.8.7.1</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>These can be downloaded here:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>PC:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>http://www.python.org/download/releases/2.5.4/</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>http://www.wxpython.org/download.php</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>MAC:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>http://wiki.python.org/moin/MacPython/Leopard</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>http://www.wxpython.org/download.php</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>After installing Python and wxPython,

+simply unzip or copy all the files in the JET Creator application directory to

+a folder on your hard drive.</span></p>

+

+<p class=MsoNormal style='tab-stops:157.5pt'><span lang=EN-IE><span

+style='mso-tab-count:1'>                                                     </span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>To launch JET Creator go to a command

+prompt and set the directory to where you’ve installed Python. Next run python

+with the command:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>python

+jetcreator.py<o:p></o:p></span></i></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298093"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>4<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Using JET Creator</span></a></h1>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>4.1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>File Types</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>There are a few different file types

+associated with JET Creator.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>.jtc<span style='mso-tab-count:1'>        </span>JET

+Creator project file. This file contains all the information associated with a

+JET Creator project. When you Save or Save-as out of JET Creator, this file

+type is saved.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>.jet<span style='mso-tab-count:1'>        </span>JET

+File. This output file is automatically generated from JET Creator whenever you

+save your JET Creator project. This is the file that bundles all JET assets

+together into a single file that the Android application will use. Give this

+file to the Android application developer.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>.mid<span style='mso-tab-count:1'>      </span><st1:place

+w:st="on">MIDI</st1:place> File. This is the standard <st1:place w:st="on">MIDI</st1:place>

+type 1 file that JET Creator will use to make segments.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>.seg<span style='mso-tab-count:1'>      </span>Segment

+File. This is a JET Segment file. It has the same name as the <st1:place w:st="on">MIDI</st1:place>

+file which it references but contains additional Segment information.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>.zip<span style='mso-tab-count:1'>       </span>Zip

+Archive file. When you Export a JET Archive, a zip file is created that

+contains all the assets (files) necessary for JET Creator. Use this to transfer

+JET Creator projects to other people.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298094"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>4.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Open Dialog</span></a></h2>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE>When

+you first launch JET Creator you are presented with an open dialog like the

+following.</span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><!--[if gte vml 1]><v:shape

+ id="_x0000_i1029" type="#_x0000_t75" style='width:337.5pt;height:213.75pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image009.png" o:title="JET Open Dialog"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=450 height=285

+src="JET_Creator_User_Manual_files/image010.jpg" v:shapes="_x0000_i1029"><![endif]></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><b

+style='mso-bidi-font-weight:normal'><span lang=EN-IE>Open</span></b><span

+lang=EN-IE> will open an existing .jtc (JET Creator file) file. Use the browser

+button to browse to the directory where you have saved your .jtc file.</span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><b

+style='mso-bidi-font-weight:normal'><span lang=EN-IE>New</span></b><span

+lang=EN-IE> will create a new .jtc file.</span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><b

+style='mso-bidi-font-weight:normal'><span lang=EN-IE>Import</span></b><span

+lang=EN-IE> will import a JET Archive (.zip) file.</span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><b

+style='mso-bidi-font-weight:normal'><span lang=EN-IE>Cancel</span></b><span

+lang=EN-IE> will cancel the dialog and exit the application.</span></span></p>

+

+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p>&nbsp;</o:p></span></span></p>

+

+<span style='mso-bookmark:_Toc203298094'></span>

+

+<h1><a name="_Toc203298100"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Main Window</span></a><span

+lang=EN-IE> </span></h1>

+

+<p class=MsoNormal><span lang=EN-IE>The main window of the JET Creator

+application looks like the picture below. There are three main sections from

+top to bottom: segment view, event view, and timeline. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The segment view section displays a list of

+the current segments, which <st1:place w:st="on">MIDI</st1:place> file and

+(optionally) DLS2 file each segment is derived from. It also shows each

+segments start and stop time and each segments quantize, transpose, repeat and

+mute flag settings.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Just below the Segment view is the event

+view. The event view section displays all events associated with a given

+segment. Events only display when the segment they are assigned to is

+highlighted. Each event displays its type, start and end points, track and midi

+channel assignment, and its event ID.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Just below the Event view is the timeline

+display. The timeline shows how many measures a given segment is as well as any

+events associated with that segment. The timeline changes to display the

+currently selected or playing segment. You can trigger an event in this window

+while the segment is play by simply clicking on the event in the timeline

+display.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1030"

+ type="#_x0000_t75" style='width:415.5pt;height:283.5pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image011.png" o:title="JET Main Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=554 height=378

+src="JET_Creator_User_Manual_files/image012.jpg" v:shapes="_x0000_i1030"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><span lang=EN-IE>JET

+Creator Main Window<o:p></o:p></span></i></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The buttons along the left side of main

+window do the following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Add:<span style='mso-tab-count:1'>                    </span>-

+Displays the segment or event window for adding a new segment or event</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Revise:<span style='mso-tab-count:1'>                </span>-

+Displays the segment or event window for updating an existing segment or event</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Delete:<span style='mso-tab-count:1'>                 </span>-

+Deletes the selected segment or event (will ask for confirmation)</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Move:<span style='mso-tab-count:1'>                  </span>-

+Displays the move window which allows you to move selected segments or events

+in time</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Queue All:<span style='mso-tab-count:1'>            </span>- Queue’s

+(selects) all segments for playback</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Dequeue All:<span style='mso-tab-count:1'>        </span>- Dequeue’s

+(deselects) all segments</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Play:<span style='mso-tab-count:1'>                    </span>-

+Starts playback of all queue’d segments. This button changes to Stop if any

+segments are playing</span></p>

+

+<p class=MsoNormal style='margin-left:81.0pt;text-indent:-81.0pt'><span

+lang=EN-IE>Audition:<span style='mso-tab-count:1'>              </span>-

+Displays the Audition window (see below)</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298101"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Segment Window</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The segment window is where a given

+segment’s attributes are assigned and auditioned, as shown in the picture

+below. The left side of the window displays the segments attributes that are

+stored in the JET file. The right side of the window allows the author to set

+mute flags, repeat and transpose settings and audition the segment as it will

+play in the JET game.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-IE>Note</span></b><span

+lang=EN-IE>: the audition attributes (mute flags, repeat and transpose) are <i

+style='mso-bidi-font-style:normal'>not</i> stored in the JET content file

+(.jet) but rather are defined by the game or application itself. In programming

+language, these settings correspond directly with the API calls to the JET

+engine. By including them here, the JET content author can simulate how the

+segment will respond to the applications API commands during game play.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1031"

+ type="#_x0000_t75" style='width:414.75pt;height:221.25pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image013.png" o:title="JET Segment Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=553 height=295

+src="JET_Creator_User_Manual_files/image014.jpg" v:shapes="_x0000_i1031"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The segment parameters do the following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span

+lang=EN-IE>Segment Name<span style='mso-tab-count:2'>             </span>- Sets

+the name of the segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>MIDI File<span style='mso-tab-count:1'>                       </span>-

+The name and location of the <st1:place w:st="on">MIDI</st1:place> file from which

+the segment is derived. The button to the immediate right will bring up a

+browser for locating a midi file on the hard drive.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>DLS File<span style='mso-tab-count:1'>                       </span>-

+The name and location of the DLS2 file, if any, that the <st1:place w:st="on">MIDI</st1:place>

+file uses for that segment.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Starting M/B/T<span style='mso-tab-count:1'>               </span>-

+Starting measure, beat and tick of the segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Ending M/B/T<span style='mso-tab-count:1'>                </span>-

+Ending measure, beat and tick of the segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Quantize<span style='mso-tab-count:1'>                       </span>-

+Quantize value for quantizing the current segment during playback</span></p>

+

+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span

+lang=EN-IE>The audition fields are as follows:</span></p>

+

+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Track Mutes<span style='mso-tab-count:1'>                  </span>-

+Shows the MIDI <b style='mso-bidi-font-weight:normal'>tracks</b> (not channels)

+in the <st1:place w:st="on">MIDI</st1:place> file. Clicking on a track’s

+checkbox will mute that track. </span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Channel<span style='mso-tab-count:1'>                        </span>-

+Displays the <st1:place w:st="on">MIDI</st1:place> channel assigned to each

+track</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Name<span style='mso-tab-count:1'>                            </span>-

+Displays the track name meta event (if present) for each track</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Repeat<span style='mso-tab-count:1'>                          </span>-

+Indicates the number of times a segment should repeat during playback</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Transpose<span style='mso-tab-count:1'>                     </span>-

+Indicates the transposition in semi-tones or half-steps a segment should

+transpose during playback</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>To the right of the Audition window are a few additional buttons.

+These do as follows:</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>OK<span style='mso-tab-count:1'>                               </span>-

+Selecting OK confirms all segment settings and closes the segment window</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Cancel<span style='mso-tab-count:1'>                          </span>-

+Selecting Cancel cancels any changes and closes the segment window</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Replicate<span style='mso-tab-count:1'>                      </span>-

+Displays the Replicate Segment window for entering multiple segments at once.

+See below.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Play/Stop Segment<span style='mso-tab-count:1'>       </span>- Starts

+or Stops playback of the segment using the segment attributes assigned. </span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Play/Stop MIDI File<span style='mso-tab-count:1'>       </span>-

+Starts or Stops playback of the <st1:place w:st="on">MIDI</st1:place> file

+which the segment is assigned to. </span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Pause/Resume<span style='mso-tab-count:1'>              </span>-

+Pauses or Resumes playback.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298102"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Event Window</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The event window is where a given segment’s

+event attributes are assigned and auditioned, as shown in the picture below. To

+add an event to a segment, the author must first select the segment which will

+contain the event, then select the Add button. This will bring up the Event

+window.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1032"

+ type="#_x0000_t75" style='width:415.5pt;height:220.5pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image015.png" o:title="JET Event Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=554 height=294

+src="JET_Creator_User_Manual_files/image016.jpg" v:shapes="_x0000_i1032"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>There are two main sections to the event

+window. The segment section on the left side of the event window is for display

+only. It shows what the segment attributes are for the given segment. The Event

+section, on the right side, is where events can be assigned. The following

+parameters are available:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Event Name<span style='mso-tab-count:1'>                    </span>-

+Assigns a name to an event</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Event Type<span style='mso-tab-count:1'>                     </span>-

+Selects which type of event to assign.</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Starting M/B/T<span style='mso-tab-count:1'>                </span>-

+Sets the starting measure, beat, and tick for the event</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Ending M/B/T<span style='mso-tab-count:1'>                 </span>-

+Sets the ending measure, beat, and tick for the event, if applicable</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Track<span style='mso-tab-count:1'>                              </span>-

+Sets which track in the given segment the event will apply to</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Channel<span style='mso-tab-count:1'>                          </span>-

+Sets which <st1:place w:st="on">MIDI</st1:place> channel the event will apply

+to. The MIDI channel should match the <st1:place w:st="on">MIDI</st1:place>

+channel of the track</span></p>

+

+<p class=MsoNormal style='margin-left:112.5pt;text-indent:-112.5pt'><span

+lang=EN-IE>Event ID<span style='mso-tab-count:1'>                         </span>-

+Sets the event ID for the event. Multiple events can be assigned to the same

+segment and therefore the Event ID is used to identify them</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>To the right of the Audition window are a few additional buttons.

+These do as follows:</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>OK<span style='mso-tab-count:1'>                               </span>-

+Selecting OK confirms all event settings and closes the event window</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Cancel<span style='mso-tab-count:1'>                          </span>-

+Selecting Cancel cancels any changes and closes the event window</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Replicate<span style='mso-tab-count:1'>                      </span>-

+Displays the Replicate Event window for entering multiple events at once. See

+below.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Play/Stop<span style='mso-tab-count:1'>                     </span>-

+Starts or Stops playback of the segment using the segment attributes assigned.

+While the segment is playing, events can be triggered and auditioned.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Trigger<span style='mso-tab-count:1'>                          </span>-

+Triggers the event assigned. This replicates the API command that the JET game

+will use to trigger the event, therefore giving the content author a method for

+auditioning the behaviour of the event.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Mute/UnMute<span style='mso-tab-count:1'>                 </span>-

+Mute/UnMute will mute or unmute the track that the event is assigned to</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Pause/Resume<span style='mso-tab-count:1'>              </span>-

+Pauses or Resumes playback.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>To audition the behaviour of an event, you

+can select the Play button. This will initiate playback. The trigger button

+will send the trigger event when pressed. This is equivalent to selecting the

+green trigger event in the timeline. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Note: Trigger events are meant to unmute a

+single track of a segment when triggered, then mute that track at the end of

+the trigger segment. Therefore you should make sure the mute flag is set to

+mute the track that a trigger event will be unmuting when receiving a trigger event.

+</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Please read Section 7 “Under The Hood”

+below for details on how trigger events work and behave. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>5.3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Replicate Windows</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Often in creating JET files, you’ll need to

+create tens or even hundreds of events. You may also need to move events. The

+Replicate and Move windows allow for this. There are two Replicate windows for

+creating multiple segments or events. They look like the following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1033"

+ type="#_x0000_t75" style='width:296.25pt;height:314.25pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image017.png" o:title="JET Replicate Segment Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=395 height=419

+src="JET_Creator_User_Manual_files/image018.jpg" v:shapes="_x0000_i1033"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Replicate Segment Window</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1034"

+ type="#_x0000_t75" style='width:298.5pt;height:318.75pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image019.png" o:title="JET Replicate Event Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=398 height=425

+src="JET_Creator_User_Manual_files/image020.jpg" v:shapes="_x0000_i1034"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Replicate Event Window</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Both Replicate windows function the same.

+After creating an initial segment or event, you can select the Replicate

+button. The parameters are as follows:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Name Prefix<span style='mso-tab-count:1'>                  </span>-

+Sets the prefix for the name of each segment or event created</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Starting M/B/T<span style='mso-tab-count:1'>               </span>-

+Sets the starting time for the first segment or event</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Increment M/B/T<span style='mso-tab-count:1'>            </span>-

+Sets the time between segments or events created. </span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Number<span style='mso-tab-count:1'>                         </span>-

+Sets the number of segments or events you wish to create. If the number

+overflows the length of the <st1:place w:st="on">MIDI</st1:place> file (for

+segments) or segment (for events), those objects will not be created.</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Preview<span style='mso-tab-count:1'>                         </span>-

+Preview allows you to examine the objects created before saying OK to insert

+them.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>5.4<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Move Windows</span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The Move function acts similarly to the

+Replicate function in that it allows you to edit multiple segments or events at

+one time, in this case move them in time. Like Replicate, there are two Move

+windows, one for Segments and one for Events. The windows look like the

+following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1035"

+ type="#_x0000_t75" style='width:300pt;height:318pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image021.png" o:title="JET Move Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=400 height=424

+src="JET_Creator_User_Manual_files/image022.jpg" v:shapes="_x0000_i1035"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Move Event Window</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>To use Move, first select the segments or

+events you wish to move in time, then click the Move button. The parameters are

+as follows:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Starting M/B/T<span style='mso-tab-count:1'>               </span>-

+Sets the starting time for the first segment or event</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Increment M/B/T<span style='mso-tab-count:1'>            </span>-

+Sets the time in M/B/T you wish to move the objects by. </span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Preview<span style='mso-tab-count:1'>                         </span>-

+Preview allows you to examine the objects created before saying OK to move

+them.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298103"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.5<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Audition Window</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Clicking the Audition button in the main

+window of the JET Creator application will open the Audition window. This is

+where the content author or application programmer can simulate the interactive

+playback as it may occur in the mobile application or game itself.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1036"

+ type="#_x0000_t75" style='width:415.5pt;height:277.5pt'>

+ <v:imagedata src="JET_Creator_User_Manual_files/image023.png" o:title="JET Audition Window"/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=554 height=370

+src="JET_Creator_User_Manual_files/image024.jpg" v:shapes="_x0000_i1036"><![endif]></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>JET Audition Window</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>There are four main sections to the

+audition window. The left most section displays the available segments and

+their length in seconds. The middle section displays a running list of what

+segments are queued for playback and what their playback status is. The far

+right section displays the mute flags for the currently playing segment. The

+timeline section at the bottom is the same as in the main window. It displays

+the currently playing segment as well as a visual display of any event triggers

+associated with that segment. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The Audition window allows you to queue up

+any segment in any order for playback. To do this simply select the segment you

+wish to cue and hit Queue. That segment will appear in the queue window and

+start playing (if it is the first segment). Subsequently you can select any

+other segment or segments and cue them up for playback. As the segments

+complete playback, the next segment in the queue will begin playing. As is the

+other windows of JET Creator, you can mute, unmute, trigger event clips, etc.

+in realtime as each segment is playing back.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Specifically the buttons behave as follows:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Queue<span style='mso-tab-count:1'>                           </span>-

+loads the selected segment into the queue and starts playback</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Cancel and Queue<span style='mso-tab-count:1'>         </span>-

+cancels the currently playing segment before queueing the selected segment for

+playback</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Cancel Current<span style='mso-tab-count:1'>               </span>-

+cancels the currently playing segment in the queue and begins playback of the

+next segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Stop<span style='mso-tab-count:1'>                             </span>-

+stops playback of all queued segments</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Mute All<span style='mso-tab-count:1'>                        </span>-

+mutes all tracks in the current segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Mute None<span style='mso-tab-count:1'>                    </span>-

+unmutes all tracks in the current segment</span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Original Mutes<span style='mso-tab-count:1'>               </span>-

+sets the original mute flags for the current segment</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The combination of these playback options

+allows an author or application programmer to audition any behaviour an

+interactive music application may encounter. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><![if !supportLists]><span lang=EN-IE style='mso-fareast-font-family:Arial'><span

+style='mso-list:Ignore'>5.6<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Creator Menus </span></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The JET Creator menus provide access to

+many of the parameters in the main window plus a few additional parameters.</span></p>

+

+<h3><a name="_Toc203298095"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.6.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>File Menu</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The File Menu contains the following

+elements:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>New<span style='mso-tab-count:3'>                              </span>-

+Creates a new JET Creator file (.jtc)</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Open<span style='mso-tab-count:3'>                            </span>-

+Opens an existing JET Creator file</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Save<span style='mso-tab-count:3'>                             </span>-

+Saves the currently opened JET Creator file</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Save As<span style='mso-tab-count:2'>                        </span>-

+Saves the currently opened JET Creator file to a new file</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Import Project<span style='mso-tab-count:

+2'>               </span>- Imports a JET Creator archive (.zip)</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Export Project<span style='mso-tab-count:

+2'>               </span>- Exports a JET Creator archive (.zip)</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Exit<span style='mso-tab-count:3'>                              </span>-

+Exits the application</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><a name="_Toc203298096"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.6.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Edit Menu</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The Edit Menu contains the following

+elements:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Undo<span style='mso-tab-count:3'>                            </span>-

+Undo will undo the last edit made</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Redo<span style='mso-tab-count:3'>                            </span>-

+Redo will redo the last undo</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Cut<span style='mso-tab-count:3'>                               </span>-

+Copy selected parameter into clipboard and Delete selection</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Copy<span style='mso-tab-count:3'>                            </span>-

+Copy selected parameter into clipboard and keep selection</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Paste<span style='mso-tab-count:3'>                            </span>-

+Paste selected parameter</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><a name="_Toc203298097"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.6.3<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The Edit Menu contains the following

+elements:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in'><span

+lang=EN-IE>Properties<span style='mso-tab-count:1'>                     </span>-

+Brings up the JET Creator priorities window. This window allows you to set the

+following conditions for a given JET file:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Copyright Info<span style='mso-tab-count:

+2'>               </span>- Contains copyright info to be inserted into JET file</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Chase Controllers<span style='mso-tab-count:

+1'>          </span>- Option to chase controllers (on/off). This should usually

+be ON.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Delete Empty Tracks<span style='mso-tab-count:

+1'>     </span>- Deletes any empty <st1:place w:st="on">MIDI</st1:place> tracks</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><a name="_Toc203298098"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.6.4<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Segments</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The Segments Menu contains the following

+elements:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Add Segment<span style='mso-tab-count:2'>                </span>-

+Brings up the Segment window</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Update Segment<span style='mso-tab-count:

+1'>           </span>- Updates segment attributes</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Delete Segment<span style='mso-tab-count:

+2'>                        </span>- Deletes the current segment from the

+Segment List</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h3><a name="_Toc203298099"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>5.6.5<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Help</span></a></h3>

+

+<p class=MsoNormal><span lang=EN-IE>The Help Menu will contain at least the

+following elements:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>JET Creator Help<span style='mso-tab-count:

+1'>           </span>- will launch PDF help document or go to on-line help</span></p>

+

+<p class=MsoNormal><span lang=EN-IE>About<span style='mso-tab-count:3'>                           </span>-

+JET Creator version number, SONiVOX info</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h1><a name="_Toc203298104"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>6<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Trigger Events Explained</span></a></h1>

+

+<p class=MsoNormal><span lang=EN-IE>Breaking a <st1:place w:st="on">MIDI</st1:place>

+file into individual (non-linear) segments and queueing up those segments for

+playback in a game based on events within the game is one way JET music files are

+interactive. Trigger events are an additional method for interactive playback.

+Both would be used together in an interactive game or application.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Trigger events allow for the following:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<ol style='margin-top:0in' start=1 type=1>

+ <li class=MsoNormal style='mso-list:l11 level1 lfo12;tab-stops:list .5in'><span

+     lang=EN-IE>Tracks <i style='mso-bidi-font-style:normal'>within</i> a <st1:place

+     w:st="on">MIDI</st1:place> segment can be turned on or off based on game

+     events. For example the composer could author two drum tracks, one fast

+     and one slow. If the action in a game is fast, the fast drum track could

+     play. If the action in the game is slow, the slow drum track can play.</span></li>

+ <li class=MsoNormal style='mso-list:l11 level1 lfo12;tab-stops:list .5in'><span

+     lang=EN-IE>User actions can be compared to trigger events which are

+     pre-inserted into a music file at musically ‘correct’ places. Based on the

+     results, scoring or other game actions can take place. </span></li>

+ <li class=MsoNormal style='mso-list:l11 level1 lfo12;tab-stops:list .5in'><span

+     lang=EN-IE>Musical transitions between levels or action sequences can be

+     synchronized to be musically seemless.</span></li>

+</ol>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Under the hood, JET uses standard MIDI CC

+events to accomplish these actions and to synchronize audio. The controllers

+used by JET are among those not defined for specific use by the <st1:place

+w:st="on">MIDI</st1:place> specification. The specific controller definitions

+are as follows:</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-tab-count:1'>            </span>Controllers

+80-83<span style='mso-tab-count:1'>           </span>Reserved for use by

+application</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-tab-count:1'>            </span>Controller

+102<span style='mso-tab-count:2'>                </span>JET event marker</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-tab-count:1'>            </span>Controller

+103<span style='mso-tab-count:2'>                </span>JET clip marker</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-tab-count:1'>            </span>Controllers

+104-119<span style='mso-tab-count:1'>        </span>Reserved for future use</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298105"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>6.1<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Clip Marker (CC103)</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Controller 103 is reserved for marking

+clips in a <st1:place w:st="on">MIDI</st1:place> track that can be triggered by

+the JET_TriggerClip API call. The clip ID is encoded in the low 6 bits of the

+controller value. Bit 6 is set to one to indicate the start of a clip, and set

+to zero to indicate the end of a clip.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>For example, to identify a clip with a clip

+ID of 1, the author inserts a <st1:place w:st="on">MIDI</st1:place> controller

+event with controller=103 and value=65 at the start of the clip and another

+event with controller=103 and value=1 at the end of the clip. When the

+JET_TriggerClip() function is called with a clip ID of 1, the track will be

+un-muted when the controller value 65 is encountered and muted again when the

+controller value 1 is encountered.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1037"

+ type="#_x0000_t75" style='width:369pt;height:275.25pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image034.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=492 height=367

+src="JET_Creator_User_Manual_files/image026.gif" v:shapes="_x0000_i1037"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1037"

+  DrawAspect="Content" ObjectID="_1298963412">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>5</span></span>: Synchronized Clip</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>In the figure above, if the

+JET_TriggerClip() function is called prior to the first controller event, Track

+3 will be un-muted when the first controller event occurs, the first clip will

+play, and the track will be muted when the second controller event occurs. If

+the JET_TriggerClip() function is called after the first controller event has

+occurred, Track 3 will be un-muted when the third controller event occurs, the

+second clip will play, and the track will be muted again when the fourth

+controller event occurs.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-IE>Note:</span></b><span

+lang=EN-IE> Normally, the track containing the clip is muted by the application

+when the segment is initially queued by the call to JET_QueueSegment(). If it

+is not muted, the clip will always play until Jet_TriggerClip() has been called

+with the clip ID.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<h2><a name="_Toc203298106"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>6.2<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>JET Event Marker (CC102)</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>Controller 102 is reserved for marking

+events in the <st1:place w:st="on">MIDI</st1:place> streams that are specific

+to JET functionality. Currently, the only defined value is 0, which marks the

+end of a segment for timing purposes. </span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>Normally, JET starts playback of the next

+segment (or repeats the current segment) when the <st1:place w:st="on">MIDI</st1:place>

+end-of-track meta-event is encountered. Some <st1:place w:st="on">MIDI</st1:place>

+authoring tools make it difficult to place the end-of-track marker accurately,

+resulting in synchronization problems when segments are joined together.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>To avoid this problem, the author can place

+a JET end-of-segment marker (controller=102, value=0) at the point where the

+segment is to be looped. When the end-of-segment marker is encountered, the

+next segment will be triggered, or if the current segment is looped, playback

+will resume at the start of the segment.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE>The end-of-segment marker can also be used

+to allow for completion of a musical figure beyond the end of measure that

+marks the start of the next segment. For example, the content author might

+create a 4-bar segment with a drum fill that ends on beat 1 of the 5<sup>th</sup>

+bar – a bar beyond the natural end of the segment. By placing an end-of-segment

+marker at the end of the 4<sup>th</sup> bar, the next segment will be

+triggered, but the drum fill will continue in parallel with the next segment

+providing musical continuity.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><!--[if gte vml 1]><v:shape id="_x0000_i1038"

+ type="#_x0000_t75" style='width:350.25pt;height:138.75pt' o:ole="">

+ <v:imagedata src="JET_Creator_User_Manual_files/image035.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=467 height=185

+src="JET_Creator_User_Manual_files/image028.gif" v:shapes="_x0000_i1038"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1038"

+  DrawAspect="Content" ObjectID="_1298963413">

+ </o:OLEObject>

+</xml><![endif]--></span></p>

+

+<p class=MsoCaption><span lang=EN-IE>Figure <span style='mso-field-code:" SEQ Figure \\* ARABIC "'><span

+style='mso-no-proof:yes'>6</span></span>: End-of-segment Marker</span></p>

+

+<h2><a name="_Toc203298107"><![if !supportLists]><span lang=EN-IE

+style='mso-fareast-font-family:Arial'><span style='mso-list:Ignore'>6.3<span

+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

+</span></span></span><![endif]><span lang=EN-IE>Application Controllers

+(CC80-83)</span></a></h2>

+

+<p class=MsoNormal><span lang=EN-IE>The application may use controllers in this

+range for its own purposes. When a controller in this range is encountered, the

+event is entered into an event queue that can be queried by the application.

+Some possible uses include synchronizing video events with audio and marking a

+point in a <st1:place w:st="on">MIDI</st1:place> segment to queue up the next

+segment. The range of controllers monitored by the application can be modified

+by the application during initialization.</span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Creator_User_Manual_files/header.htm b/docs/JET_Creator_User_Manual_files/header.htm
new file mode 100755
index 0000000..e7a72f2
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/header.htm
@@ -0,0 +1,220 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<link id=Main-File rel=Main-File href="../JET%20Creator%20User%20Manual.htm">

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+<!--[if gte mso 9]><xml>

+ <o:shapedefaults v:ext="edit" spidmax="5122" fill="f" fillcolor="white"

+  stroke="f">

+  <v:fill color="white" on="f"/>

+  <v:stroke on="f"/>

+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>

+ <o:shapelayout v:ext="edit">

+  <o:idmap v:ext="edit" data="4"/>

+ </o:shapelayout></xml><![endif]-->

+</head>

+

+<body lang=EN-US link=blue vlink=purple>

+

+<div style='mso-element:footnote-separator' id=fs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footnote-continuation-separator' id=fcs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:endnote-separator' id=es>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:endnote-continuation-separator' id=ecs>

+

+<p class=MsoNormal><span lang=EN-IE><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:header' id=eh1>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:header' id=h1>

+

+<p class=MsoHeader><span style='mso-ansi-language:EN-US;mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype

+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"

+ path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">

+ <v:stroke joinstyle="miter"/>

+ <v:formulas>

+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>

+  <v:f eqn="sum @0 1 0"/>

+  <v:f eqn="sum 0 0 @1"/>

+  <v:f eqn="prod @2 1 2"/>

+  <v:f eqn="prod @3 21600 pixelWidth"/>

+  <v:f eqn="prod @3 21600 pixelHeight"/>

+  <v:f eqn="sum @0 0 1"/>

+  <v:f eqn="prod @6 1 2"/>

+  <v:f eqn="prod @7 21600 pixelWidth"/>

+  <v:f eqn="sum @8 21600 0"/>

+  <v:f eqn="prod @7 21600 pixelHeight"/>

+  <v:f eqn="sum @10 21600 0"/>

+ </v:formulas>

+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

+ <o:lock v:ext="edit" aspectratio="t"/>

+</v:shapetype><v:shape id="_x0000_s4097" type="#_x0000_t75" style='position:absolute;

+ margin-left:337.05pt;margin-top:.2pt;width:81pt;height:24.85pt;z-index:-1'>

+ <v:imagedata src="image029.jpg" o:title="SONiVOX Logo 150"/>

+</v:shape><![endif]--></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=ef1>

+

+<p class=MsoFooter><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=f1>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=ff1>

+

+<p class=MsoFooter align=center style='text-align:center'><span lang=EN-IE

+style='color:olive'>SONiVOX JET Creator User Documentation<span

+style='mso-tab-count:1'> </span><span style='mso-spacerun:yes'>  

+</span>Vrs.3<span style='mso-spacerun:yes'>   </span>Page <span

+class=MsoPageNumber><span style='font-family:Arial'><span style='mso-field-code:

+" PAGE "'><span style='mso-no-proof:yes'>1</span></span>/<span

+style='mso-field-code:" NUMPAGES "'><span style='mso-no-proof:yes'>20</span></span></span></span><o:p></o:p></span></p>

+

+<p class=MsoNormal><span lang=EN-IE><o:p>&nbsp;</o:p></span></p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Creator_User_Manual_files/image001.emz b/docs/JET_Creator_User_Manual_files/image001.emz
new file mode 100755
index 0000000..f152c11
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image001.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image002.gif b/docs/JET_Creator_User_Manual_files/image002.gif
new file mode 100755
index 0000000..eb1aa37
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image002.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image003.emz b/docs/JET_Creator_User_Manual_files/image003.emz
new file mode 100755
index 0000000..010c4bd
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image003.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image004.gif b/docs/JET_Creator_User_Manual_files/image004.gif
new file mode 100755
index 0000000..4e99824
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image004.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image005.emz b/docs/JET_Creator_User_Manual_files/image005.emz
new file mode 100755
index 0000000..a29ebfd
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image005.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image006.gif b/docs/JET_Creator_User_Manual_files/image006.gif
new file mode 100755
index 0000000..17919fd
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image006.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image007.emz b/docs/JET_Creator_User_Manual_files/image007.emz
new file mode 100755
index 0000000..31cba25
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image007.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image008.gif b/docs/JET_Creator_User_Manual_files/image008.gif
new file mode 100755
index 0000000..54111a0
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image008.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image009.png b/docs/JET_Creator_User_Manual_files/image009.png
new file mode 100755
index 0000000..0d5a14d
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image009.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image010.jpg b/docs/JET_Creator_User_Manual_files/image010.jpg
new file mode 100755
index 0000000..d0dbb1d
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image010.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image011.png b/docs/JET_Creator_User_Manual_files/image011.png
new file mode 100755
index 0000000..29c47ec
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image011.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image012.jpg b/docs/JET_Creator_User_Manual_files/image012.jpg
new file mode 100755
index 0000000..ac54829
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image012.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image013.png b/docs/JET_Creator_User_Manual_files/image013.png
new file mode 100755
index 0000000..b0434d7
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image013.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image014.jpg b/docs/JET_Creator_User_Manual_files/image014.jpg
new file mode 100755
index 0000000..18212b3
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image014.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image015.png b/docs/JET_Creator_User_Manual_files/image015.png
new file mode 100755
index 0000000..807797e
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image015.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image016.jpg b/docs/JET_Creator_User_Manual_files/image016.jpg
new file mode 100755
index 0000000..fa7931d
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image016.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image017.png b/docs/JET_Creator_User_Manual_files/image017.png
new file mode 100755
index 0000000..ca200d1
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image017.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image018.jpg b/docs/JET_Creator_User_Manual_files/image018.jpg
new file mode 100755
index 0000000..64bb5c3
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image018.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image019.png b/docs/JET_Creator_User_Manual_files/image019.png
new file mode 100755
index 0000000..7867902
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image019.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image020.jpg b/docs/JET_Creator_User_Manual_files/image020.jpg
new file mode 100755
index 0000000..9943ae2
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image020.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image021.png b/docs/JET_Creator_User_Manual_files/image021.png
new file mode 100755
index 0000000..690dcad
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image021.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image022.jpg b/docs/JET_Creator_User_Manual_files/image022.jpg
new file mode 100755
index 0000000..7b517fa
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image022.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image023.png b/docs/JET_Creator_User_Manual_files/image023.png
new file mode 100755
index 0000000..43f0fb1
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image023.png
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image024.jpg b/docs/JET_Creator_User_Manual_files/image024.jpg
new file mode 100755
index 0000000..cea31c8
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image024.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image025.emz b/docs/JET_Creator_User_Manual_files/image025.emz
new file mode 100755
index 0000000..1668a8e
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image025.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image026.gif b/docs/JET_Creator_User_Manual_files/image026.gif
new file mode 100755
index 0000000..f9a4a89
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image026.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image027.emz b/docs/JET_Creator_User_Manual_files/image027.emz
new file mode 100755
index 0000000..2b06699
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image027.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image028.gif b/docs/JET_Creator_User_Manual_files/image028.gif
new file mode 100755
index 0000000..1d18152
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image028.gif
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image029.jpg b/docs/JET_Creator_User_Manual_files/image029.jpg
new file mode 100755
index 0000000..d244843
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image029.jpg
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image030.emz b/docs/JET_Creator_User_Manual_files/image030.emz
new file mode 100755
index 0000000..f152c11
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image030.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image031.emz b/docs/JET_Creator_User_Manual_files/image031.emz
new file mode 100755
index 0000000..010c4bd
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image031.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image032.emz b/docs/JET_Creator_User_Manual_files/image032.emz
new file mode 100755
index 0000000..a29ebfd
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image032.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image033.emz b/docs/JET_Creator_User_Manual_files/image033.emz
new file mode 100755
index 0000000..31cba25
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image033.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image034.emz b/docs/JET_Creator_User_Manual_files/image034.emz
new file mode 100755
index 0000000..1668a8e
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image034.emz
Binary files differ
diff --git a/docs/JET_Creator_User_Manual_files/image035.emz b/docs/JET_Creator_User_Manual_files/image035.emz
new file mode 100755
index 0000000..2b06699
--- /dev/null
+++ b/docs/JET_Creator_User_Manual_files/image035.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual.htm b/docs/JET_Programming_Manual.htm
new file mode 100644
index 0000000..198a9e6
--- /dev/null
+++ b/docs/JET_Programming_Manual.htm
@@ -0,0 +1,1333 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<link rel=File-List href="JET_Programming_Manual_files/filelist.xml">

+<link rel=Edit-Time-Data href="JET_Programming_Manual_files/editdata.mso">

+<link rel=OLE-Object-Data href="JET_Programming_Manual_files/oledata.mso">

+<!--[if !mso]>

+<style>

+v\:* {behavior:url(#default#VML);}

+o\:* {behavior:url(#default#VML);}

+w\:* {behavior:url(#default#VML);}

+.shape {behavior:url(#default#VML);}

+</style>

+<![endif]-->

+<title>JET PROGRAMMING MANUAL</title>

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+<!--[if gte mso 9]><xml>

+ <o:DocumentProperties>

+  <o:Author>Dave Sparks</o:Author>

+  <o:Template>SONiVOX Technical Note.dot</o:Template>

+  <o:LastAuthor>Jennifer Hruska</o:LastAuthor>

+  <o:Revision>5</o:Revision>

+  <o:TotalTime>34</o:TotalTime>

+  <o:LastPrinted>2006-06-30T19:06:00Z</o:LastPrinted>

+  <o:Created>2009-03-13T18:45:00Z</o:Created>

+  <o:LastSaved>2009-03-19T14:20:00Z</o:LastSaved>

+  <o:Pages>1</o:Pages>

+  <o:Words>3887</o:Words>

+  <o:Characters>22157</o:Characters>

+  <o:Company> </o:Company>

+  <o:Lines>184</o:Lines>

+  <o:Paragraphs>51</o:Paragraphs>

+  <o:CharactersWithSpaces>25993</o:CharactersWithSpaces>

+  <o:Version>11.9999</o:Version>

+ </o:DocumentProperties>

+ <o:OfficeDocumentSettings>

+  <o:AllowPNG/>

+ </o:OfficeDocumentSettings>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:WordDocument>

+  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>

+  <w:DrawingGridVerticalSpacing>8.15 pt</w:DrawingGridVerticalSpacing>

+  <w:DisplayHorizontalDrawingGridEvery>2</w:DisplayHorizontalDrawingGridEvery>

+  <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>

+  <w:ValidateAgainstSchemas/>

+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>

+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

+  <w:Compatibility>

+   <w:BreakWrappedTables/>

+   <w:SnapToGridInCell/>

+   <w:WrapTextWithPunct/>

+   <w:UseAsianBreakRules/>

+   <w:UseWord2002TableStyleRules/>

+  </w:Compatibility>

+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>

+ </w:WordDocument>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">

+ </w:LatentStyles>

+</xml><![endif]--><!--[if !mso]><object

+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>

+<style>

+st1\:*{behavior:url(#ieooui) }

+</style>

+<![endif]-->

+<style>

+<!--

+ /* Font Definitions */

+ @font-face

+	{font-family:Tahoma;

+	panose-1:2 11 6 4 3 5 4 4 2 4;

+	mso-font-charset:0;

+	mso-generic-font-family:swiss;

+	mso-font-pitch:variable;

+	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}

+ /* Style Definitions */

+ p.MsoNormal, li.MsoNormal, div.MsoNormal

+	{mso-style-parent:"";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+h1

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan;

+	page-break-after:avoid;

+	mso-outline-level:1;

+	font-size:16.0pt;

+	font-family:Arial;

+	mso-font-kerning:16.0pt;}

+h2

+	{mso-style-link:"Heading 2 Char";

+	mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	page-break-after:avoid;

+	mso-outline-level:2;

+	font-size:14.0pt;

+	font-family:Arial;

+	font-style:italic;}

+h3

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	page-break-after:avoid;

+	mso-outline-level:3;

+	font-size:13.0pt;

+	font-family:Arial;}

+h4

+	{mso-style-next:Normal;

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	page-break-after:avoid;

+	mso-outline-level:4;

+	font-size:12.0pt;

+	mso-bidi-font-size:14.0pt;

+	font-family:Arial;

+	mso-bidi-font-family:"Times New Roman";

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.MsoToc1, li.MsoToc1, div.MsoToc1

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoToc2, li.MsoToc2, div.MsoToc2

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:12.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoToc3, li.MsoToc3, div.MsoToc3

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:24.0pt;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoToc4, li.MsoToc4, div.MsoToc4

+	{mso-style-update:auto;

+	mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoCommentText, li.MsoCommentText, div.MsoCommentText

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoHeader, li.MsoHeader, div.MsoHeader

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoFooter, li.MsoFooter, div.MsoFooter

+	{margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	tab-stops:center 3.0in right 6.0in;

+	font-size:12.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+p.MsoCaption, li.MsoCaption, div.MsoCaption

+	{mso-style-noshow:yes;

+	mso-style-next:Normal;

+	margin-top:6.0pt;

+	margin-right:0in;

+	margin-bottom:6.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";

+	font-weight:bold;}

+span.MsoCommentReference

+	{mso-style-noshow:yes;

+	mso-ansi-font-size:8.0pt;

+	mso-bidi-font-size:8.0pt;}

+p.MsoTitle, li.MsoTitle, div.MsoTitle

+	{margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	text-align:center;

+	mso-pagination:widow-orphan lines-together;

+	mso-outline-level:1;

+	font-size:16.0pt;

+	mso-bidi-font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-font-kerning:14.0pt;

+	mso-ansi-language:EN-IE;

+	font-weight:bold;

+	mso-bidi-font-weight:normal;}

+a:link, span.MsoHyperlink

+	{color:blue;

+	text-decoration:underline;

+	text-underline:single;}

+a:visited, span.MsoHyperlinkFollowed

+	{color:purple;

+	text-decoration:underline;

+	text-underline:single;}

+p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject

+	{mso-style-noshow:yes;

+	mso-style-parent:"Comment Text";

+	mso-style-next:"Comment Text";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";

+	font-weight:bold;}

+p.MsoAcetate, li.MsoAcetate, div.MsoAcetate

+	{mso-style-noshow:yes;

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:8.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";}

+span.Heading2Char

+	{mso-style-name:"Heading 2 Char";

+	mso-style-locked:yes;

+	mso-style-link:"Heading 2";

+	mso-ansi-font-size:14.0pt;

+	mso-bidi-font-size:14.0pt;

+	font-family:Arial;

+	mso-ascii-font-family:Arial;

+	mso-hansi-font-family:Arial;

+	mso-bidi-font-family:Arial;

+	mso-ansi-language:EN-US;

+	mso-fareast-language:EN-US;

+	mso-bidi-language:AR-SA;

+	font-weight:bold;

+	font-style:italic;}

+p.Style1, li.Style1, div.Style1

+	{mso-style-name:Style1;

+	mso-style-parent:"Heading 4";

+	margin-top:12.0pt;

+	margin-right:0in;

+	margin-bottom:3.0pt;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	page-break-after:avoid;

+	mso-outline-level:4;

+	font-size:12.0pt;

+	mso-bidi-font-size:14.0pt;

+	font-family:Arial;

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";

+	font-weight:bold;

+	font-style:italic;

+	mso-bidi-font-style:normal;}

+p.Code, li.Code, div.Code

+	{mso-style-name:Code;

+	margin-top:0in;

+	margin-right:0in;

+	margin-bottom:0in;

+	margin-left:.5in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:"Courier New";

+	mso-fareast-font-family:"Times New Roman";

+	mso-bidi-font-family:"Times New Roman";}

+ /* Page Definitions */

+ @page

+	{mso-footnote-separator:url("JET_Programming_Manual_files/header.htm") fs;

+	mso-footnote-continuation-separator:url("JET_Programming_Manual_files/header.htm") fcs;

+	mso-endnote-separator:url("JET_Programming_Manual_files/header.htm") es;

+	mso-endnote-continuation-separator:url("JET_Programming_Manual_files/header.htm") ecs;}

+@page Section1

+	{size:8.5in 11.0in;

+	margin:1.0in 1.25in 1.0in 1.25in;

+	mso-header-margin:.5in;

+	mso-footer-margin:.5in;

+	mso-footer:url("JET_Programming_Manual_files/header.htm") f1;

+	mso-paper-source:0;}

+div.Section1

+	{page:Section1;}

+-->

+</style>

+<!--[if gte mso 10]>

+<style>

+ /* Style Definitions */

+ table.MsoNormalTable

+	{mso-style-name:"Table Normal";

+	mso-tstyle-rowband-size:0;

+	mso-tstyle-colband-size:0;

+	mso-style-noshow:yes;

+	mso-style-parent:"";

+	mso-padding-alt:0in 5.4pt 0in 5.4pt;

+	mso-para-margin:0in;

+	mso-para-margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-ansi-language:#0400;

+	mso-fareast-language:#0400;

+	mso-bidi-language:#0400;}

+table.MsoTableGrid

+	{mso-style-name:"Table Grid";

+	mso-tstyle-rowband-size:0;

+	mso-tstyle-colband-size:0;

+	border:solid windowtext 1.0pt;

+	mso-border-alt:solid windowtext .5pt;

+	mso-padding-alt:0in 5.4pt 0in 5.4pt;

+	mso-border-insideh:.5pt solid windowtext;

+	mso-border-insidev:.5pt solid windowtext;

+	mso-para-margin:0in;

+	mso-para-margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:10.0pt;

+	font-family:"Times New Roman";

+	mso-ansi-language:#0400;

+	mso-fareast-language:#0400;

+	mso-bidi-language:#0400;}

+</style>

+<![endif]--><!--[if gte mso 9]><xml>

+ <o:shapedefaults v:ext="edit" spidmax="5122">

+  <o:colormenu v:ext="edit" fillcolor="none" strokecolor="none"/>

+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>

+ <o:shapelayout v:ext="edit">

+  <o:idmap v:ext="edit" data="1"/>

+ </o:shapelayout></xml><![endif]-->

+</head>

+

+<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

+

+<pre>

+   Copyright (C) 2009 The Android Open Source Project

+

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+         http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+</pre>

+

+<div class=Section1>

+

+<p class=MsoTitle align=left style='text-align:left'><a name="_Toc203292246"></a><a

+name="_Toc203298075"><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:20.0pt'>JET™ Programming Manual<o:p></o:p></span></span></a></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE>JET

+Interactive Music Engine</span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Vrs 2.0<o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Authored by SONiVOX<o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'></span></span><a

+href="http://www.sonivoxrocks.com/"><span style='mso-bookmark:_Toc203298075'><span

+style='mso-bookmark:_Toc203292246'><span lang=EN-IE style='font-size:12.0pt'>www.sonivoxrocks.com</span></span></span><span

+style='mso-bookmark:_Toc203298075'><span style='mso-bookmark:_Toc203292246'></span></span></a><span

+style='mso-bookmark:_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span

+lang=EN-IE style='font-size:12.0pt'><o:p></o:p></span></span></span></p>

+

+<p class=MsoTitle align=left style='text-align:left'><span style='mso-bookmark:

+_Toc203298075'><span style='mso-bookmark:_Toc203292246'><span lang=EN-IE

+style='font-size:12.0pt'>Copyright 2009 Sonic Network, Inc.<o:p></o:p></span></span></span></p>

+

+<span style='mso-bookmark:_Toc203292246'></span><span style='mso-bookmark:_Toc203298075'></span>

+

+<p class=MsoCommentText><o:p>&nbsp;</o:p></p>

+

+<p class=MsoHeader><o:p>&nbsp;</o:p></p>

+

+<p class=MsoHeader><o:p>&nbsp;</o:p></p>

+

+<h1 align=left style='text-align:left'><a name="_Toc203298082"></a><a

+name="_Toc482161515"><span style='mso-bookmark:_Toc203298082'><i

+style='mso-bidi-font-style:normal'>Introduction</i></span></a><i

+style='mso-bidi-font-style:normal'><o:p></o:p></i></h1>

+

+<p class=MsoNormal>This document contains programmer guidelines for the SONiVOX

+JET Interactive Music System. JET is an interactive music player for small

+embedded devices, including the Google Android platform. It allows applications

+to include interactive music soundtracks, in <st1:place w:st="on">MIDI</st1:place>

+format, that respond in real-time to game play events and user interaction. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>JET works in conjunction with SONiVOX’s Embedded Audio

+Synthesizer (EAS) which is the <st1:place w:st="on">MIDI</st1:place> playback

+device for Android.<span style='mso-spacerun:yes'>  </span>Both the JET and EAS

+engines are integrated into the Android embedded platform as well as inherent

+in <i style='mso-bidi-font-style:normal'>JET Creator</i>, an application for

+authoring JET content files. As such, the JET content author can be sure that

+the playback will sound exactly the same in both <i style='mso-bidi-font-style:

+normal'>JET Creator</i> and the final Android application playing back on

+Android mobile devices.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The programmer of a JET application will want to work

+closely with the content author in designing how real-time application events

+and music will interactively work together. Once decided, the content author

+will create the content and ultimately save a .jet file for the programmer to

+include in the application.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Please see “JET Creator User Documentation” for additional

+information on authoring JET content.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h2><a name="_Toc203298084">Abbreviations and Common Terms</a></h2>

+

+<p class=MsoNormal>It is important to use a common set of terms to minimize confusion.

+Since JET uses <st1:place w:st="on">MIDI</st1:place> in a unique way, normal

+industry terms may not always suffice. Here is the definition of terms as they

+are used in this document and in the JET Creator application:</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>Channel</i>: MIDI data

+associated with a specific <st1:place w:st="on">MIDI</st1:place> channel.

+Standard MIDI allows for 16 channels of <st1:place w:st="on">MIDI</st1:place>

+data each of which are typically associated with a specific instrument. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>Controller</i>: A <st1:place

+w:st="on">MIDI</st1:place> event consisting of a channel number, controller

+number, and a controller value. The <st1:place w:st="on">MIDI</st1:place> spec

+associates many controller numbers with specific functions, such as volume,

+expression, sustain pedal, etc. JET also uses controller events as a means of

+embedding special control information in a <st1:place w:st="on">MIDI</st1:place>

+sequence to provide for audio synchronization.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>DAW</i>: Digital Audio

+Workstation. A common term for <st1:place w:st="on">MIDI</st1:place> and audio

+sequencing applications such as Logic, SONAR, Cubase and others. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>EAS:</i> Embedded <st1:place

+w:st="on">MIDI</st1:place> Synthesizer. The name of the SONiVOX MIDI

+synthesizer engine.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>JET</i>: Jet

+Interactive Engine. The name of the SONiVOX JET interactive music engine.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>Segment</i>: A musical

+section such as a chorus or verse that is a component of the overall

+composition. In JET, a segment can be an entire MIDI file or a derived from a

+portion of a <st1:place w:st="on">MIDI</st1:place> file.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>SMF-0</i>: Standard

+MIDI File Type 0, a MIDI file that contains a single track, but may be made up

+of multiple channels of <st1:place w:st="on">MIDI</st1:place> data.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>SMF-1</i>: Standard

+MIDI File Type 1, a MIDI file that contains a one more tracks, and each track

+may in turn be made up of one or more channels of <st1:place w:st="on">MIDI</st1:place>

+data. By convention, each channel is stored on a separate track in an SMF-1

+file. However, it is possible to have multiple MIDI channels on a single track,

+or multiple tracks that contain data for the same <st1:place w:st="on">MIDI</st1:place>

+channel.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>Track</i>: A single

+track in a DAW containing a timed sequence of <st1:place w:st="on">MIDI</st1:place>

+events. Be careful not to confuse Tracks with Channels. A MIDI file may contain

+many tracks with several tracks utilizing the same <st1:place w:st="on">MIDI</st1:place>

+channel. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h1 align=left style='text-align:left'><a name="_Toc203298085"></a><a

+name="_Toc135723076"></a><a name="_Toc135723793"></a><a name="_Toc135724016"></a><a

+name="_Toc135724241"></a><a name="_Toc135724464"></a><a name="_Toc135724687"></a><a

+name="_Toc135724909"></a><a name="_Toc135725132"></a><a name="_Toc135726607"></a><a

+name="_Toc135727776"></a><a name="_Toc137004452"></a><a name="_Toc135724689"></a><a

+name="_Toc135724467"></a><span style='mso-bookmark:_Toc203298085'>The JET

+Interactive Music Concept</span></h1>

+

+<p class=MsoNormal>Interactive music can be defined as music that changes in

+real-time according to non-predictable events such as user interaction or game

+play events. In this way, interactive music is much more engaging as it has the

+ability to match the energy and mood of a game much closer than a pre-composed

+composition that never changes. In some applications and games, interactive

+music is central to the game play. Guitar Hero is one such popular game. When

+the end user successfully ‘captures’ the musical notes coming down the fret

+board, the music adapts itself and simultaneously keeps score of successes and

+failures. JET allows for these types of music driven games as well.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>There are several methods for making and controlling

+interactive music and JET is one such method. This section describes the

+features of JET and how they might be used in a game or software application.

+It also describes how JET can be used to save memory in small footprint devices

+such as Android enabled mobile handsets.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h2>JET Operation</h2>

+

+<p class=MsoNormal>JET supports a flexible music format that can be used to

+create extended musical sequences with a minimal amount of data. A musical

+composition is broken up into segments that can be sequenced to create a longer

+piece. The sequencing can be fixed at the time the music file is authored, or

+it can be created dynamically under program control.</p>

+

+<h3><span class=Heading2Char><span style='font-size:14.0pt'>Linear Music

+Example<o:p></o:p></span></span></h3>

+

+<p class=MsoNormal><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"

+ o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"

+ stroked="f">

+ <v:stroke joinstyle="miter"/>

+ <v:formulas>

+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>

+  <v:f eqn="sum @0 1 0"/>

+  <v:f eqn="sum 0 0 @1"/>

+  <v:f eqn="prod @2 1 2"/>

+  <v:f eqn="prod @3 21600 pixelWidth"/>

+  <v:f eqn="prod @3 21600 pixelHeight"/>

+  <v:f eqn="sum @0 0 1"/>

+  <v:f eqn="prod @6 1 2"/>

+  <v:f eqn="prod @7 21600 pixelWidth"/>

+  <v:f eqn="sum @8 21600 0"/>

+  <v:f eqn="prod @7 21600 pixelHeight"/>

+  <v:f eqn="sum @10 21600 0"/>

+ </v:formulas>

+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

+ <o:lock v:ext="edit" aspectratio="t"/>

+</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:431.25pt;

+ height:294.75pt' o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image013.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=575 height=393

+src="JET_Programming_Manual_files/image002.png" v:shapes="_x0000_i1025"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025"

+  DrawAspect="Content" ObjectID="_1298963236">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:

+field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC

+<span style='mso-element:field-separator'></span><![endif]--><span

+style='mso-no-proof:yes'>1</span><!--[if supportFields]><span style='mso-element:

+field-end'></span><![endif]-->: Linear Music Piece</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>This diagram shows how musical segments are stored. Each

+segment is authored as a separate <st1:place w:st="on">MIDI</st1:place> file. A

+post-processing tool combines the files into a single container file. Each

+segment can contain alternate music tracks that can be muted or un-muted to

+create additional interest. An example might be a brass accent in the chorus

+that is played only the last time through. Also, segments can be transposed up

+or down.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The bottom part of the diagram shows how the musical

+segments can be recombined to create a linear music piece. In this example, the

+bridge might end with a half-step key modulation and the remaining segments

+could be transposed up a half-step to match.</p>

+

+<h3>Non-linear Music Example</h3>

+

+<p class=MsoNormal style='page-break-after:avoid'><!--[if gte vml 1]><v:shape

+ id="_x0000_i1026" type="#_x0000_t75" style='width:6in;height:291.75pt' o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image014.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=389

+src="JET_Programming_Manual_files/image004.png" v:shapes="_x0000_i1026"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1026"

+  DrawAspect="Content" ObjectID="_1298963237">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:

+field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC

+<span style='mso-element:field-separator'></span><![endif]--><span

+style='mso-no-proof:yes'>2</span><!--[if supportFields]><span style='mso-element:

+field-end'></span><![endif]-->: Non-linear music piece</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>In this diagram, we see a non-linear music piece. The

+scenario is a first-person-shooter (FPS) and JET is providing the background

+music. The intro plays as the level is loading and then transitions under

+program control to the Searching segment. This segment is repeated

+indefinitely, perhaps with small variations (using the mute/un-mute feature)

+until activity in the game dictates a change.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>As the player nears a monster lair, the program starts a

+synchronized transition to the Danger segment, increasing the tension level in

+the audio. As the player draws closer to the lair, additional tracks are

+un-muted to increase the tension.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>As the player enters into combat with the monster, the

+program starts a synchronized transition to the Combat segment. The segment

+repeats indefinitely as the combat continues. A Bonus Hit temporarily un-mutes

+a decorative track that notifies the player of a successful attack, and

+similarly, another track is temporarily un-muted to signify when the player

+receives Special Damage.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>At the end of combat, the music transitions to a victory or

+defeat segment based on the outcome of battle.</p>

+

+<h3>Mute/Un-mute Synchronization</h3>

+

+<p class=MsoNormal>JET can also synchronize the muting and un-muting of tracks

+to events in the music. For example, in the FPS game, it would probably be

+desirable to place the musical events relating to bonuses and damage as close

+to the actual game event as possible. However, simply un-muting a track at the

+moment the game event occurs might result in a music clip starting in the

+middle. Alternatively, a clip could be started from the beginning, but then it

+wouldn’t be synchronized with the other music tracks.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>However, with the JET sync engine, a clip can be started at

+the next opportune moment and maintain synchronization. This can be

+accomplished by placing a number of short music clips on a decorative track. A <st1:place

+w:st="on">MIDI</st1:place> event in the stream signifies the start of a clip

+and a second event signifies the end of a clip. When the application calls the

+JET clip function, the next clip in the track is allowed to play fully

+synchronized to the music. Optionally, the track can be automatically muted by

+a second <st1:place w:st="on">MIDI</st1:place> event.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal style='page-break-after:avoid'><!--[if gte vml 1]><v:shape

+ id="_x0000_i1027" type="#_x0000_t75" style='width:6in;height:116.25pt' o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image015.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=155

+src="JET_Programming_Manual_files/image006.png" v:shapes="_x0000_i1027"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1027"

+  DrawAspect="Content" ObjectID="_1298963238">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:

+field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC

+<span style='mso-element:field-separator'></span><![endif]--><span

+style='mso-no-proof:yes'>3</span><!--[if supportFields]><span style='mso-element:

+field-end'></span><![endif]-->: Synchronized Mute/Unmute</p>

+

+<h2>Audio Synchronization</h2>

+

+<p class=MsoNormal>JET provides an audio synchronization API that allows game

+play to be synchronized to events in the audio. The mechanism relies on data

+embedded in the <st1:place w:st="on">MIDI</st1:place> file at the time the

+content is authored. When the JET engine senses an event during playback it

+generates a callback into the application program. The timing of the callback

+can be adjusted to compensate for any latency in the audio playback system so

+that audio and video can be synchronized. The diagram below shows an example of

+a simple music game that involves pressing the left and right arrows in time

+with the music.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal style='page-break-after:avoid'><!--[if gte vml 1]><v:shape

+ id="_x0000_i1028" type="#_x0000_t75" style='width:6in;height:100.5pt' o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image016.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=576 height=134

+src="JET_Programming_Manual_files/image008.png" v:shapes="_x0000_i1028"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1028"

+  DrawAspect="Content" ObjectID="_1298963239">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:

+field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC

+<span style='mso-element:field-separator'></span><![endif]--><span

+style='mso-no-proof:yes'>4</span><!--[if supportFields]><span style='mso-element:

+field-end'></span><![endif]-->: Music Game<span style='mso-no-proof:yes'> with

+Synchronization<o:p></o:p></span></p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The arrows represent events in the music sequence where game

+events need to be synchronized. In this case, the blue arrow represents a time

+where the player is supposed to press the left button, and the red arrow is for

+the right button. The yellow arrow tells the game engine that the sequence is

+complete. The player is allowed a certain time window before and after the

+event to press the appropriate key.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>If an event is received and the player has not pressed a

+button, a timer is set to half the length of the window. If the player presses

+the button before the timer expires, the game registers a success, and if not,

+the game registers a failure. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>If the player presses the button before the event is

+received, a timer is set to half the length of the window. If an event is

+received before the timer expires, the game registers a success, and if not,

+the game registers a failure. Game play might also include bonuses for getting

+close to the timing of the actual event. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h2>Operational Details</h2>

+

+<p class=MsoNormal>JET uses the standard EAS library calls to manage multiple <st1:place

+w:st="on">MIDI</st1:place> streams that are synchronized to sound like a

+seamless audio track. JET requires the use of the dynamic memory model, i.e.

+support for malloc() and free() memory allocation functions or their

+equivalent. JET also requires the DLS parser and synthesizer module to support

+custom instruments in JET content files.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>JET uses standard <st1:place w:st="on">MIDI</st1:place>

+events for audio synchronization. This simplifies the authoring process by

+allowing content authors to use their favorite tools for developing content.

+After the content has been developed, a simple post-processing tool pulls the

+content together into a JET compatible content file.</p>

+

+<h3>Synchronization Events</h3>

+

+<p class=MsoNormal>JET uses <st1:place w:st="on">MIDI</st1:place> controller

+events to synchronize audio. The controllers used by JET are among those not

+defined for specific use by the <st1:place w:st="on">MIDI</st1:place>

+specification. The specific controller definitions are as follows:</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><span style='mso-tab-count:1'>            </span>Controllers

+80-83<span style='mso-tab-count:2'>                 </span>Reserved for use by

+application</p>

+

+<p class=MsoNormal><span style='mso-tab-count:1'>            </span>Controller 102<span

+style='mso-tab-count:2'>                       </span>JET event marker</p>

+

+<p class=MsoNormal><span style='mso-tab-count:1'>            </span>Controller

+103<span style='mso-tab-count:2'>                       </span>JET clip marker</p>

+

+<p class=MsoNormal><span style='mso-tab-count:1'>            </span>Controllers

+104-119<span style='mso-tab-count:2'>             </span>Reserved for future

+use</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h4>Controllers 80-83 – Application Controllers</h4>

+

+<p class=MsoNormal>The application may use controllers in this range for its

+own purposes. When a controller in this range is encountered, the event is

+entered into an event queue that can be queried by the application. Some

+possible uses include synchronizing video events with audio and marking a point

+in a <st1:place w:st="on">MIDI</st1:place> segment to queue up the next

+segment. The range of controllers monitored by the application can be modified

+by the application during initialization.</p>

+

+<h4>Controller 102 – JET Event Marker</h4>

+

+<p class=MsoNormal>Controller 102 is reserved for marking events in the <st1:place

+w:st="on">MIDI</st1:place> streams that are specific to JET functionality.

+Currently, the only defined value is 0, which marks the end of a segment for

+timing purposes. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Normally, JET starts playback of the next segment (or

+repeats the current segment) when the <st1:place w:st="on">MIDI</st1:place>

+end-of-track meta-event is encountered. Some <st1:place w:st="on">MIDI</st1:place>

+authoring tools make it difficult to place the end-of-track marker accurately,

+resulting in synchronization problems when segments are joined together.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>To avoid this problem, the author can place a JET

+end-of-segment marker (controller=102, value=0) at the point where the segment is

+to be looped. When the end-of-segment marker is encountered, the next segment

+will be triggered, or if the current segment is looped, playback will resume at

+the start of the segment.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The end-of-segment marker can also be used to allow for

+completion of a musical figure beyond the end of measure that marks the start

+of the next segment. For example, the content author might create a 4-bar

+segment with a drum fill that ends on beat 1 of the 5<sup>th</sup> bar – a bar

+beyond the natural end of the segment. By placing an end-of-segment marker at

+the end of the 4<sup>th</sup> bar, the next segment will be triggered, but the

+drum fill will continue in parallel with the next segment providing musical

+continuity.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal align=center style='text-align:center;page-break-after:avoid'><!--[if gte vml 1]><v:shape

+ id="_x0000_i1029" type="#_x0000_t75" style='width:350.25pt;height:138.75pt'

+ o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image017.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=467 height=185

+src="JET_Programming_Manual_files/image010.png" v:shapes="_x0000_i1029"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1029"

+  DrawAspect="Content" ObjectID="_1298963240">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption align=center style='text-align:center'>Figure <!--[if supportFields]><span

+style='mso-element:field-begin'></span><span

+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC <span style='mso-element:

+field-separator'></span><![endif]--><span style='mso-no-proof:yes'>5</span><!--[if supportFields]><span

+style='mso-element:field-end'></span><![endif]-->: End-of-segment Marker</p>

+

+<h4>Controller 103 – JET Clip Marker</h4>

+

+<p class=MsoNormal>Controller 103 is reserved for marking clips in a <st1:place

+w:st="on">MIDI</st1:place> track that can be triggered by the JET_TriggerClip

+API call. The clip ID is encoded in the low 6 bits of the controller value. Bit

+6 is set to one to indicate the start of a clip, and set to zero to indicate

+the end of a clip.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>For example, to identify a clip with a clip ID of 1, the

+author inserts a <st1:place w:st="on">MIDI</st1:place> controller event with

+controller=103 and value=65 at the start of the clip and another event with controller=103

+and value=1 at the end of the clip. When the JET_TriggerClip() function is

+called with a clip ID of 1, the track will be un-muted when the controller

+value 65 is encountered and muted again when the controller value 1 is

+encountered.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal align=center style='text-align:center;page-break-after:avoid'><!--[if gte vml 1]><v:shape

+ id="_x0000_i1030" type="#_x0000_t75" style='width:369pt;height:275.25pt'

+ o:ole="">

+ <v:imagedata src="JET_Programming_Manual_files/image018.emz" o:title=""/>

+</v:shape><![endif]--><![if !vml]><img border=0 width=492 height=367

+src="JET_Programming_Manual_files/image012.png" v:shapes="_x0000_i1030"><![endif]><!--[if gte mso 9]><xml>

+ <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1030"

+  DrawAspect="Content" ObjectID="_1298963241">

+ </o:OLEObject>

+</xml><![endif]--></p>

+

+<p class=MsoCaption align=center style='text-align:center'>Figure <!--[if supportFields]><span

+style='mso-element:field-begin'></span><span

+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC <span style='mso-element:

+field-separator'></span><![endif]--><span style='mso-no-proof:yes'>6</span><!--[if supportFields]><span

+style='mso-element:field-end'></span><![endif]-->: Synchronized Clip</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>In the figure above, if the JET_TriggerClip() function is

+called prior to the first controller event, Track 3 will be un-muted when the

+first controller event occurs, the first clip will play, and the track will be

+muted when the second controller event occurs. If the JET_TriggerClip()

+function is called after the first controller event has occurred, Track 3 will

+be un-muted when the third controller event occurs, the second clip will play,

+and the track will be muted again when the fourth controller event occurs.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Note:</b> Normally,

+the track containing the clip is muted by the application when the segment is

+initially queued by the call to JET_QueueSegment(). If it is not muted, the clip

+will always play until Jet_TriggerClip() has been called with the clip ID.</p>

+

+<h2>JET Programming</h2>

+

+<p class=MsoNormal>The JET library builds on functionality in the EAS library.

+It is assumed that the reader is familiar with EAS and has implemented basic

+EAS audio functionality in the application. Specifically, the application must

+first initialize EAS by calling EAS_Init() and must call EAS_Render() at

+appropriate times to render audio and stream it to the audio hardware. JET also

+requires the use of the dynamic memory model which uses malloc() and free() or

+functional equivalents. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Most JET function calls return an EAS_RESULT type which

+should be checked against the EAS_SUCCESS return code. Most failures are not

+fatal, i.e. they will not put the library in a state where it must be

+re-initialized. However, some failures such as memory allocation or file

+open/read errors will likely result in the specific open content failing to

+render.</p>

+

+<h3>JET Application Initialization</h3>

+

+<p class=MsoNormal>The JET library is initialized by the JET_Init() function.

+The application must first call EAS_Init() and then pass the EAS data handle

+returned by EAS_Init() to the JET_Init() function. Currently, only a single JET

+application can be active at a time.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The JET_Init function takes 3 arguments: The first is the

+EAS data handle. The second is a pointer to a configuration structure

+S_JET_CONFIG and the third is the size of the configuration structure. For most

+applications, it is sufficient to pass a NULL pointer and size 0 for the

+configuration data. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>However, if desired, the configuration can be modified to

+allow the application to monitor <st1:place w:st="on">MIDI</st1:place> events

+outside the normal range of controllers allocated for JET application events.

+In this case, a configuration structure should be allocated and the data fields

+initialized with the appropriate values with the low and high controller

+numbers to be monitored. The size field should be the sizeof() of the data

+structure. This is to allow for future enhancement of the configuration data

+while maintaining compatibility.</p>

+

+<h3>JET Application Termination</h3>

+

+<p class=MsoNormal>When the JET application terminates, it should call

+JET_Shutdown() to release the resources allocated by the JET engine.<span

+style='mso-spacerun:yes'>  </span>If the application has no other use for the

+EAS library, it should also call EAS_Shutdown(). </p>

+

+<h3>JET Audio Processing</h3>

+

+<p class=MsoNormal>To start the JET engine, the content must first be opened

+with the JET_OpenFile() function. Just as with EAS_OpenFile(), the file locator

+is an opaque value that is passed to the EAS_HWOpenFile() function. It can

+either be a pointer to a filename, or a pointer to an in-memory object,

+depending on the user implementation of file I/O in the eas_host.c or

+eas_hostmm.c module. Only a single JET content file can be opened at a time.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Once the JET file is opened, the application can begin

+queuing up segments for playback by calling the JET_QueueSegment() function.

+Generally, it is advisable to keep a minimum of two segments queued at all

+times:<span style='mso-spacerun:yes'>  </span>the currently playing segment

+plus an additional segment that is ready to start playing when the current

+segment finishes. However, with proper programming, it is possible to queue up

+segments using a “just-in-time” technique. This technique typically involves

+careful placement of application controller events near the end of a segment so

+that the application is informed when a segment is about to end.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>After the segment(s) are queued up, playback can begin. By

+default, the segments are initialized in a paused state. To start playback,

+call the JET_Play() function. Playback can be paused again by calling the JET_Pause()

+function. Once initiated, playback will continue as long as the application

+continues to queue up new segments before all the segments in the queue are

+exhausted.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>The JET_Status() function can be used to monitor progress.

+It returns the number of segments queued, repeat count, current segment ID, and

+play status. By monitor the number of segments queued, the application can

+determine when it needs to queue another segment and when playback has

+completed.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>When playback has completed and the application is finished

+with the contents of the currently open file, the application should call

+JET_CloseFile() to close the file and release any resources associated with the

+file.</p>

+

+<h4>JET_Init</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_Init

+(EAS_DATA_HANDLE easHandle, S_JET_CONFIG *pConfig, EAS_INT configSize)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Initializes JET library for use by application. Most

+application should simply pass a NULL for pConfig and 0 for configSize, which

+means that only controller events in the application range (80-83) will end up

+in the application event queue. If desired, the application can instantiate an

+S_JET_CONFIG data structure and set the controller range to a different range.

+In this case, the configSize parameter should be set to sizeof(S_JET_CONFIG).</p>

+

+<h4>JET_Shutdown</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_Shutdown

+(EAS_DATA_HANDLE easHandle)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Releases resources used by the JET library. The application

+should call this function when it is no longer using the JET library.</p>

+

+<h4>JET_ OpenFile</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_OpenFile

+(EAS_DATA_HANDLE easHandle, EAS_FILE_LOCATOR locator)</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Opens a JET content file for playback. Content must be

+formatted for use by the JET library, which is typically accomplished with the

+jetfile.py script (see “Creating JET Content”). Only a single JET content file

+can be opened at a time. However, since JET can contain many <st1:place w:st="on">MIDI</st1:place>

+files and DLS libraries, this limitation is normally not an issue.</p>

+

+<h4>JET_ CloseFile</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_CloseFile

+(EAS_DATA_HANDLE easHandle)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Closes a JET file and release the resources associated with it.</p>

+

+<h4>JET_ Status</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_Status

+(EAS_DATA_HANDLE easHandle, S_JET_STATUS *pStatus)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Returns the current JET status. The elements of the status

+data structure are as follows:</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=Code>typedef struct s_jet_status_tag</p>

+

+<p class=Code>{</p>

+

+<p class=Code><span style='mso-tab-count:1'>     </span>EAS_INT <span

+style='mso-tab-count:1'>  </span>currentUserID;</p>

+

+<p class=Code><span style='mso-tab-count:1'>     </span>EAS_INT <span

+style='mso-tab-count:1'>  </span>segmentRepeatCount;</p>

+

+<p class=Code><span style='mso-tab-count:1'>     </span>EAS_INT <span

+style='mso-tab-count:1'>  </span>numQueuedSegments;</p>

+

+<p class=Code><span style='mso-tab-count:1'>     </span>EAS_BOOL <span

+style='mso-tab-count:1'> </span>paused;</p>

+

+<p class=Code>} S_JET_STATUS;</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>currentUserID</i>: An

+8-bit value assigned by the application.</p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'><o:p>&nbsp;</o:p></i></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>segmentRepeatCount</i>:

+Number of times left to repeat. Zero indicates no repeats, a negative number

+indicates an infinite number of repeats. Any positive value indicates that the

+segment will play n+1 times.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>numQueuedSegments</i>:

+Number of segments currently queued to play including the currently playing

+segment. A value of zero indicates that nothing is playing. Normally, the

+application will queue a new segment each time the value is 1 so that playback

+is uninterrupted.</p>

+

+<h4>JET_ QueueSegment</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_QueueSegment

+(EAS_DATA_HANDLE easHandle, EAS_INT segmentNum, EAS_INT libNum, EAS_INT

+repeatCount, EAS_INT transpose, EAS_U32 muteFlags, EAS_U8 userID)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Queues up a JET MIDI segment for playback. The parameters

+are as follows:</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>segmentNum</i>:

+Segment number as identified in the JET content configuration file.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>libNum</i>: The library

+number as specified in the JET content configuration file. Use -1 to select the

+standard General MIDI library.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>repeatCount</i>: The

+number of times this segment should repeat. Zero indicates no repeat, i.e. play

+only once. Any positive number indicates to play n+1 times. Set to -1 to repeat

+indefinitely.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>transpose:</i> The

+amount of pitch transposition. Set to 0 for normal playback. Range is -12 to

++12.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>muteFlags</i>:

+Specific which MIDI tracks (not <st1:place w:st="on">MIDI</st1:place> channels)

+should be muted during playback. These flags can be changed dynamically using

+the mute functions. Bit 0 = track 0, bit 1 = track 1, etc.</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><i style='mso-bidi-font-style:normal'>userID</i>: 8-bit

+value specified by the application that uniquely identifies the segment. This

+value is returned in the JET_Status() function as well as by the application

+event when an event is detected in a segment. Normally, the application keeps

+an 8-bit value that is incremented each time a new segment is queued up. This

+can be used to look up any special characteristics of that track including

+trigger clips and mute flags.</p>

+

+<h4>JET_ Play</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_Play

+(EAS_DATA_HANDLE easHandle)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Starts playback of the current segment. This function must

+be called once after the initial segments are queued up to start playback. It

+is also called after JET_Pause() to resume playback.</p>

+

+<h4>JET_ Pause</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_Pause

+(EAS_DATA_HANDLE easHandle)</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Pauses playback of the current segment. Call JET_Pause() to

+resume playback.</p>

+

+<h4>JET_ SetMuteFlags</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_SetMuteFlags

+(EAS_DATA_HANDLE easHandle, EAS_U32 muteFlags, EAS_BOOL sync)</p>

+

+<p class=Code style='margin-left:0in'><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Modifies the mute flags during playback. If the <i

+style='mso-bidi-font-style:normal'>sync</i> parameter is false, the mute flags

+are updated at the beginning of the next render. This means that any new notes

+or controller events will be processed during the next audio frame. If the <i

+style='mso-bidi-font-style:normal'>sync</i> parameter is true, the mute flags

+will be updated at the start of the next segment. If the segment is repeated,

+the flags will take effect the next time segment is repeated. </p>

+

+<h4>JET_ SetMuteFlag</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_SetMuteFlag

+(EAS_DATA_HANDLE easHandle, EAS_INT trackNum, EAS_BOOL muteFlag, EAS_BOOL sync)</p>

+

+<p class=MsoNormal>Modifies a mute flag for a single track during playback. If

+the <i style='mso-bidi-font-style:normal'>sync</i> parameter is false, the mute

+flag is updated at the beginning of the next render. This means that any new

+notes or controller events will be processed during the next audio frame. If

+the <i style='mso-bidi-font-style:normal'>sync</i> parameter is true, the mute

+flag will be updated at the start of the next segment. If the segment is

+repeated, the flag will take effect the next time segment is repeated. </p>

+

+<h4>JET_ TriggerClip</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC EAS_RESULT JET_TriggerClip

+(EAS_DATA_HANDLE easHandle, EAS_INT clipID)</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Automatically updates mute flags in sync with the JET Clip

+Marker (controller 103). The parameter <i style='mso-bidi-font-style:normal'>clipID</i>

+must be in the range of 0-63. After the call to JET_TriggerClip, when JET next

+encounters a controller event 103 with bits 0-5 of the value equal to <i

+style='mso-bidi-font-style:normal'>clipID </i>and<i style='mso-bidi-font-style:

+normal'> </i>bit 6 set to 1, it will automatically un-mute the track containing

+the controller event. When JET encounters the complementary controller event

+103 with bits 0-5 of the value equal to <i style='mso-bidi-font-style:normal'>clipID

+</i>and<i style='mso-bidi-font-style:normal'> </i>bit 6 set to 0, it will mute

+the track again.</p>

+

+<h4>JET_ GetEvent</h4>

+

+<p class=Code style='margin-left:0in'>EAS_BOOL JET_GetEvent (EAS_DATA_HANDLE

+easHandle, EAS_U32 *pEventRaw, S_JET_EVENT *pEvent)</p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>Attempts to read an event from the application event queue,

+return EAS_TRUE if an event is found and EAS_FALSE if not. If the application

+passes a valid pointer for <i style='mso-bidi-font-style:normal'>pEventRaw</i>,

+a 32-bit compressed event code is returned. If the application passes a valid

+pointer for <i style='mso-bidi-font-style:normal'>pEvent</i>, the event is

+parsed into the S_JET_EVENT fields. The application can pass NULL for either

+parameter and that variable will be ignored. Normally, the application will

+call JET_GetEvent() repeatedly to retrieve events until it returns EAS_FALSE.</p>

+

+<h4>JET_ ParseEvent</h4>

+

+<p class=Code style='margin-left:0in'>EAS_PUBLIC void JET_ParseEvent (EAS_U32

+event, S_JET_EVENT *pEvent)</p>

+

+<p class=MsoNormal>Parses a 32-bit compressed event code into a data structure.

+The application passes the event code received from JET_GetEvent(). The parsed

+event data is returned in the memory pointed to by <i style='mso-bidi-font-style:

+normal'>pEvent</i>.</p>

+

+<h4>JET_GetAppData</h4>

+

+<p class=Code style='margin-left:0in'>EAS_RESULT JET_GetAppData

+(EAS_DATA_HANDLE easHandle, EAS_I32 *pAppDataOffset, EAS_I32 *pAppDataSize)</p>

+

+<p class=MsoNormal>Returns the offset and size of the JAPP chunk in the JET

+file. The application can use the file I/O functions in the eas_host module to

+retrieve application specific data from the file. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<h2>Creating JET Content</h2>

+

+<p class=MsoNormal>JET uses standard MIDI files and DLS files that can be

+created with commercially available content tools such as Logic, Cubase,

+Digital Performer, or SONAR for <st1:place w:st="on">MIDI</st1:place> files and

+Awave for DLS2 files. These source files are then bundled into a .jet package

+file suitable for use in a JET application. </p>

+

+<p class=MsoNormal><o:p>&nbsp;</o:p></p>

+

+<p class=MsoNormal>To create JET file use the “JET Creator” desktop

+application. The JET Creator application is written in Python and includes a

+full graphical interface. It is available for MAC and PC platforms. See “JET

+Creator User Manual” for more information.</p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Programming_Manual_files/header.htm b/docs/JET_Programming_Manual_files/header.htm
new file mode 100755
index 0000000..8cc7121
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/header.htm
@@ -0,0 +1,73 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml"

+xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"

+xmlns="http://www.w3.org/TR/REC-html40">

+

+<head>

+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

+<meta name=ProgId content=Word.Document>

+<meta name=Generator content="Microsoft Word 11">

+<meta name=Originator content="Microsoft Word 11">

+<link id=Main-File rel=Main-File href="../JET%20Programming%20Manual.htm">

+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"

+ name="place"/>

+</head>

+

+<body lang=EN-US link=blue vlink=purple>

+

+<div style='mso-element:footnote-separator' id=fs>

+

+<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></p>

+

+</div>

+

+<div style='mso-element:footnote-continuation-separator' id=fcs>

+

+<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></p>

+

+</div>

+

+<div style='mso-element:endnote-separator' id=es>

+

+<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1 width="33%">

+

+<![endif]></span></p>

+

+</div>

+

+<div style='mso-element:endnote-continuation-separator' id=ecs>

+

+<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>

+

+<hr align=left size=1>

+

+<![endif]></span></p>

+

+</div>

+

+<div style='mso-element:footer' id=f1>

+

+<p class=MsoFooter><span style='font-size:10.0pt;color:olive'><span

+style='mso-tab-count:1'>                                        </span><span

+class=MsoPageNumber><span style='font-family:Arial;mso-bidi-font-family:"Times New Roman"'>JET

+Programming Guide<span style='mso-spacerun:yes'>   </span>vrs.2<span

+style='mso-spacerun:yes'>   </span>Page <span style='mso-field-code:" PAGE "'><span

+style='mso-no-proof:yes'>1</span></span>/<span style='mso-field-code:" NUMPAGES "'><span

+style='mso-no-proof:yes'>19</span></span></span></span><o:p></o:p></span></p>

+

+</div>

+

+</body>

+

+</html>

diff --git a/docs/JET_Programming_Manual_files/image002.png b/docs/JET_Programming_Manual_files/image002.png
new file mode 100755
index 0000000..931d4a4
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image002.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image004.png b/docs/JET_Programming_Manual_files/image004.png
new file mode 100755
index 0000000..93086b5
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image004.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image006.png b/docs/JET_Programming_Manual_files/image006.png
new file mode 100755
index 0000000..2916ddd
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image006.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image008.png b/docs/JET_Programming_Manual_files/image008.png
new file mode 100755
index 0000000..d80d93c
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image008.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image010.png b/docs/JET_Programming_Manual_files/image010.png
new file mode 100755
index 0000000..542a7f7
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image010.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image012.png b/docs/JET_Programming_Manual_files/image012.png
new file mode 100755
index 0000000..547759c
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image012.png
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image013.emz b/docs/JET_Programming_Manual_files/image013.emz
new file mode 100755
index 0000000..f152c11
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image013.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image014.emz b/docs/JET_Programming_Manual_files/image014.emz
new file mode 100755
index 0000000..010c4bd
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image014.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image015.emz b/docs/JET_Programming_Manual_files/image015.emz
new file mode 100755
index 0000000..a29ebfd
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image015.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image016.emz b/docs/JET_Programming_Manual_files/image016.emz
new file mode 100755
index 0000000..31cba25
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image016.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image017.emz b/docs/JET_Programming_Manual_files/image017.emz
new file mode 100755
index 0000000..2b06699
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image017.emz
Binary files differ
diff --git a/docs/JET_Programming_Manual_files/image018.emz b/docs/JET_Programming_Manual_files/image018.emz
new file mode 100755
index 0000000..1668a8e
--- /dev/null
+++ b/docs/JET_Programming_Manual_files/image018.emz
Binary files differ