Skip to content

Commit

Permalink
Adding MSW notes doc
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewfb committed Apr 17, 2013
1 parent 5bc81aa commit 2b14869
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 1 deletion.
1 change: 1 addition & 0 deletions Welcome.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ <h2>Getting Started</h2>
<h2>Advanced</h2>
<ul>
<li><a href="docs/welcome/GitSetup.html">Cinder + Git</a></li>
<li><a href="docs/welcome/MSWNotes.html">Windows Notes</a></li>
</ul>

<h2>Documentation</h2>
Expand Down
3 changes: 3 additions & 0 deletions docs/doxygen/docsrc/mainpage.dox
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ If you are just getting started, we recommend you begin with the \ref helloCinde
\section guides Guides
<a href="../welcome/MacSetup.html">Setup Cinder on Mac OS X</a><BR>
<a href="../welcome/MSWSetup.html">Setup Cinder on Windows</a><BR>
<a href="../welcome/GitSetup.html">Cinder + Git</a><BR>
<BR>
<a href="../welcome/TinderBox.html">TinderBox: Cinder's Project Creation Tool</a><BR>
<a href="../welcome/CinderBlocks.html">CinderBlocks: Prepackaged Libraries for Cinder</a><BR>
<BR>
<a href="../welcome/MSWNotes.html">Windows Notes</a><BR>
<BR>
\ref helloCinder "Hello, Cinder" \n
\ref CinderResources "Assets & Resources in Cinder" \n
\ref ScreensaverPage "Screensavers" \n
Expand Down
71 changes: 71 additions & 0 deletions docs/welcome/MSWNotes.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheets/cinder.css" type="text/css" media="screen" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Cinder on Windows</title>
</head>
<body>

<div class="wrapper">
<div class="header">
<h1><a href="http://libcinder.org">Cinder</a><h1>
</div>

<div class="contents">
<h1>Windows Notes</h1>
<p>These are some general notes on Cinder's implementation on the Microsoft Windows platform.</p>

<h2>Targeting</h2>
<p>By default Cinder on Windows targets Windows XP SP2 and later. This is dictated by the <code>_WIN32_WINNT</code> variable, which is typically defined in your project's preprocessor definitions. The value <code>0x0502</code> maps to Windows XP SP 2.</p>

<center><img src="msw_notes/vc_target.png" /></center>

<h2>Visual C++ 2010 Support</h2>
<p>The Visual C++ 2010 compiler (sometimes abbreviated VC10) is fully supported by Cinder. In order to build Cinder itself, or to use Cinder's built-in audio with this compiler, you will need to install the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=6812">DirectX June 2010 SDK</a>. Unfortunately some people run into an installer bug with this SDK. If you see an error S1023, follow the instructions in <a href="http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx">this document from Microsoft</a>.</p>

<h2>Visual C++ 2012 Support</h2>
<p>The Visual C++ 2012 compiler (sometimes abbreviated VC11) is fully supported by Cinder. This version of Visual C++ has two toolsets associated with it, called <em>v110</em> and <em>v110_xp</em>. The former comes installed automatically, and is able to target Windows Vista, Windows 7 and Windows 8. Cinder's audio requirements complicate the situation a bit (see note below), but if you don't need to target Windows XP the v110 compiler is typically the best choice. However if you do need XP support, you'll need to get the v110_xp compiler from Microsoft. This is available with the <a href="http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update">Visual Studio 2012 Update 2</a>.</p>
<br />
<p>After installing the update you can change the toolset of your project in the <b>General</b> properties in the <b>Platform Toolset</b> field.</p>
<center><img src="msw_notes/vc_toolset.png" /></center>

<br />
</p>You'll need to do this for Cinder and rebuild it, as well as modifying your project in the same way. A longer discussion of this topic is available from Microsoft in <a href="http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx">this document</a>.</p>

<h2>Audio Requirements</h2>
<p>Cinder's audio support is written around XAudio2 on Windows. Unfortunately there is a schism between the Windows 8 SDK and prior versions. Specifically, the SDK included with Visual C++ 2012 uses version 2.8 of this API, while previously the API was only available via the DirectX SDK, and it shipped version 2.7.</p>
<br />
<p>Various pieces of Microsoft documentation describe the technical particulars. The document <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ee415802(v=vs.85).aspx">XAudio2 Versions</a> is informative.</p>
<br />
<table style="width: 100%;">
<thead style="background-color:#DDDDDD;">
<tr style="font-weight:bold;"><td style="font-weight:bold;">Target</td><td style="font-weight:bold;">Compiler</td><td style="font-weight:bold;">XAudio</td><td style="font-weight:bold;">Notes</td></tr>
</thead>
<tbody>
<tr>
<td>Win XP SP2+</td><td>Visual C++ 2010</td><td>2.7</td>
<td>Requires DirectX SDK 2010</td>
</tr>
<tr>
<td>Win XP SP2+</td><td>Visual C++ 2012 (v110_xp)</td><td>2.7</td>
<td>Requires DirectX SDK 2010, see note above on v110_xp</td>
</tr>
<tr>
<td>Win 8+</td><td>Visual C++ 2012 (v110)</td><td>2.8</td>
<td>Requires setting <code>_WIN32_WINNT >= 0x0602</code>, see note below</td>
</tr>
</tbody>
</table>

<br />
<h3>Targeting Windows 8 only</h3>
<p>In order to target Windows 8 exclusively, you'll need to set the preprocessor variable <code>_WIN32_WINNT</code> to 0x0602 in the Preprocessor Definitions of your project settings. You'll also need to set this variable to the same value in Cinder itself and rebuild it.
<br />
<br />
<p>Another alternative is to use the FMOD CinderBlock which is included with the distribution.</p>


</div>
</body>
</html>
2 changes: 1 addition & 1 deletion docs/welcome/MacSetup.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ <h1>Mac OS X Setup</h1>
<a href="http://developer.apple.com/technology/xcode.html">right here</a>.
</p>
<br>
<p>If you are using one of our <a href="http://libcinder.org/download/">packaged releases</a>, you already have everything you need. </p>
<p>If you are using one of our <a href="http://libcinder.org/download/">packaged releases</a>, you already have everything you need. If you're working from github you'll want to follow the build instructions in our <a href="GitSetup.html">Cinder + Git</a> guide.</p>
<br>
<p>Let's try opening and building one of the samples. From the Finder, navigate to the <em>cinder/samples/QuickTime</em> folder and open <em>xcode/quickTimeSample.xcodeproj</em> by double-clicking it. From the <b>Run</b> menu select the <b>Run</b> item. Xcode will take a few seconds to build the sample and then it should launch. You'll be greeted by a standard Mac open dialog box. Navigate to a QuickTime movie on your hard drive and open it. You should see your movie begin playing back in the app's window. Hit the 'o' key to open a different movie file, or you can just drag &amp; drop one from the Finder. </p>

Expand Down
Binary file added docs/welcome/msw_notes/vc_target.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/welcome/msw_notes/vc_toolset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2b14869

Please sign in to comment.