diff options
author | Jean-Michel Trivi <> | 2009-04-14 14:40:23 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-14 14:40:23 -0700 |
commit | 7351908e6944610c1098891809b715fb7ef03b2d (patch) | |
tree | 787cb1dec076fe6d70facd95eabff929ac8ae420 | |
parent | 6b065d0f7161fe54e6f58fd2b8ad6c650b2d3657 (diff) | |
download | external_sonivox-7351908e6944610c1098891809b715fb7ef03b2d.zip external_sonivox-7351908e6944610c1098891809b715fb7ef03b2d.tar.gz external_sonivox-7351908e6944610c1098891809b715fb7ef03b2d.tar.bz2 |
AI 146182: am: CL 145974 am: CL 145803 Add Sonivox' JET documentation: authoring guidelines, JETCreator user manual, programming manual for the native library.
Original author: jmtrivi
Merged from: //branches/cupcake/...
Original author: android-build
Automated import of CL 146182
64 files changed, 7302 insertions, 0 deletions
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> </o:p></span></p>
+
+<p class=MsoHeader><span lang=EN-IE><o:p> </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"'>
+</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"'>
+</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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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"'> </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"'> </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> </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> </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"'>
+</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> </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> </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> </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> </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"'>
+</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> </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> </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"'>
+</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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </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"'>
+</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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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"'>
+</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> </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"'>
+</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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE>Macintosh:</span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE>PC:</span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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"'>
+</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"'>
+</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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE>Select All and use the “Insert MIDI >
+Insert MIDI Settings as Events” command.</span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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"'>
+</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>SONiVOX>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> </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> </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"'>
+</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> </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"'>
+</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> </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"'>
+</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> </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"'>
+</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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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"'>
+</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> </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"'>
+</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> </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"'>
+</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"'>
+</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"'>
+</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"'>
+</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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:header' id=eh1>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:footer' id=ef1>
+
+<p class=MsoFooter><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:footer' id=f1>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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 Binary files differnew file mode 100755 index 0000000..d244843 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image001.jpg diff --git a/docs/JET_Authoring_Guidelines_files/image002.emz b/docs/JET_Authoring_Guidelines_files/image002.emz Binary files differnew file mode 100755 index 0000000..f152c11 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image002.emz diff --git a/docs/JET_Authoring_Guidelines_files/image004.emz b/docs/JET_Authoring_Guidelines_files/image004.emz Binary files differnew file mode 100755 index 0000000..010c4bd --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image004.emz diff --git a/docs/JET_Authoring_Guidelines_files/image006.emz b/docs/JET_Authoring_Guidelines_files/image006.emz Binary files differnew file mode 100755 index 0000000..a29ebfd --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image006.emz diff --git a/docs/JET_Authoring_Guidelines_files/image008.gif b/docs/JET_Authoring_Guidelines_files/image008.gif Binary files differnew file mode 100755 index 0000000..17919fd --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image008.gif diff --git a/docs/JET_Authoring_Guidelines_files/image010.gif b/docs/JET_Authoring_Guidelines_files/image010.gif Binary files differnew file mode 100755 index 0000000..54111a0 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image010.gif diff --git a/docs/JET_Authoring_Guidelines_files/image011.png b/docs/JET_Authoring_Guidelines_files/image011.png Binary files differnew file mode 100755 index 0000000..1573b01 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image011.png diff --git a/docs/JET_Authoring_Guidelines_files/image012.gif b/docs/JET_Authoring_Guidelines_files/image012.gif Binary files differnew file mode 100755 index 0000000..4300d15 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image012.gif diff --git a/docs/JET_Authoring_Guidelines_files/image013.gif b/docs/JET_Authoring_Guidelines_files/image013.gif Binary files differnew file mode 100755 index 0000000..eb1aa37 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image013.gif diff --git a/docs/JET_Authoring_Guidelines_files/image014.gif b/docs/JET_Authoring_Guidelines_files/image014.gif Binary files differnew file mode 100755 index 0000000..4e99824 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image014.gif diff --git a/docs/JET_Authoring_Guidelines_files/image015.emz b/docs/JET_Authoring_Guidelines_files/image015.emz Binary files differnew file mode 100755 index 0000000..31cba25 --- /dev/null +++ b/docs/JET_Authoring_Guidelines_files/image015.emz 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 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> </o:p></span></p>
+
+<p class=MsoHeader><span lang=EN-IE><o:p> </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"'>
+</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"'>
+</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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</span></span></span><![endif]><span lang=EN-IE>Abbreviations and Common Terms</span></a></h2>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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"'> </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"'> </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> </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> </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"'>
+</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> </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> </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> </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> </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"'>
+</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> </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> </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"'>
+</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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </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"'>
+</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> </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> </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"'>
+</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> </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> </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> </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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</span></span></span><![endif]><span lang=EN-IE>Using JET Creator</span></a></h1>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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> </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> </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> </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> </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"'>
+</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> </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> </o:p></span></span></p>
+
+<p class=MsoNormal><span style='mso-bookmark:_Toc203298094'><span lang=EN-IE><o:p> </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> </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> </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> </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> </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"'>
+</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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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"'>
+</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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal style='margin-left:1.0in;text-indent:-1.0in'><span
+lang=EN-IE><o:p> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </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> </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> </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> </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"'>
+</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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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> </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> </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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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"'>
+</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> </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> </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"'>
+</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> </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> </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"'>
+</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> </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> </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"'>
+</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> </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> </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"'>
+</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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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"'>
+</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> </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> </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> </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> </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> </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"'>
+</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> </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> </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> </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> </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> </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"'>
+</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> </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> </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> </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> </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"'>
+</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> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:header' id=eh1>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:footer' id=ef1>
+
+<p class=MsoFooter><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+</div>
+
+<div style='mso-element:footer' id=f1>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-IE><o:p> </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> </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 Binary files differnew file mode 100755 index 0000000..f152c11 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image001.emz diff --git a/docs/JET_Creator_User_Manual_files/image002.gif b/docs/JET_Creator_User_Manual_files/image002.gif Binary files differnew file mode 100755 index 0000000..eb1aa37 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image002.gif diff --git a/docs/JET_Creator_User_Manual_files/image003.emz b/docs/JET_Creator_User_Manual_files/image003.emz Binary files differnew file mode 100755 index 0000000..010c4bd --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image003.emz diff --git a/docs/JET_Creator_User_Manual_files/image004.gif b/docs/JET_Creator_User_Manual_files/image004.gif Binary files differnew file mode 100755 index 0000000..4e99824 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image004.gif diff --git a/docs/JET_Creator_User_Manual_files/image005.emz b/docs/JET_Creator_User_Manual_files/image005.emz Binary files differnew file mode 100755 index 0000000..a29ebfd --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image005.emz diff --git a/docs/JET_Creator_User_Manual_files/image006.gif b/docs/JET_Creator_User_Manual_files/image006.gif Binary files differnew file mode 100755 index 0000000..17919fd --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image006.gif diff --git a/docs/JET_Creator_User_Manual_files/image007.emz b/docs/JET_Creator_User_Manual_files/image007.emz Binary files differnew file mode 100755 index 0000000..31cba25 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image007.emz diff --git a/docs/JET_Creator_User_Manual_files/image008.gif b/docs/JET_Creator_User_Manual_files/image008.gif Binary files differnew file mode 100755 index 0000000..54111a0 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image008.gif diff --git a/docs/JET_Creator_User_Manual_files/image009.png b/docs/JET_Creator_User_Manual_files/image009.png Binary files differnew file mode 100755 index 0000000..0d5a14d --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image009.png diff --git a/docs/JET_Creator_User_Manual_files/image010.jpg b/docs/JET_Creator_User_Manual_files/image010.jpg Binary files differnew file mode 100755 index 0000000..d0dbb1d --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image010.jpg diff --git a/docs/JET_Creator_User_Manual_files/image011.png b/docs/JET_Creator_User_Manual_files/image011.png Binary files differnew file mode 100755 index 0000000..29c47ec --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image011.png diff --git a/docs/JET_Creator_User_Manual_files/image012.jpg b/docs/JET_Creator_User_Manual_files/image012.jpg Binary files differnew file mode 100755 index 0000000..ac54829 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image012.jpg diff --git a/docs/JET_Creator_User_Manual_files/image013.png b/docs/JET_Creator_User_Manual_files/image013.png Binary files differnew file mode 100755 index 0000000..b0434d7 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image013.png diff --git a/docs/JET_Creator_User_Manual_files/image014.jpg b/docs/JET_Creator_User_Manual_files/image014.jpg Binary files differnew file mode 100755 index 0000000..18212b3 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image014.jpg diff --git a/docs/JET_Creator_User_Manual_files/image015.png b/docs/JET_Creator_User_Manual_files/image015.png Binary files differnew file mode 100755 index 0000000..807797e --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image015.png diff --git a/docs/JET_Creator_User_Manual_files/image016.jpg b/docs/JET_Creator_User_Manual_files/image016.jpg Binary files differnew file mode 100755 index 0000000..fa7931d --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image016.jpg diff --git a/docs/JET_Creator_User_Manual_files/image017.png b/docs/JET_Creator_User_Manual_files/image017.png Binary files differnew file mode 100755 index 0000000..ca200d1 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image017.png diff --git a/docs/JET_Creator_User_Manual_files/image018.jpg b/docs/JET_Creator_User_Manual_files/image018.jpg Binary files differnew file mode 100755 index 0000000..64bb5c3 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image018.jpg diff --git a/docs/JET_Creator_User_Manual_files/image019.png b/docs/JET_Creator_User_Manual_files/image019.png Binary files differnew file mode 100755 index 0000000..7867902 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image019.png diff --git a/docs/JET_Creator_User_Manual_files/image020.jpg b/docs/JET_Creator_User_Manual_files/image020.jpg Binary files differnew file mode 100755 index 0000000..9943ae2 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image020.jpg diff --git a/docs/JET_Creator_User_Manual_files/image021.png b/docs/JET_Creator_User_Manual_files/image021.png Binary files differnew file mode 100755 index 0000000..690dcad --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image021.png diff --git a/docs/JET_Creator_User_Manual_files/image022.jpg b/docs/JET_Creator_User_Manual_files/image022.jpg Binary files differnew file mode 100755 index 0000000..7b517fa --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image022.jpg diff --git a/docs/JET_Creator_User_Manual_files/image023.png b/docs/JET_Creator_User_Manual_files/image023.png Binary files differnew file mode 100755 index 0000000..43f0fb1 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image023.png diff --git a/docs/JET_Creator_User_Manual_files/image024.jpg b/docs/JET_Creator_User_Manual_files/image024.jpg Binary files differnew file mode 100755 index 0000000..cea31c8 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image024.jpg diff --git a/docs/JET_Creator_User_Manual_files/image025.emz b/docs/JET_Creator_User_Manual_files/image025.emz Binary files differnew file mode 100755 index 0000000..1668a8e --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image025.emz diff --git a/docs/JET_Creator_User_Manual_files/image026.gif b/docs/JET_Creator_User_Manual_files/image026.gif Binary files differnew file mode 100755 index 0000000..f9a4a89 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image026.gif diff --git a/docs/JET_Creator_User_Manual_files/image027.emz b/docs/JET_Creator_User_Manual_files/image027.emz Binary files differnew file mode 100755 index 0000000..2b06699 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image027.emz diff --git a/docs/JET_Creator_User_Manual_files/image028.gif b/docs/JET_Creator_User_Manual_files/image028.gif Binary files differnew file mode 100755 index 0000000..1d18152 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image028.gif diff --git a/docs/JET_Creator_User_Manual_files/image029.jpg b/docs/JET_Creator_User_Manual_files/image029.jpg Binary files differnew file mode 100755 index 0000000..d244843 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image029.jpg diff --git a/docs/JET_Creator_User_Manual_files/image030.emz b/docs/JET_Creator_User_Manual_files/image030.emz Binary files differnew file mode 100755 index 0000000..f152c11 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image030.emz diff --git a/docs/JET_Creator_User_Manual_files/image031.emz b/docs/JET_Creator_User_Manual_files/image031.emz Binary files differnew file mode 100755 index 0000000..010c4bd --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image031.emz diff --git a/docs/JET_Creator_User_Manual_files/image032.emz b/docs/JET_Creator_User_Manual_files/image032.emz Binary files differnew file mode 100755 index 0000000..a29ebfd --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image032.emz diff --git a/docs/JET_Creator_User_Manual_files/image033.emz b/docs/JET_Creator_User_Manual_files/image033.emz Binary files differnew file mode 100755 index 0000000..31cba25 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image033.emz diff --git a/docs/JET_Creator_User_Manual_files/image034.emz b/docs/JET_Creator_User_Manual_files/image034.emz Binary files differnew file mode 100755 index 0000000..1668a8e --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image034.emz diff --git a/docs/JET_Creator_User_Manual_files/image035.emz b/docs/JET_Creator_User_Manual_files/image035.emz Binary files differnew file mode 100755 index 0000000..2b06699 --- /dev/null +++ b/docs/JET_Creator_User_Manual_files/image035.emz 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> </o:p></p>
+
+<p class=MsoHeader><o:p> </o:p></p>
+
+<p class=MsoHeader><o:p> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></p>
+
+<p class=MsoNormal><o:p> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></p>
+
+<p class=MsoNormal><o:p> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </o:p></p>
+
+<p class=MsoNormal><o:p> </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> </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 Binary files differnew file mode 100755 index 0000000..931d4a4 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image002.png diff --git a/docs/JET_Programming_Manual_files/image004.png b/docs/JET_Programming_Manual_files/image004.png Binary files differnew file mode 100755 index 0000000..93086b5 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image004.png diff --git a/docs/JET_Programming_Manual_files/image006.png b/docs/JET_Programming_Manual_files/image006.png Binary files differnew file mode 100755 index 0000000..2916ddd --- /dev/null +++ b/docs/JET_Programming_Manual_files/image006.png diff --git a/docs/JET_Programming_Manual_files/image008.png b/docs/JET_Programming_Manual_files/image008.png Binary files differnew file mode 100755 index 0000000..d80d93c --- /dev/null +++ b/docs/JET_Programming_Manual_files/image008.png diff --git a/docs/JET_Programming_Manual_files/image010.png b/docs/JET_Programming_Manual_files/image010.png Binary files differnew file mode 100755 index 0000000..542a7f7 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image010.png diff --git a/docs/JET_Programming_Manual_files/image012.png b/docs/JET_Programming_Manual_files/image012.png Binary files differnew file mode 100755 index 0000000..547759c --- /dev/null +++ b/docs/JET_Programming_Manual_files/image012.png diff --git a/docs/JET_Programming_Manual_files/image013.emz b/docs/JET_Programming_Manual_files/image013.emz Binary files differnew file mode 100755 index 0000000..f152c11 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image013.emz diff --git a/docs/JET_Programming_Manual_files/image014.emz b/docs/JET_Programming_Manual_files/image014.emz Binary files differnew file mode 100755 index 0000000..010c4bd --- /dev/null +++ b/docs/JET_Programming_Manual_files/image014.emz diff --git a/docs/JET_Programming_Manual_files/image015.emz b/docs/JET_Programming_Manual_files/image015.emz Binary files differnew file mode 100755 index 0000000..a29ebfd --- /dev/null +++ b/docs/JET_Programming_Manual_files/image015.emz diff --git a/docs/JET_Programming_Manual_files/image016.emz b/docs/JET_Programming_Manual_files/image016.emz Binary files differnew file mode 100755 index 0000000..31cba25 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image016.emz diff --git a/docs/JET_Programming_Manual_files/image017.emz b/docs/JET_Programming_Manual_files/image017.emz Binary files differnew file mode 100755 index 0000000..2b06699 --- /dev/null +++ b/docs/JET_Programming_Manual_files/image017.emz diff --git a/docs/JET_Programming_Manual_files/image018.emz b/docs/JET_Programming_Manual_files/image018.emz Binary files differnew file mode 100755 index 0000000..1668a8e --- /dev/null +++ b/docs/JET_Programming_Manual_files/image018.emz |