You can subscribe to this list here.
| 2008 | 
          Jan
           | 
        
        
        
        
          Feb
           | 
        
        
        
        
          Mar
           (58)  | 
        
        
        
        
          Apr
           (100)  | 
        
        
        
        
          May
           (92)  | 
        
        
        
        
          Jun
           (12)  | 
        
        
        
        
          Jul
           | 
        
        
        
        
          Aug
           | 
        
        
        
        
          Sep
           (5)  | 
        
        
        
        
          Oct
           (1)  | 
        
        
        
        
          Nov
           (26)  | 
        
        
        
        
          Dec
           (29)  | 
        
      
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 | 
          Jan
           (31)  | 
        
        
        
        
          Feb
           (20)  | 
        
        
        
        
          Mar
           (1)  | 
        
        
        
        
          Apr
           | 
        
        
        
        
          May
           (5)  | 
        
        
        
        
          Jun
           (10)  | 
        
        
        
        
          Jul
           | 
        
        
        
        
          Aug
           (2)  | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           (2)  | 
        
        
        
        
          Nov
           | 
        
        
        
        
          Dec
           (1)  | 
        
      
| 2010 | 
          Jan
           (1)  | 
        
        
        
        
          Feb
           (1)  | 
        
        
        
        
          Mar
           | 
        
        
        
        
          Apr
           (36)  | 
        
        
        
        
          May
           (10)  | 
        
        
        
        
          Jun
           | 
        
        
        
        
          Jul
           (38)  | 
        
        
        
        
          Aug
           (2)  | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           | 
        
        
        
        
          Nov
           | 
        
        
        
        
          Dec
           | 
        
      
| 2011 | 
          Jan
           | 
        
        
        
        
          Feb
           (6)  | 
        
        
        
        
          Mar
           (8)  | 
        
        
        
        
          Apr
           | 
        
        
        
        
          May
           | 
        
        
        
        
          Jun
           | 
        
        
        
        
          Jul
           (14)  | 
        
        
        
        
          Aug
           (56)  | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           | 
        
        
        
        
          Nov
           | 
        
        
        
        
          Dec
           | 
        
      
| 2012 | 
          Jan
           | 
        
        
        
        
          Feb
           | 
        
        
        
        
          Mar
           | 
        
        
        
        
          Apr
           | 
        
        
        
        
          May
           (1)  | 
        
        
        
        
          Jun
           | 
        
        
        
        
          Jul
           | 
        
        
        
        
          Aug
           | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           | 
        
        
        
        
          Nov
           (13)  | 
        
        
        
        
          Dec
           (2)  | 
        
      
| 2013 | 
          Jan
           (30)  | 
        
        
        
        
          Feb
           | 
        
        
        
        
          Mar
           (43)  | 
        
        
        
        
          Apr
           (28)  | 
        
        
        
        
          May
           | 
        
        
        
        
          Jun
           | 
        
        
        
        
          Jul
           (2)  | 
        
        
        
        
          Aug
           | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           (10)  | 
        
        
        
        
          Nov
           (2)  | 
        
        
        
        
          Dec
           | 
        
      
| 2014 | 
          Jan
           | 
        
        
        
        
          Feb
           (2)  | 
        
        
        
        
          Mar
           | 
        
        
        
        
          Apr
           | 
        
        
        
        
          May
           | 
        
        
        
        
          Jun
           | 
        
        
        
        
          Jul
           | 
        
        
        
        
          Aug
           | 
        
        
        
        
          Sep
           | 
        
        
        
        
          Oct
           | 
        
        
        
        
          Nov
           | 
        
        
        
        
          Dec
           | 
        
      
| 
     
      
      
      From: <pst...@us...> - 2014-02-21 00:12:54
      
     
   | 
Revision: 1043
          http://sourceforge.net/p/jazzplusplus/code/1043
Author:   pstieber
Date:     2014-02-21 00:12:51 +0000 (Fri, 21 Feb 2014)
Log Message:
-----------
Removed VS 2012 build files.
Removed Paths:
-------------
    trunk/jazz/vc11/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2014-02-21 00:11:42
      
     
   | 
Revision: 1042
          http://sourceforge.net/p/jazzplusplus/code/1042
Author:   pstieber
Date:     2014-02-21 00:11:38 +0000 (Fri, 21 Feb 2014)
Log Message:
-----------
Updated to use wxWidgets 3.1.0.
Modified Paths:
--------------
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
Modified: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-11-20 22:45:53 UTC (rev 1041)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2014-02-21 00:11:38 UTC (rev 1042)
@@ -94,7 +94,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib\mswud;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_lib\mswud;$(EXT_PKGS)\wxWidgets-3.1.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -118,10 +118,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw30ud_xrc.lib;wxbase30ud_xml.lib;wxexpatd.lib;wxmsw30ud_core.lib;wxmsw30ud_adv.lib;wxmsw30ud_html.lib;wxbase30ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw31ud_xrc.lib;wxbase31ud_xml.lib;wxexpatd.lib;wxmsw31ud_core.lib;wxmsw31ud_adv.lib;wxmsw31ud_html.lib;wxbase31ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
@@ -144,7 +144,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib\mswud;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_x64_lib\mswud;$(EXT_PKGS)\wxWidgets-3.1.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -168,10 +168,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw30ud_xrc.lib;wxbase30ud_xml.lib;wxexpatd.lib;wxmsw30ud_core.lib;wxmsw30ud_adv.lib;wxmsw30ud_html.lib;wxbase30ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw31ud_xrc.lib;wxbase31ud_xml.lib;wxexpatd.lib;wxmsw31ud_core.lib;wxmsw31ud_adv.lib;wxmsw31ud_html.lib;wxbase31ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
@@ -195,7 +195,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib\mswu;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_lib\mswu;$(EXT_PKGS)\wxWidgets-3.1.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -220,10 +220,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw30u_xrc.lib;wxbase30u_xml.lib;wxexpat.lib;wxmsw30u_core.lib;wxmsw30u_adv.lib;wxmsw30u_html.lib;wxbase30u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw31u_xrc.lib;wxbase31u_xml.lib;wxexpat.lib;wxmsw31u_core.lib;wxmsw31u_adv.lib;wxmsw31u_html.lib;wxbase31u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
@@ -246,7 +246,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib\mswu;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_x64_lib\mswu;$(EXT_PKGS)\wxWidgets-3.1.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>NDEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -272,10 +272,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw30u_xrc.lib;wxbase30u_xml.lib;wxexpat.lib;wxmsw30u_core.lib;wxmsw30u_adv.lib;wxmsw30u_html.lib;wxbase30u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw31u_xrc.lib;wxbase31u_xml.lib;wxexpat.lib;wxmsw31u_core.lib;wxmsw31u_adv.lib;wxmsw31u_html.lib;wxbase31u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.1.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
@@ -514,23 +514,23 @@
       <FileType>Document</FileType>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">echo cd "$(ProjectDir)..\src\HelpFiles"
 cd "$(ProjectDir)..\src\HelpFiles"
-echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
-$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+echo $(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
 </Command>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">echo cd "$(ProjectDir)..\src\HelpFiles"
 cd "$(ProjectDir)..\src\HelpFiles"
-echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
-$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+echo $(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
 </Command>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">echo cd "$(ProjectDir)..\src\HelpFiles"
 cd "$(ProjectDir)..\src\HelpFiles"
-echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
-$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+echo $(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
 </Command>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">echo cd "$(ProjectDir)..\src\HelpFiles"
 cd "$(ProjectDir)..\src\HelpFiles"
-echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
-$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+echo $(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.1.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
 </Command>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">Building Jazz++ help</Message>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">$(ProjectDir)..\src\HelpFiles\jazz.hhc;$(ProjectDir)..\src\HelpFiles\jazz.hhp;$(ProjectDir)..\src\HelpFiles\jazz.hhk;$(ProjectDir)..\src\HelpFiles\jazz.ref;$(ProjectDir)..\src\HelpFiles\jazz.con;$(ProjectDir)..\src\HelpFiles\jazz.htx;%(Outputs)</Outputs>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-11-20 22:45:56
      
     
   | 
Revision: 1041
          http://sourceforge.net/p/jazzplusplus/code/1041
Author:   pstieber
Date:     2013-11-20 22:45:53 +0000 (Wed, 20 Nov 2013)
Log Message:
-----------
Updated help build output.
Modified Paths:
--------------
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
Modified: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-11-17 16:21:29 UTC (rev 1040)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-11-20 22:45:53 UTC (rev 1041)
@@ -533,13 +533,13 @@
 $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
 </Command>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">Building Jazz++ help</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">$(ProjectDir)..\src\HelpFiles\jazz.hhc;$(ProjectDir)..\src\HelpFiles\jazz.hhp;$(ProjectDir)..\src\HelpFiles\jazz.hhk;$(ProjectDir)..\src\HelpFiles\jazz.ref;$(ProjectDir)..\src\HelpFiles\jazz.con;$(ProjectDir)..\src\HelpFiles\jazz.htx;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">Building Jazz++ help</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">$(ProjectDir)..\src\HelpFiles\jazz.hhc;$(ProjectDir)..\src\HelpFiles\jazz.hhp;$(ProjectDir)..\src\HelpFiles\jazz.hhk;$(ProjectDir)..\src\HelpFiles\jazz.ref;$(ProjectDir)..\src\HelpFiles\jazz.con;$(ProjectDir)..\src\HelpFiles\jazz.htx;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">Building Jazz++ help</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">$(ProjectDir)..\src\HelpFiles\jazz.hhc;$(ProjectDir)..\src\HelpFiles\jazz.hhp;$(ProjectDir)..\src\HelpFiles\jazz.hhk;$(ProjectDir)..\src\HelpFiles\jazz.ref;$(ProjectDir)..\src\HelpFiles\jazz.con;$(ProjectDir)..\src\HelpFiles\jazz.htx;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">Building Jazz++ help</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">$(ProjectDir)..\src\HelpFiles\jazz.hhc;$(ProjectDir)..\src\HelpFiles\jazz.hhp;$(ProjectDir)..\src\HelpFiles\jazz.hhk;$(ProjectDir)..\src\HelpFiles\jazz.ref;$(ProjectDir)..\src\HelpFiles\jazz.con;$(ProjectDir)..\src\HelpFiles\jazz.htx;%(Outputs)</Outputs>
       <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">false</LinkObjects>
       <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">false</LinkObjects>
       <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">false</LinkObjects>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-11-17 16:21:31
      
     
   | 
Revision: 1040
          http://sourceforge.net/p/jazzplusplus/code/1040
Author:   pstieber
Date:     2013-11-17 16:21:29 +0000 (Sun, 17 Nov 2013)
Log Message:
-----------
1. Updated to used wxWidgets 3.0.0.
2. Added a custom build step to generate help.  The VS 2013 version of tex2rtf is
crashing.
Modified Paths:
--------------
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters
Modified: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-10-25 23:46:45 UTC (rev 1039)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-11-17 16:21:29 UTC (rev 1040)
@@ -94,7 +94,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib\mswud;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib\mswud;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -118,10 +118,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw29ud_xrc.lib;wxbase29ud_xml.lib;wxexpatd.lib;wxmsw29ud_core.lib;wxmsw29ud_adv.lib;wxmsw29ud_html.lib;wxbase29ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw30ud_xrc.lib;wxbase30ud_xml.lib;wxexpatd.lib;wxmsw30ud_core.lib;wxmsw30ud_adv.lib;wxmsw30ud_html.lib;wxbase30ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
@@ -144,7 +144,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib\mswud;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib\mswud;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -168,10 +168,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw29ud_xrc.lib;wxbase29ud_xml.lib;wxexpatd.lib;wxmsw29ud_core.lib;wxmsw29ud_adv.lib;wxmsw29ud_html.lib;wxbase29ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw30ud_xrc.lib;wxbase30ud_xml.lib;wxexpatd.lib;wxmsw30ud_core.lib;wxmsw30ud_adv.lib;wxmsw30ud_html.lib;wxbase30ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
@@ -195,7 +195,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib\mswu;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib\mswu;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -220,10 +220,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw29u_xrc.lib;wxbase29u_xml.lib;wxexpat.lib;wxmsw29u_core.lib;wxmsw29u_adv.lib;wxmsw29u_html.lib;wxbase29u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw30u_xrc.lib;wxbase30u_xml.lib;wxexpat.lib;wxmsw30u_core.lib;wxmsw30u_adv.lib;wxmsw30u_html.lib;wxbase30u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
@@ -246,7 +246,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib\mswu;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib\mswu;$(EXT_PKGS)\wxWidgets-3.0.0-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>NDEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -272,10 +272,10 @@
       <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ResourceCompile>
     <Link>
-      <AdditionalDependencies>wxmsw29u_xrc.lib;wxbase29u_xml.lib;wxexpat.lib;wxmsw29u_core.lib;wxmsw29u_adv.lib;wxmsw29u_html.lib;wxbase29u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>wxmsw30u_xrc.lib;wxbase30u_xml.lib;wxexpat.lib;wxmsw30u_core.lib;wxmsw30u_adv.lib;wxmsw30u_html.lib;wxbase30u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxWidgets-3.0.0-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
@@ -509,6 +509,45 @@
     <ClInclude Include="..\src\Dialogs\VelocityDialog.h" />
   </ItemGroup>
   <ItemGroup>
+    <CustomBuild Include="..\src\HelpFiles\jazz.tex">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">false</ExcludedFromBuild>
+      <FileType>Document</FileType>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">echo cd "$(ProjectDir)..\src\HelpFiles"
+cd "$(ProjectDir)..\src\HelpFiles"
+echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+</Command>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">echo cd "$(ProjectDir)..\src\HelpFiles"
+cd "$(ProjectDir)..\src\HelpFiles"
+echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+</Command>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">echo cd "$(ProjectDir)..\src\HelpFiles"
+cd "$(ProjectDir)..\src\HelpFiles"
+echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+</Command>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">echo cd "$(ProjectDir)..\src\HelpFiles"
+cd "$(ProjectDir)..\src\HelpFiles"
+echo $(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+$(EXT_PKGS)\wxWidgets-3.0.0-VC12\bin\tex2rtf jazz.tex jazz.html -html -twice
+</Command>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">Building Jazz++ help</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">Building Jazz++ help</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">Building Jazz++ help</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">Building Jazz++ help</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">$(InputDir)$(InputName).hhc;$(InputDir)$(InputName).hhp;$(InputDir)$(InputName).hhk;$(InputDir)$(InputName).ref;$(InputDir)$(InputName).con;$(InputDir)$(InputName).htx;%(Outputs)</Outputs>
+      <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">false</LinkObjects>
+      <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">false</LinkObjects>
+      <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">false</LinkObjects>
+      <LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">false</LinkObjects>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">false</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">false</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">false</ExcludedFromBuild>
+    </CustomBuild>
     <None Include="..\src\HelpFiles\tex2rtf.ini" />
     <None Include="..\src\Makefile.am" />
   </ItemGroup>
Modified: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters	2013-10-25 23:46:45 UTC (rev 1039)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters	2013-11-17 16:21:29 UTC (rev 1040)
@@ -334,4 +334,9 @@
       <UniqueIdentifier>{7e14185d-521d-47ac-b425-dda76e9a5000}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\src\HelpFiles\jazz.tex">
+      <Filter>Help Files</Filter>
+    </CustomBuild>
+  </ItemGroup>
 </Project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-25 23:46:48
      
     
   | 
Revision: 1039
          http://sourceforge.net/p/jazzplusplus/code/1039
Author:   pstieber
Date:     2013-10-25 23:46:45 +0000 (Fri, 25 Oct 2013)
Log Message:
-----------
Updated to use Visual Studio 2013.
Added Paths:
-----------
    trunk/jazz/portmidi/pm_win/portmidi-VC12.vcxproj
    trunk/jazz/portmidi/porttime/porttime-VC12.vcxproj
    trunk/jazz/vc12/
    trunk/jazz/vc12/JazzPlusPlus-VC12.sln
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
    trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters
Added: trunk/jazz/portmidi/pm_win/portmidi-VC12.vcxproj
===================================================================
--- trunk/jazz/portmidi/pm_win/portmidi-VC12.vcxproj	                        (rev 0)
+++ trunk/jazz/portmidi/pm_win/portmidi-VC12.vcxproj	2013-10-25 23:46:45 UTC (rev 1039)
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug VC12|Win32">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug VC12|x64">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|Win32">
+      <Configuration>Release VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|x64">
+      <Configuration>Release VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectName>portmidi</ProjectName>
+    <ProjectGuid>{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}</ProjectGuid>
+    <RootNamespace>portmidi</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\pm_common;..\porttime;..\pm_win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_LIB;DEBUG;PM_CHECK_ERRORS;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)portmidi.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)portmidi.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)portmidi.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>..\pm_common;..\porttime;..\pm_win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)portmidi.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)portmidi.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)portmidi.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\pm_common;..\porttime;..\pm_win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_LIB;DEBUG;PM_CHECK_ERRORS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)portmidi.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)portmidi.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)portmidi.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>..\pm_common;..\porttime;..\pm_win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)portmidi.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)portmidi.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)portmidi.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\pm_common\pmutil.c" />
+    <ClCompile Include="pmwin.c" />
+    <ClCompile Include="pmwinmm.c" />
+    <ClCompile Include="..\pm_common\portmidi.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\pm_common\pminternal.h" />
+    <ClInclude Include="..\pm_common\pmutil.h" />
+    <ClInclude Include="pmwinmm.h" />
+    <ClInclude Include="..\pm_common\portmidi.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
Added: trunk/jazz/portmidi/porttime/porttime-VC12.vcxproj
===================================================================
--- trunk/jazz/portmidi/porttime/porttime-VC12.vcxproj	                        (rev 0)
+++ trunk/jazz/portmidi/porttime/porttime-VC12.vcxproj	2013-10-25 23:46:45 UTC (rev 1039)
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug VC12|Win32">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug VC12|x64">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|Win32">
+      <Configuration>Release VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|x64">
+      <Configuration>Release VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectName>porttime</ProjectName>
+    <ProjectGuid>{8B609D00-8595-4B7B-85C1-F89FEFDE6537}</ProjectGuid>
+    <RootNamespace>porttime</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)porttime.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)porttime.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)porttime.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_LIB;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)porttime.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)porttime.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)porttime.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)porttime.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)porttime.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)porttime.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)porttime.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <OutputFile>.\$(OutDir)porttime.lib</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Lib>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\$(OutDir)porttime.bsc</OutputFile>
+    </Bscmake>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="porttime.c" />
+    <ClCompile Include="ptwinmm.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="porttime.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
Added: trunk/jazz/vc12/JazzPlusPlus-VC12.sln
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.sln	                        (rev 0)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.sln	2013-10-25 23:46:45 UTC (rev 1039)
@@ -0,0 +1,49 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "A JazzPlusPlus Application", "JazzPlusPlus-VC12.vcxproj", "{B8D2D543-F2F7-4ED4-84B8-6C2794229495}"
+	ProjectSection(ProjectDependencies) = postProject
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537} = {8B609D00-8595-4B7B-85C1-F89FEFDE6537}
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1} = {B460DC87-8C9C-4C33-BEF1-CD6734C676F1}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portmidi", "..\portmidi\pm_win\portmidi-VC12.vcxproj", "{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "porttime", "..\portmidi\porttime\porttime-VC12.vcxproj", "{8B609D00-8595-4B7B-85C1-F89FEFDE6537}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug VC12|Win32 = Debug VC12|Win32
+		Debug VC12|x64 = Debug VC12|x64
+		Release VC12|Win32 = Release VC12|Win32
+		Release VC12|x64 = Release VC12|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Debug VC12|Win32.ActiveCfg = Debug VC12|Win32
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Debug VC12|Win32.Build.0 = Debug VC12|Win32
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Debug VC12|x64.ActiveCfg = Debug VC12|x64
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Debug VC12|x64.Build.0 = Debug VC12|x64
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Release VC12|Win32.ActiveCfg = Release VC12|Win32
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Release VC12|Win32.Build.0 = Release VC12|Win32
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Release VC12|x64.ActiveCfg = Release VC12|x64
+		{B460DC87-8C9C-4C33-BEF1-CD6734C676F1}.Release VC12|x64.Build.0 = Release VC12|x64
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Debug VC12|Win32.ActiveCfg = Debug VC12|Win32
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Debug VC12|Win32.Build.0 = Debug VC12|Win32
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Debug VC12|x64.ActiveCfg = Debug VC12|x64
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Debug VC12|x64.Build.0 = Debug VC12|x64
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Release VC12|Win32.ActiveCfg = Release VC12|Win32
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Release VC12|Win32.Build.0 = Release VC12|Win32
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Release VC12|x64.ActiveCfg = Release VC12|x64
+		{8B609D00-8595-4B7B-85C1-F89FEFDE6537}.Release VC12|x64.Build.0 = Release VC12|x64
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Debug VC12|Win32.ActiveCfg = Debug VC12|Win32
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Debug VC12|Win32.Build.0 = Debug VC12|Win32
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Debug VC12|x64.ActiveCfg = Debug VC12|x64
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Debug VC12|x64.Build.0 = Debug VC12|x64
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Release VC12|Win32.ActiveCfg = Release VC12|Win32
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Release VC12|Win32.Build.0 = Release VC12|Win32
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Release VC12|x64.ActiveCfg = Release VC12|x64
+		{B8D2D543-F2F7-4ED4-84B8-6C2794229495}.Release VC12|x64.Build.0 = Release VC12|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Added: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	                        (rev 0)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj	2013-10-25 23:46:45 UTC (rev 1039)
@@ -0,0 +1,526 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug VC12|Win32">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug VC12|x64">
+      <Configuration>Debug VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|Win32">
+      <Configuration>Release VC12</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release VC12|x64">
+      <Configuration>Release VC12</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B8D2D543-F2F7-4ED4-84B8-6C2794229495}</ProjectGuid>
+    <RootNamespace>A JazzPlusPlus Application</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">BuildDir\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">false</LinkIncremental>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">JazzPlusPlus</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">JazzPlusPlus</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">JazzPlusPlus</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">JazzPlusPlus</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TypeLibraryName>.\$(OutDir)JazzPlusPlus.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib\mswud;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)JazzPlusPlus.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4351;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>wxmsw29ud_xrc.lib;wxbase29ud_xml.lib;wxexpatd.lib;wxmsw29ud_core.lib;wxmsw29ud_adv.lib;wxmsw29ud_html.lib;wxbase29ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>X64</TargetEnvironment>
+      <TypeLibraryName>.\$(OutDir)JazzPlusPlus.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib\mswud;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;__WXDEBUG__;WXDEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)JazzPlusPlus.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4351;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>wxmsw29ud_xrc.lib;wxbase29ud_xml.lib;wxexpatd.lib;wxmsw29ud_core.lib;wxmsw29ud_adv.lib;wxmsw29ud_html.lib;wxbase29ud.lib;wxpngd.lib;wxzlibd.lib;wxjpegd.lib;wxtiffd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TypeLibraryName>.\$(OutDir)JazzPlusPlus.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib\mswu;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WINVER=0x0400;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)JazzPlusPlus.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4351;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>wxmsw29u_xrc.lib;wxbase29u_xml.lib;wxexpat.lib;wxmsw29u_core.lib;wxmsw29u_adv.lib;wxmsw29u_html.lib;wxbase29u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>X64</TargetEnvironment>
+      <TypeLibraryName>.\$(OutDir)JazzPlusPlus.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib\mswu;$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;..\src;..\src\mswin;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;WINVER=0x0501;STRICT;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\$(OutDir)JazzPlusPlus.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\$(OutDir)</AssemblerListingLocation>
+      <ObjectFileName>.\$(OutDir)</ObjectFileName>
+      <ProgramDataBaseFileName>.\$(OutDir)</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CallingConvention>StdCall</CallingConvention>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4351;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+      <AdditionalIncludeDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>wxmsw29u_xrc.lib;wxbase29u_xml.lib;wxexpat.lib;wxmsw29u_core.lib;wxmsw29u_adv.lib;wxmsw29u_html.lib;wxbase29u.lib;wxpng.lib;wxzlib.lib;wxjpeg.lib;wxtiff.lib;odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\$(OutDir)JazzPlusPlus.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <AdditionalLibraryDirectories>$(EXT_PKGS)\wxMSW-2.9.5-VC12\lib\vc_x64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <ProgramDatabaseFile>.\$(OutDir)JazzPlusPlus.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\AboutDialog.cpp" />
+    <ClCompile Include="..\src\ArrayControl.cpp" />
+    <ClCompile Include="..\src\AsciiMidiFile.cpp" />
+    <ClCompile Include="..\src\Audio.cpp" />
+    <ClCompile Include="..\src\ClockDialog.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\src\Command.cpp" />
+    <ClCompile Include="..\src\Configuration.cpp" />
+    <ClCompile Include="..\src\ControlEdit.cpp" />
+    <ClCompile Include="..\src\Dialogs.cpp" />
+    <ClCompile Include="..\src\Dialogs\AudioSettingsDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SamplesDialog.cpp" />
+    <ClCompile Include="..\src\DrumUtilities.cpp" />
+    <ClCompile Include="..\src\ErrorMessage.cpp" />
+    <ClCompile Include="..\src\EventFrame.cpp" />
+    <ClCompile Include="..\src\Events.cpp" />
+    <ClCompile Include="..\src\EventWindow.cpp" />
+    <ClCompile Include="..\src\FileSelector.cpp" />
+    <ClCompile Include="..\src\Filter.cpp" />
+    <ClCompile Include="..\src\FindFile.cpp" />
+    <ClCompile Include="..\src\FrequencyTable.cpp" />
+    <ClCompile Include="..\src\GetOptionIndex.cpp" />
+    <ClCompile Include="..\src\Globals.cpp" />
+    <ClCompile Include="..\src\GuitarFrame.cpp" />
+    <ClCompile Include="..\src\GuitarSettings.cpp" />
+    <ClCompile Include="..\src\GuitarSettingsDialog.cpp" />
+    <ClCompile Include="..\src\GuitarWindow.cpp" />
+    <ClCompile Include="..\src\Harmony.cpp" />
+    <ClCompile Include="..\src\HarmonyBrowserAnalyzer.cpp" />
+    <ClCompile Include="..\src\HarmonyP.cpp" />
+    <ClCompile Include="..\src\Help.cpp" />
+    <ClCompile Include="..\src\JazzPlusPlusApplication.cpp" />
+    <ClCompile Include="..\src\KeyStringConverters.cpp" />
+    <ClCompile Include="..\src\Knob.cpp" />
+    <ClCompile Include="..\src\Mapper.cpp" />
+    <ClCompile Include="..\src\MeasureChoice.cpp" />
+    <ClCompile Include="..\src\Metronome.cpp" />
+    <ClCompile Include="..\src\MidiDeviceDialog.cpp" />
+    <ClCompile Include="..\src\MouseAction.cpp" />
+    <ClCompile Include="..\src\NamedChoice.cpp" />
+    <ClCompile Include="..\src\NamedValue.cpp" />
+    <ClCompile Include="..\src\NamedValueChoice.cpp" />
+    <ClCompile Include="..\src\PianoFrame.cpp" />
+    <ClCompile Include="..\src\PianoWindow.cpp" />
+    <ClCompile Include="..\src\Player.cpp" />
+    <ClCompile Include="..\src\PortMidiPlayer.cpp" />
+    <ClCompile Include="..\src\Project.cpp" />
+    <ClCompile Include="..\src\ProjectManager.cpp" />
+    <ClCompile Include="..\src\DeprecatedWx\prop.cpp" />
+    <ClCompile Include="..\src\PropertyListDialog.cpp" />
+    <ClCompile Include="..\src\DeprecatedWx\propform.cpp" />
+    <ClCompile Include="..\src\DeprecatedWx\proplist.cpp" />
+    <ClCompile Include="..\src\Random.cpp" />
+    <ClCompile Include="..\src\RecordingInfo.cpp" />
+    <ClCompile Include="..\src\Rectangle.cpp" />
+    <ClCompile Include="..\src\Rhythm.cpp" />
+    <ClCompile Include="..\src\RhythmArrayControl.cpp" />
+    <ClCompile Include="..\src\Sample.cpp" />
+    <ClCompile Include="..\src\SampleCommand.cpp" />
+    <ClCompile Include="..\src\SampleDialog.cpp" />
+    <ClCompile Include="..\src\SampleFrame.cpp" />
+    <ClCompile Include="..\src\SampleWindow.cpp" />
+    <ClCompile Include="..\src\SelectControllerDialog.cpp" />
+    <ClCompile Include="..\src\Signal2.cpp" />
+    <ClCompile Include="..\src\SliderWindow.cpp" />
+    <ClCompile Include="..\src\Song.cpp" />
+    <ClCompile Include="..\src\StandardFile.cpp" />
+    <ClCompile Include="..\src\StringReadWrite.cpp" />
+    <ClCompile Include="..\src\StringUtilities.cpp" />
+    <ClCompile Include="..\src\Synth.cpp" />
+    <ClCompile Include="..\src\SysexChannel.cpp" />
+    <ClCompile Include="..\src\ToolBar.cpp" />
+    <ClCompile Include="..\src\Track.cpp" />
+    <ClCompile Include="..\src\TrackFrame.cpp" />
+    <ClCompile Include="..\src\TrackWindow.cpp" />
+    <ClCompile Include="..\src\mswin\WindowsAudioInterface.cpp" />
+    <ClCompile Include="..\src\mswin\WindowsConsole.cpp" />
+    <ClCompile Include="..\src\mswin\WindowsMidiInterface.cpp" />
+    <ClCompile Include="..\src\mswin\WindowsPlayer.cpp" />
+    <ClCompile Include="..\src\Dialogs\CleanupDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\ControllerDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\DeleteDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\EndOfTrackDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\FilterDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\IntegerEdit.cpp" />
+    <ClCompile Include="..\src\Dialogs\KeyOnDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\LengthDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\MeterChangeDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\MetronomeSettingsDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\MidiChannelDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\PitchWheelDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\ProgramChangeDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\QuantizeDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SearchAndReplaceDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SetTempoDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\ShiftDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SnapDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SynthesizerSettingsDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\SysexDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\TextDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\TrackDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\TransposeDialog.cpp" />
+    <ClCompile Include="..\src\Dialogs\VelocityDialog.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\AboutDialog.h" />
+    <ClInclude Include="..\src\ArrayControl.h" />
+    <ClInclude Include="..\src\AsciiMidiFile.h" />
+    <ClInclude Include="..\src\Audio.h" />
+    <CustomBuildStep Include="..\src\ClockDialog.h">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug VC12|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release VC12|x64'">true</ExcludedFromBuild>
+    </CustomBuildStep>
+    <ClInclude Include="..\src\Command.h" />
+    <ClInclude Include="..\src\Configuration.h" />
+    <ClInclude Include="..\src\ControlEdit.h" />
+    <ClInclude Include="..\src\Dialogs.h" />
+    <ClInclude Include="..\src\Dialogs\AudioSettingsDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SamplesDialog.h" />
+    <ClInclude Include="..\src\DrumEnums.h" />
+    <ClInclude Include="..\src\DrumUtilities.h" />
+    <ClInclude Include="..\src\DynamicArray.h" />
+    <ClInclude Include="..\src\ErrorMessage.h" />
+    <ClInclude Include="..\src\EventFrame.h" />
+    <ClInclude Include="..\src\Events.h" />
+    <ClInclude Include="..\src\EventWindow.h" />
+    <ClInclude Include="..\src\FileSelector.h" />
+    <ClInclude Include="..\src\Filter.h" />
+    <ClInclude Include="..\src\FindFile.h" />
+    <ClInclude Include="..\src\FrequencyTable.h" />
+    <ClInclude Include="..\src\GetOptionIndex.h" />
+    <ClInclude Include="..\src\Globals.h" />
+    <ClInclude Include="..\src\GuitarFrame.h" />
+    <ClInclude Include="..\src\GuitarSettings.h" />
+    <ClInclude Include="..\src\GuitarSettingsDialog.h" />
+    <ClInclude Include="..\src\GuitarWindow.h" />
+    <ClInclude Include="..\src\Harmony.h" />
+    <ClInclude Include="..\src\HarmonyBrowserAnalyzer.h" />
+    <ClInclude Include="..\src\HarmonyP.h" />
+    <ClInclude Include="..\src\Help.h" />
+    <ClInclude Include="..\src\JazzPlusPlusApplication.h" />
+    <ClInclude Include="..\src\KeyStringConverters.h" />
+    <ClInclude Include="..\src\Knob.h" />
+    <ClInclude Include="..\src\Mapper.h" />
+    <ClInclude Include="..\src\MeasureChoice.h" />
+    <ClInclude Include="..\src\Metronome.h" />
+    <ClInclude Include="..\src\MidiDeviceDialog.h" />
+    <ClInclude Include="..\src\MouseAction.h" />
+    <ClInclude Include="..\src\NamedChoice.h" />
+    <ClInclude Include="..\src\NamedValue.h" />
+    <ClInclude Include="..\src\NamedValueChoice.h" />
+    <ClInclude Include="..\src\PianoFrame.h" />
+    <ClInclude Include="..\src\PianoWindow.h" />
+    <ClInclude Include="..\src\Player.h" />
+    <ClInclude Include="..\src\PortMidiPlayer.h" />
+    <ClInclude Include="..\src\Project.h" />
+    <ClInclude Include="..\src\ProjectManager.h" />
+    <ClInclude Include="..\src\DeprecatedWx\prop.h" />
+    <ClInclude Include="..\src\PropertyListDialog.h" />
+    <ClInclude Include="..\src\DeprecatedWx\propform.h" />
+    <ClInclude Include="..\src\DeprecatedWx\proplist.h" />
+    <ClInclude Include="..\src\Random.h" />
+    <ClInclude Include="..\src\RecordingInfo.h" />
+    <ClInclude Include="..\src\Rectangle.h" />
+    <ClInclude Include="..\src\Resources.h" />
+    <ClInclude Include="..\src\Rhythm.h" />
+    <ClInclude Include="..\src\RhythmArrayControl.h" />
+    <ClInclude Include="..\src\Sample.h" />
+    <ClInclude Include="..\src\SampleCommand.h" />
+    <ClInclude Include="..\src\SampleDialog.h" />
+    <ClInclude Include="..\src\SampleFrame.h" />
+    <ClInclude Include="..\src\SampleWindow.h" />
+    <ClInclude Include="..\src\SelectControllerDialog.h" />
+    <ClInclude Include="..\src\DeprecatedWx\setup.h" />
+    <ClInclude Include="..\src\Signal2.h" />
+    <ClInclude Include="..\src\SliderWindow.h" />
+    <ClInclude Include="..\src\Song.h" />
+    <ClInclude Include="..\src\StandardFile.h" />
+    <ClInclude Include="..\src\StringReadWrite.h" />
+    <ClInclude Include="..\src\StringUtilities.h" />
+    <ClInclude Include="..\src\Synth.h" />
+    <ClInclude Include="..\src\SynthesizerTypeEnums.h" />
+    <ClInclude Include="..\src\SysexChannel.h" />
+    <ClInclude Include="..\src\ToolBar.h" />
+    <ClInclude Include="..\src\Track.h" />
+    <ClInclude Include="..\src\TrackFrame.h" />
+    <ClInclude Include="..\src\TrackWindow.h" />
+    <ClInclude Include="..\src\mswin\WindowsAudioInterface.h" />
+    <ClInclude Include="..\src\mswin\WindowsConsole.h" />
+    <ClInclude Include="..\src\mswin\WindowsMidiInterface.h" />
+    <ClInclude Include="..\src\mswin\WindowsPlayer.h" />
+    <ClInclude Include="..\src\Dialogs\CleanupDialog.h" />
+    <ClInclude Include="..\src\Dialogs\ControllerDialog.h" />
+    <ClInclude Include="..\src\Dialogs\DeleteDialog.h" />
+    <ClInclude Include="..\src\Dialogs\EndOfTrackDialog.h" />
+    <ClInclude Include="..\src\Dialogs\FilterDialog.h" />
+    <ClInclude Include="..\src\Dialogs\IntegerEdit.h" />
+    <ClInclude Include="..\src\Dialogs\KeyOnDialog.h" />
+    <ClInclude Include="..\src\Dialogs\LengthDialog.h" />
+    <ClInclude Include="..\src\Dialogs\MeterChangeDialog.h" />
+    <ClInclude Include="..\src\Dialogs\MetronomeSettingsDialog.h" />
+    <ClInclude Include="..\src\Dialogs\MidiChannelDialog.h" />
+    <ClInclude Include="..\src\Dialogs\PitchWheelDialog.h" />
+    <ClInclude Include="..\src\Dialogs\ProgramChangeDialog.h" />
+    <ClInclude Include="..\src\Dialogs\QuantizeDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SearchAndReplaceDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SetTempoDialog.h" />
+    <ClInclude Include="..\src\Dialogs\ShiftDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SnapDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SynthesizerSettingsDialog.h" />
+    <ClInclude Include="..\src\Dialogs\SysexDialog.h" />
+    <ClInclude Include="..\src\Dialogs\TextDialog.h" />
+    <ClInclude Include="..\src\Dialogs\TrackDialog.h" />
+    <ClInclude Include="..\src\Dialogs\TransposeDialog.h" />
+    <ClInclude Include="..\src\Dialogs\VelocityDialog.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\src\HelpFiles\tex2rtf.ini" />
+    <None Include="..\src\Makefile.am" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\portmidi\pm_win\portmidi-VC12.vcxproj">
+      <Project>{b460dc87-8c9c-4c33-bef1-cd6734c676f1}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\portmidi\porttime\porttime-VC12.vcxproj">
+      <Project>{8b609d00-8595-4b7b-85c1-f89fefde6537}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
Added: trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters
===================================================================
--- trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters	                        (rev 0)
+++ trunk/jazz/vc12/JazzPlusPlus-VC12.vcxproj.filters	2013-10-25 23:46:45 UTC (rev 1039)
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="..\src\AsciiMidiFile.cpp" />
+    <ClCompile Include="..\src\Audio.cpp" />
+    <ClCompile Include="..\src\ClockDialog.cpp" />
+    <ClCompile Include="..\src\Command.cpp" />
+    <ClCompile Include="..\src\Configuration.cpp" />
+    <ClCompile Include="..\src\ControlEdit.cpp" />
+    <ClCompile Include="..\src\Dialogs.cpp" />
+    <ClCompile Include="..\src\DrumUtilities.cpp" />
+    <ClCompile Include="..\src\ErrorMessage.cpp" />
+    <ClCompile Include="..\src\EventFrame.cpp" />
+    <C...
 
[truncated message content] | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-25 23:45:26
      
     
   | 
Revision: 1038
          http://sourceforge.net/p/jazzplusplus/code/1038
Author:   pstieber
Date:     2013-10-25 23:45:20 +0000 (Fri, 25 Oct 2013)
Log Message:
-----------
Added an include of algorithm for std::max.
Modified Paths:
--------------
    trunk/jazz/src/ControlEdit.cpp
Modified: trunk/jazz/src/ControlEdit.cpp
===================================================================
--- trunk/jazz/src/ControlEdit.cpp	2013-10-22 03:33:52 UTC (rev 1037)
+++ trunk/jazz/src/ControlEdit.cpp	2013-10-25 23:45:20 UTC (rev 1038)
@@ -31,6 +31,8 @@
 #include <wx/button.h>
 #include <wx/sizer.h>
 
+#include <algorithm>
+
 static const long wbar = 2;
 static int bars_state = 2;  // from ArrayEdit
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-22 03:33:55
      
     
   | 
Revision: 1037
          http://sourceforge.net/p/jazzplusplus/code/1037
Author:   pstieber
Date:     2013-10-22 03:33:52 +0000 (Tue, 22 Oct 2013)
Log Message:
-----------
Added DynamicArray.cpp.
Modified Paths:
--------------
    trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj
    trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj.filters
Modified: trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj
===================================================================
--- trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj	2013-10-22 03:33:02 UTC (rev 1036)
+++ trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj	2013-10-22 03:33:52 UTC (rev 1037)
@@ -303,7 +303,6 @@
     <ClCompile Include="..\src\Dialogs\AudioSettingsDialog.cpp" />
     <ClCompile Include="..\src\Dialogs\SamplesDialog.cpp" />
     <ClCompile Include="..\src\DrumUtilities.cpp" />
-    <ClCompile Include="..\src\DynamicArray.cpp" />
     <ClCompile Include="..\src\ErrorMessage.cpp" />
     <ClCompile Include="..\src\EventFrame.cpp" />
     <ClCompile Include="..\src\Events.cpp" />
Modified: trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj.filters
===================================================================
--- trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj.filters	2013-10-22 03:33:02 UTC (rev 1036)
+++ trunk/jazz/vc11/JazzPlusPlus-VC11.vcxproj.filters	2013-10-22 03:33:52 UTC (rev 1037)
@@ -9,7 +9,6 @@
     <ClCompile Include="..\src\ControlEdit.cpp" />
     <ClCompile Include="..\src\Dialogs.cpp" />
     <ClCompile Include="..\src\DrumUtilities.cpp" />
-    <ClCompile Include="..\src\DynamicArray.cpp" />
     <ClCompile Include="..\src\ErrorMessage.cpp" />
     <ClCompile Include="..\src\EventFrame.cpp" />
     <ClCompile Include="..\src\Events.cpp" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-22 03:33:05
      
     
   | 
Revision: 1036
          http://sourceforge.net/p/jazzplusplus/code/1036
Author:   pstieber
Date:     2013-10-22 03:33:02 +0000 (Tue, 22 Oct 2013)
Log Message:
-----------
Removed Visual Studio 2008 and 2010 projects and solutions.  I'm going to
update to VS 2012 so I can use C++11.
Removed Paths:
-------------
    trunk/jazz/vc10/
    trunk/jazz/vc9/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-18 19:24:09
      
     
   | 
Revision: 1035
          http://sourceforge.net/p/jazzplusplus/code/1035
Author:   pstieber
Date:     2013-10-18 19:24:07 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Added a information property list file template.
Modified Paths:
--------------
    trunk/jazz/Makefile.am
    trunk/jazz/configure.ac
Added Paths:
-----------
    trunk/jazz/Info.plist.in
Added: trunk/jazz/Info.plist.in
===================================================================
--- trunk/jazz/Info.plist.in	                        (rev 0)
+++ trunk/jazz/Info.plist.in	2013-10-18 19:24:07 UTC (rev 1035)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.dvdstyler.DVDStyler</string>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>Jazz++</string>
+ <key>CFBundleIconFile</key>
+ <string>jazz.icns</string>
+ <key>CFBundleName</key>
+ <string>Jazz++</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>jazz</string>
+ <key>CFBundleVersion</key>
+ <string>@VERSION@</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@VERSION@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Jazz++ version @VERSION@, (c) 2013 Pete Stieber</string>
+ <key>CFBundleLongVersionString</key>
+ <string>@VERSION@, (c) 2013 Pete Stieber</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright 2013 Pete Stieber</string>
+ <key>LSRequiresCarbon</key>
+ <true/>
+ <key>CSResourcesFileMapped</key>
+ <true/>
+</dict>
+</plist>
Modified: trunk/jazz/Makefile.am
===================================================================
--- trunk/jazz/Makefile.am	2013-10-10 20:21:53 UTC (rev 1034)
+++ trunk/jazz/Makefile.am	2013-10-18 19:24:07 UTC (rev 1035)
@@ -1,5 +1,3 @@
-## Process this file with automake to produce Makefile.in
-
 ACLOCAL_AMFLAGS=-I m4
 
 SUBDIRS = src conf
@@ -16,3 +14,17 @@
 
 htmldocs:
 	doxygen jazz.doxy
+
+# New stuff
+Jazz++.app: Info.plist src/jazz
+	-mkdir Jazz++.app
+	-mkdir Jazz++.app/Contents
+	-mkdir Jazz++.app/Contents/MacOS
+	-mkdir Jazz++.app/Contents/Resources
+	-mkdir Jazz++.app/Contents/Resources/English.lproj
+	cp Info.plist Jazz++.app/Contents/
+	echo -n "Jazz++" > Jazz++.app/Contents/PkgInfo
+	cp src/jazz Jazz++.app/Contents/MacOS/Jazz++
+
+libs:
+	dylibbundler -od -b -x ./Jazz++.app/Contents/MacOS/Jazz++ -d ./Jazz++.app/Contents/libs/
Modified: trunk/jazz/configure.ac
===================================================================
--- trunk/jazz/configure.ac	2013-10-10 20:21:53 UTC (rev 1034)
+++ trunk/jazz/configure.ac	2013-10-18 19:24:07 UTC (rev 1035)
@@ -244,6 +244,7 @@
 src/HelpFiles/Makefile \
 src/HelpFiles/images/Makefile \
 conf/Makefile \
+Info.plist
 ])
 
 AC_OUTPUT
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-10 20:21:56
      
     
   | 
Revision: 1034
          http://sourceforge.net/p/jazzplusplus/code/1034
Author:   pstieber
Date:     2013-10-10 20:21:53 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
1. Fixed the non-ALSA source list.
2. Moved *.h files to the proper section.
3. Commented out the old portmidi library specifications for the mac
and replaced with a simpler one.
Modified Paths:
--------------
    trunk/jazz/src/Makefile.am
Modified: trunk/jazz/src/Makefile.am
===================================================================
--- trunk/jazz/src/Makefile.am	2013-10-10 20:19:50 UTC (rev 1033)
+++ trunk/jazz/src/Makefile.am	2013-10-10 20:21:53 UTC (rev 1034)
@@ -148,8 +148,7 @@
 Dialogs/TransposeDialog.cpp \
 Dialogs/VelocityDialog.cpp \
 Dialogs.cpp \
-DrumEnums.h \
-DrumUtilities.h \
+DrumUtilities.cpp \
 ErrorMessage.cpp \
 Events.cpp \
 EventFrame.cpp \
@@ -255,6 +254,8 @@
 Dialogs/TransposeDialog.h \
 Dialogs/VelocityDialog.h \
 Dialogs.h \
+DrumEnums.h \
+DrumUtilities.h \
 DynamicArray.h \
 ErrorMessage.h \
 Events.h \
@@ -322,7 +323,8 @@
 
 if !USE_ALSA
 jazz_LDFLAGS = -framework CoreMIDI -framework CoreAudio
-jazz_LDADD = -L@PORTMIDI_PATH@/porttime -lporttime -L@PORTMIDI_PATH@/pm_mac -lportmidi
+#jazz_LDADD = -L@PORTMIDI_PATH@/porttime -lporttime -L@PORTMIDI_PATH@/pm_mac -lportmidi
+jazz_LDADD = -lportmidi
 endif
 
 # This directive defines the Jazz++ data directory.  This may be a hack, but
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-10 20:19:53
      
     
   | 
Revision: 1033
          http://sourceforge.net/p/jazzplusplus/code/1033
Author:   pstieber
Date:     2013-10-10 20:19:50 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Removed the wxwin2_port.txt file from the distribution.
Modified Paths:
--------------
    trunk/jazz/Makefile.am
Modified: trunk/jazz/Makefile.am
===================================================================
--- trunk/jazz/Makefile.am	2013-10-10 20:18:43 UTC (rev 1032)
+++ trunk/jazz/Makefile.am	2013-10-10 20:19:50 UTC (rev 1033)
@@ -8,7 +8,7 @@
 # Things to fix:
 #   The docs are missing because they are so large.
 #   Subversion directories are included.
-EXTRA_DIST = bootstrap wxwin2_port.txt song scripts midinetd mswin contrib bitmaps rebuild
+EXTRA_DIST = bootstrap song scripts midinetd mswin contrib bitmaps rebuild
 
 really-clean: maintainer-clean
 	cd bitmaps; make clean
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-10 20:18:47
      
     
   | 
Revision: 1032
          http://sourceforge.net/p/jazzplusplus/code/1032
Author:   pstieber
Date:     2013-10-10 20:18:43 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Commented out portmidi path for the mac build.
Modified Paths:
--------------
    trunk/jazz/configure.ac
Modified: trunk/jazz/configure.ac
===================================================================
--- trunk/jazz/configure.ac	2013-10-10 18:56:06 UTC (rev 1031)
+++ trunk/jazz/configure.ac	2013-10-10 20:18:43 UTC (rev 1032)
@@ -190,8 +190,8 @@
 JAZZ_PATH=\${top_srcdir}
 AC_SUBST(JAZZ_PATH)
 
-PORTMIDI_PATH=$JAZZ_PATH/portmidi
-AC_SUBST(PORTMIDI_PATH)
+dnl PORTMIDI_PATH=$JAZZ_PATH/portmidi
+dnl AC_SUBST(PORTMIDI_PATH)
 
 TLDEBUG=
 if test x$ac_arg_debug = xyes ; then
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-10 18:56:09
      
     
   | 
Revision: 1031
          http://sourceforge.net/p/jazzplusplus/code/1031
Author:   pstieber
Date:     2013-10-10 18:56:06 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Fixed mac code.
Modified Paths:
--------------
    trunk/jazz/src/Project.cpp
Modified: trunk/jazz/src/Project.cpp
===================================================================
--- trunk/jazz/src/Project.cpp	2013-10-09 19:56:35 UTC (rev 1030)
+++ trunk/jazz/src/Project.cpp	2013-10-10 18:56:06 UTC (rev 1031)
@@ -292,15 +292,18 @@
   //------------------
   // Macintosh Drivers
   //------------------
-  mpMidiPlayer = new JZPortMidiPlayer(this);
-  mpMidiPlayer.DeviceSelectionDialog();
+  JZPortMidiPlayer* pPortMidiPlayer = new JZPortMidiPlayer(this);
+  pPortMidiPlayer->DeviceSelectionDialog();
 
-  if (!mpMidiPlayer->IsInstalled())
+  if (!pPortMidiPlayer->IsInstalled())
   {
-    delete mpMidiPlayer;
-    mpMidiPlayer = 0;
+    delete pPortMidiPlayer;
     cout << "Jazz++ will start with no play/record ability." << endl;
   }
+  else
+  {
+    mpMidiPlayer = pPortMidiPlayer;
+  }
 #endif // __WXMAC__
 
   if (!mpMidiPlayer)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-10-09 19:56:37
      
     
   | 
Revision: 1030
          http://sourceforge.net/p/jazzplusplus/code/1030
Author:   pstieber
Date:     2013-10-09 19:56:35 +0000 (Wed, 09 Oct 2013)
Log Message:
-----------
Added AUTOMAKE_OPTIONS = subdir-objects.
Modified Paths:
--------------
    trunk/jazz/src/Makefile.am
Modified: trunk/jazz/src/Makefile.am
===================================================================
--- trunk/jazz/src/Makefile.am	2013-07-21 23:06:56 UTC (rev 1029)
+++ trunk/jazz/src/Makefile.am	2013-10-09 19:56:35 UTC (rev 1030)
@@ -1,4 +1,4 @@
-## Process this file with automake to produce Makefile.in
+AUTOMAKE_OPTIONS = subdir-objects
 
 SUBDIRS = HelpFiles
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-07-21 23:06:59
      
     
   | 
Revision: 1029
          http://sourceforge.net/p/jazzplusplus/code/1029
Author:   pstieber
Date:     2013-07-21 23:06:56 +0000 (Sun, 21 Jul 2013)
Log Message:
-----------
Removed extra scope qualifier from a member function declaration.
Modified Paths:
--------------
    trunk/jazz/src/Rhythm.h
Modified: trunk/jazz/src/Rhythm.h
===================================================================
--- trunk/jazz/src/Rhythm.h	2013-07-21 23:00:04 UTC (rev 1028)
+++ trunk/jazz/src/Rhythm.h	2013-07-21 23:06:56 UTC (rev 1029)
@@ -162,7 +162,7 @@
       JZRhythm* rhy[],
       int RhythmCount);
 
-    void JZRhythm::GenGroup(
+    void GenGroup(
       JZRndArray& out,
       int grp,
       const JZBarInfo& BarInfo,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-07-21 23:00:08
      
     
   | 
Revision: 1028
          http://sourceforge.net/p/jazzplusplus/code/1028
Author:   pstieber
Date:     2013-07-21 23:00:04 +0000 (Sun, 21 Jul 2013)
Log Message:
-----------
Changed INCLUDES to AM_CPPFLAGS.
Modified Paths:
--------------
    trunk/jazz/src/Makefile.am
Modified: trunk/jazz/src/Makefile.am
===================================================================
--- trunk/jazz/src/Makefile.am	2013-04-09 02:50:53 UTC (rev 1027)
+++ trunk/jazz/src/Makefile.am	2013-07-21 23:00:04 UTC (rev 1028)
@@ -328,5 +328,5 @@
 # This directive defines the Jazz++ data directory.  This may be a hack, but
 # other programs use similar techniques.
 # The automake info file suggests using INCLUDES for this purpose
-# and i cant even get it to expand the pkgdatadir, aargh
-INCLUDES= -DJAZZ_DATADIR=\"@datadir@/@PACKAGE@\"
+# and I cant even get it to expand the pkgdatadir, aargh
+AM_CPPFLAGS=-DJAZZ_DATADIR=\"@datadir@/@PACKAGE@\"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-09 02:50:57
      
     
   | 
Revision: 1027
          http://sourceforge.net/p/jazzplusplus/code/1027
Author:   pstieber
Date:     2013-04-09 02:50:53 +0000 (Tue, 09 Apr 2013)
Log Message:
-----------
Started cleaning up the old code.
Modified Paths:
--------------
    trunk/jazz/src/Rhythm.cpp
    trunk/jazz/src/Rhythm.h
Modified: trunk/jazz/src/Rhythm.cpp
===================================================================
--- trunk/jazz/src/Rhythm.cpp	2013-04-09 02:43:35 UTC (rev 1026)
+++ trunk/jazz/src/Rhythm.cpp	2013-04-09 02:50:53 UTC (rev 1027)
@@ -706,49 +706,11 @@
 {
 #ifdef OBSOLETE
 
-  JZToolDef tdefs[] =
-  {
-    { wxID_OPEN, FALSE, open_xpm,    "open rhythm file" },
-    { wxID_SAVE, FALSE, save_xpm,    "save into rhythm file" },
-    { JZToolBar::eToolBarSeparator },
-    { ID_INSTRUMENT_ADD,      FALSE, rrgadd_xpm,  "add instrument" },
-    { ID_INSTRUMENT_DELETE,   FALSE, rrgdel_xpm,  "remove instrument" },
-    { ID_INSTRUMENT_UP,       FALSE, rrgup_xpm,   "move instrument up" },
-    { ID_INSTRUMENT_DOWN,     FALSE, rrgdown_xpm, "move instrument down" },
-    { ID_INSTRUMENT_GENERATE, FALSE, rrggen_xpm,  "generate events into trackwin selection" },
-    { JZToolBar::eToolBarSeparator },
-    { wxID_HELP_CONTENTS,     FALSE, help_xpm,    "help" },
-    { JZToolBar::eToolBarEnd }
-  };
-
-  mpToolBar = new JZToolBar(this, tdefs);
-
   mStepsPerCount = 0;
   mpCountsPerBarSlider = 0;
   mpBarCountSlider = 0;
   mpInstrumentListBox = 0;
 
-  wxMenuBar* pMenuBar = new wxMenuBar;
-  wxMenu* pMenu = new wxMenu;
-  pMenu->Append(wxID_OPEN, "&Load");
-  pMenu->Append(wxID_SAVE, "&Save");
-  pMenu->Append(wxID_CLOSE, "&Close");
-  pMenuBar->Append(pMenu, "&File");
-
-  pMenu = new wxMenu;
-  pMenu->Append(ID_INSTRUMENT_ADD, "&Add");
-  pMenu->Append(ID_INSTRUMENT_DELETE, "&Delete");
-  pMenu->Append(ID_INSTRUMENT_UP, "&Up");
-  pMenu->Append(ID_INSTRUMENT_DOWN, "&Down");
-  pMenu->Append(ID_INSTRUMENT_GENERATE, "&Generate");
-  pMenuBar->Append(pMenu, "&Instrument");
-
-  pMenu = new wxMenu;
-  pMenu->Append(wxID_HELP, "&Help");
-  pMenuBar->Append(pMenu,  "Help");
-
-  SetMenuBar(pMenuBar);
-
   int x = 0;
   int y = 0;
   int w, h;
@@ -933,40 +895,6 @@
         Destroy();
         break;
 
-    case wxID_OPEN:
-      {
-        wxString FileName = file_selector(
-          mDefaultFileName,
-          "Load Rhythm",
-          false,
-          mHasChanged,
-          "*.rhy");
-        if (!FileName.empty())
-        {
-          ifstream Is(FileName.mb_str());
-          Is >> *this;
-          OnPaint();
-        }
-      }
-      break;
-
-    case wxID_SAVE:
-      {
-        Win2Instrument();
-        wxString FileName = file_selector(
-          mDefaultFileName,
-          "Save Rhythm",
-          true,
-          mHasChanged,
-          "*.rhy");
-        if (!FileName.empty())
-        {
-          ofstream Os(FileName.mb_str());
-          Os << *this;
-        }
-      }
-      break;
-
     case ID_INSTRUMENT_ADD:
       AddInstrumentDlg();
       break;
@@ -1456,49 +1384,6 @@
 
 //*****************************************************************************
 //*****************************************************************************
-ostream & operator << (ostream& Os, const JZRhythmWindow& RhythmWindow)
-{
-  int i;
-  Os << 2 << endl;
-  Os << RhythmWindow.mInstrumentCount << endl;
-  for (i = 0; i < RhythmWindow.mInstrumentCount; ++i)
-  {
-    RhythmWindow.mpInstruments[i]->Write(Os);
-  }
-  return Os;
-}
-
-//*****************************************************************************
-//*****************************************************************************
-istream & operator >> (istream& Is, JZRhythmWindow& RhythmWindow)
-{
-  int Version;
-  Is >> Version;
-  if (Version > 2)
-  {
-    wxMessageBox("Wrong file format!", "Error", wxOK);
-    return Is;
-  }
-
-  int InstrumentCount = RhythmWindow.mInstrumentCount;
-  for (int i = 0; i < InstrumentCount; i++)
-  {
-    RhythmWindow.mActiveInstrumentIndex = 0;
-    RhythmWindow.DelInstrument();
-  }
-
-  Is >> InstrumentCount;
-  for (int i = 0; i < InstrumentCount; i++)
-  {
-    JZRhythm* pRhythm = new JZRhythm(0);
-    pRhythm->Read(Is, Version);
-    RhythmWindow.AddInstrument(pRhythm);
-  }
-  return Is;
-}
-
-//*****************************************************************************
-//*****************************************************************************
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 BEGIN_EVENT_TABLE(JZRhythmGeneratorWindow, wxPanel)
Modified: trunk/jazz/src/Rhythm.h
===================================================================
--- trunk/jazz/src/Rhythm.h	2013-04-09 02:43:35 UTC (rev 1026)
+++ trunk/jazz/src/Rhythm.h	2013-04-09 02:50:53 UTC (rev 1027)
@@ -219,9 +219,6 @@
 
   private:
 
-    friend std::ostream& operator << (std::ostream& Os, const JZRhythmWindow& a);
-    friend std::istream& operator >> (std::istream& Is, JZRhythmWindow& a);
-
     // callbacks
 #ifdef OBSOLETE
     static void ItemCallback(wxItem& item, wxCommandEvent& event);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-09 02:43:38
      
     
   | 
Revision: 1026
          http://sourceforge.net/p/jazzplusplus/code/1026
Author:   pstieber
Date:     2013-04-09 02:43:35 +0000 (Tue, 09 Apr 2013)
Log Message:
-----------
Updated control layout.
Modified Paths:
--------------
    trunk/jazz/src/Rhythm.cpp
Modified: trunk/jazz/src/Rhythm.cpp
===================================================================
--- trunk/jazz/src/Rhythm.cpp	2013-04-09 02:42:30 UTC (rev 1025)
+++ trunk/jazz/src/Rhythm.cpp	2013-04-09 02:43:35 UTC (rev 1026)
@@ -1554,13 +1554,11 @@
     mpVelocityEdit(0),
     mpRhythmEdit(0)
 {
-  int x = 0;
-  int y = 0;
   int Width, Height;
   GetClientSize(&Width, &Height);
 
   wxPanel* pInstrumentPanel =
-    new wxPanel(this, wxID_ANY, wxPoint(x, y), wxSize(Width, Height / 2));
+    new wxPanel(this, wxID_ANY, wxPoint(0, 0), wxSize(Width, Height / 2));
 
   mpStepsPerCountSlider = new wxSlider(
     pInstrumentPanel,
@@ -1632,32 +1630,36 @@
     "Randomize",
     wxPoint(Width / 2, 4 * Height / 12));
 
-  wxPanel* pPanel = new wxPanel(this);
+  wxPanel* pArrayControlPanel = new wxPanel(
+    this,
+    wxID_ANY,
+    wxPoint(0, Height / 2),
+    wxSize(Width, Height / 2));
 
   mpLengthEdit = new JZArrayControl(
-    pPanel,
+    pArrayControlPanel,
     wxID_ANY,
     mRhythm.mLengthArray,
-    wxPoint(x, y),
-    wxSize(Width / 2, Height / 2 - 4));
+    wxPoint(0, 0),
+    wxSize(Width / 2, Height / 4 - 4));
   mpLengthEdit->SetXMinMax(1, 8);
   mpLengthEdit->SetLabel("length/interval");
 
   mpVelocityEdit = new JZArrayControl(
-    pPanel,
+    pArrayControlPanel,
     wxID_ANY,
     mRhythm.mVelocityArray,
-    wxPoint(x + Width / 2, y),
-    wxSize(Width / 2, Height / 2 - 4));
+    wxPoint(Width / 2, 0),
+    wxSize(Width / 2, Height / 4 - 4));
   mpVelocityEdit->SetXMinMax(1, 127);
   mpVelocityEdit->SetLabel("velocity");
 
   mpRhythmEdit = new JZRhythmArrayControl(
-    pPanel,
+    pArrayControlPanel,
     wxID_ANY,
     mRhythm.mRhythmArray,
-    wxPoint(x, y + Height / 2),
-    wxSize(Width, Height / 2 - 4));
+    wxPoint(0, Height / 4),
+    wxSize(Width, Height / 4 - 4));
   mpRhythmEdit->SetMeter(
     mRhythm.mStepsPerCount,
     mRhythm.mCountPerBar,
@@ -1667,7 +1669,7 @@
   wxBoxSizer* pSizer = new wxBoxSizer(wxVERTICAL);
 
   pSizer->Add(pInstrumentPanel, wxSizerFlags().Border().Expand());
-  pSizer->Add(pPanel, wxSizerFlags(1).Border().Expand());
+  pSizer->Add(pArrayControlPanel, wxSizerFlags(1).Border().Expand());
 
   SetSizer(pSizer);
 }
@@ -2035,15 +2037,15 @@
   JZTrack* pTrack = mpSong->GetTrack(pFilter->GetFromTrack());
   mpSong->NewUndoBuffer();
 
-  // remove selection
+  // Remove selection.
 //  if (
 //    wxMessageBox(
 //      "Erase destination before generating?",
 //      "Replace",
 //      wxYES_NO) == wxYES)
   {
-    JZCommandErase erase(pFilter, 1);
-    erase.Execute(0);
+    JZCommandErase Erase(pFilter, 1);
+    Erase.Execute(0);
   }
 
   for (
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-09 02:42:33
      
     
   | 
Revision: 1025
          http://sourceforge.net/p/jazzplusplus/code/1025
Author:   pstieber
Date:     2013-04-09 02:42:30 +0000 (Tue, 09 Apr 2013)
Log Message:
-----------
Implemented an empty OnEraseBackground.
Modified Paths:
--------------
    trunk/jazz/src/ArrayControl.cpp
    trunk/jazz/src/ArrayControl.h
Modified: trunk/jazz/src/ArrayControl.cpp
===================================================================
--- trunk/jazz/src/ArrayControl.cpp	2013-04-09 02:41:12 UTC (rev 1024)
+++ trunk/jazz/src/ArrayControl.cpp	2013-04-09 02:42:30 UTC (rev 1025)
@@ -48,6 +48,7 @@
 //-----------------------------------------------------------------------------
 BEGIN_EVENT_TABLE(JZArrayControl, wxControl)
   EVT_SIZE(JZArrayControl::OnSize)
+  EVT_ERASE_BACKGROUND(JZArrayControl::OnEraseBackground)
   EVT_PAINT(JZArrayControl::OnPaint)
   EVT_MOUSE_EVENTS(JZArrayControl::OnMouseEvent)
   EVT_MOUSE_CAPTURE_LOST(JZArrayControl::OnMouseCaptureLost)
@@ -109,7 +110,16 @@
 }
 
 //-----------------------------------------------------------------------------
+// Description:
+//   This code always erases when painting so we override this function to
+// avoid flicker.
 //-----------------------------------------------------------------------------
+void JZArrayControl::OnEraseBackground(wxEraseEvent& Event)
+{
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 void JZArrayControl::OnPaint(wxPaintEvent& Event)
 {
   wxSize Size = GetClientSize();
Modified: trunk/jazz/src/ArrayControl.h
===================================================================
--- trunk/jazz/src/ArrayControl.h	2013-04-09 02:41:12 UTC (rev 1024)
+++ trunk/jazz/src/ArrayControl.h	2013-04-09 02:42:30 UTC (rev 1025)
@@ -50,6 +50,8 @@
 
     void OnSize(wxSizeEvent& Event);
 
+    void OnEraseBackground(wxEraseEvent& Event);
+
     void OnPaint(wxPaintEvent& Event);
 
     void OnMouseEvent(wxMouseEvent& MouseEvent);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-09 02:41:15
      
     
   | 
Revision: 1024
          http://sourceforge.net/p/jazzplusplus/code/1024
Author:   pstieber
Date:     2013-04-09 02:41:12 +0000 (Tue, 09 Apr 2013)
Log Message:
-----------
Fixed a typo in a comment.
Modified Paths:
--------------
    trunk/jazz/src/Knob.cpp
Modified: trunk/jazz/src/Knob.cpp
===================================================================
--- trunk/jazz/src/Knob.cpp	2013-04-08 05:22:24 UTC (rev 1023)
+++ trunk/jazz/src/Knob.cpp	2013-04-09 02:41:12 UTC (rev 1024)
@@ -253,7 +253,7 @@
 
 //-----------------------------------------------------------------------------
 // Description:
-//   This code always erasew when painting so we override this function to
+//   This code always erases when painting so we override this function to
 // avoid flicker.
 //-----------------------------------------------------------------------------
 void JZKnob::OnEraseBackground(wxEraseEvent& Event)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-08 05:22:27
      
     
   | 
Revision: 1023
          http://sourceforge.net/p/jazzplusplus/code/1023
Author:   pstieber
Date:     2013-04-08 05:22:24 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Can actually generate rhythms using the new window.
Modified Paths:
--------------
    trunk/jazz/src/ArrayControl.cpp
    trunk/jazz/src/ArrayControl.h
    trunk/jazz/src/Rhythm.cpp
    trunk/jazz/src/Rhythm.h
    trunk/jazz/src/RhythmArrayControl.cpp
    trunk/jazz/src/RhythmArrayControl.h
    trunk/jazz/src/TrackFrame.cpp
Modified: trunk/jazz/src/ArrayControl.cpp
===================================================================
--- trunk/jazz/src/ArrayControl.cpp	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/ArrayControl.cpp	2013-04-08 05:22:24 UTC (rev 1023)
@@ -58,12 +58,12 @@
 JZArrayControl::JZArrayControl(
   wxWindow* pParent,
   wxWindowID Id,
-  const JZRndArray& RandomArray,
+  JZRndArray& RandomArray,
   const wxPoint& Position,
   const wxSize& Size,
   long WindowStyle)
   : wxControl(pParent, Id, Position, Size, wxNO_BORDER),
-    mpRandomArray(0),
+    mRandomArray(RandomArray),
     mStyleBits(ARED_GAP | ARED_XTICKS),
     mEnabled(true),
     mLabel(),
@@ -77,8 +77,6 @@
     mXMin(0),
     mXMax(RandomArray.Size())
 {
-  mpRandomArray = new JZRndArray(RandomArray);
-
   SetInitialSize(Size);
 }
 
@@ -86,7 +84,6 @@
 //-----------------------------------------------------------------------------
 JZArrayControl::~JZArrayControl()
 {
-  delete mpRandomArray;
 }
 
 //-----------------------------------------------------------------------------
@@ -139,8 +136,8 @@
 
   mYNull =
     mY + mHeight -
-    mHeight * (mpRandomArray->GetNull() - mpRandomArray->GetMin()) /
-    (mpRandomArray->GetMax() - mpRandomArray->GetMin());
+    mHeight * (mRandomArray.GetNull() - mRandomArray.GetMin()) /
+    (mRandomArray.GetMax() - mRandomArray.GetMin());
 
   int i;
 
@@ -164,7 +161,7 @@
 
   // sliders
   Dc.SetBrush(*wxBLACK_BRUSH);
-  for (i = 0; i < mpRandomArray->Size(); ++i)
+  for (i = 0; i < mRandomArray.Size(); ++i)
   {
     DrawBar(Dc, i, true);
   }
@@ -237,39 +234,39 @@
 
   wxClientDC Dc(this); // PORTING this is evil and shoud go
 
-  int Value = mpRandomArray->GetNull();
+  int Value = mRandomArray.GetNull();
   if (MouseEvent.LeftIsDown())
   {
     int EventX, EventY;
     MouseEvent.GetPosition(&EventX, &EventY);
 
     Value = (int)((double)(mY + mHeight - EventY) *
-      (mpRandomArray->GetMax() - mpRandomArray->GetMin()) / mHeight +
-      mpRandomArray->GetMin() + 0.5);
+      (mRandomArray.GetMax() - mRandomArray.GetMin()) / mHeight +
+      mRandomArray.GetMin() + 0.5);
 
-    if (Value < mpRandomArray->GetMin())
+    if (Value < mRandomArray.GetMin())
     {
-      Value = mpRandomArray->GetMin();
+      Value = mRandomArray.GetMin();
     }
-    if (Value > mpRandomArray->GetMax())
+    if (Value > mRandomArray.GetMax())
     {
-      Value = mpRandomArray->GetMax();
+      Value = mRandomArray.GetMax();
     }
   }
 
   if (MouseEvent.ShiftDown())
   {
-    for (int k = 0; k < mpRandomArray->Size(); ++k)
+    for (int k = 0; k < mRandomArray.Size(); ++k)
     {
       DrawBar(Dc, k, 0);
-      (*mpRandomArray)[k] = Value;
+      mRandomArray[k] = Value;
       DrawBar(Dc, k, 1);
     }
   }
   else if (MouseEvent.ControlDown())
   {
     DrawBar(Dc, mIndex, 0);
-    (*mpRandomArray)[mIndex] = Value;
+    mRandomArray[mIndex] = Value;
     DrawBar(Dc, mIndex, 1);
   }
   else
@@ -281,7 +278,7 @@
       for (; i <= mIndex; ++i)
       {
         DrawBar(Dc, i, 0);
-        (*mpRandomArray)[i] = Value;
+        mRandomArray[i] = Value;
         DrawBar(Dc, i, 1);
       }
     }
@@ -290,7 +287,7 @@
       for (; i >= mIndex; --i)
       {
         DrawBar(Dc, i, 0);
-        (*mpRandomArray)[i] = Value;
+        mRandomArray[i] = Value;
         DrawBar(Dc, i, 1);
       }
     }
@@ -317,14 +314,14 @@
 {
   int EventX, EventY;
   MouseEvent.GetPosition(&EventX, &EventY);
-  int Index = (int)((EventX - mX) * mpRandomArray->Size() / mWidth);
+  int Index = (int)((EventX - mX) * mRandomArray.Size() / mWidth);
   if (Index < 0)
   {
     Index = 0;
   }
-  if (Index >= mpRandomArray->Size())
+  if (Index >= mRandomArray.Size())
   {
-    Index = mpRandomArray->Size() - 1;
+    Index = mRandomArray.Size() - 1;
   }
   return Index;
 }
@@ -340,24 +337,23 @@
       Dc.SetPen(*wxWHITE_PEN);
     }
 
-    JZMapper XMap(0, mpRandomArray->Size(), 0, mWidth);
-    JZMapper
-      YMap(mpRandomArray->GetMin(), mpRandomArray->GetMax(), mHeight, 0);
+    JZMapper XMap(0, mRandomArray.Size(), 0, mWidth);
+    JZMapper YMap(mRandomArray.GetMin(), mRandomArray.GetMax(), mHeight, 0);
 
     int x1 = (int)XMap.XToY(i + 0.5);
-    int y1 = (int)YMap.XToY((*mpRandomArray)[i]);
+    int y1 = (int)YMap.XToY(mRandomArray[i]);
     if (i > 0)
     {
       // draw line to prev position
       int x0 = (int)XMap.XToY(i - 0.5);
-      int y0 = (int)YMap.XToY((*mpRandomArray)[i - 1]);
+      int y0 = (int)YMap.XToY(mRandomArray[i - 1]);
       Dc.DrawLine(x0, y0, x1, y1);
     }
-    if (i < mpRandomArray->Size() - 1)
+    if (i < mRandomArray.Size() - 1)
     {
       // draw line to next position
       int x2 = (int)XMap.XToY(i + 1.5);
-      int y2 = (int)YMap.XToY((*mpRandomArray)[i + 1]);
+      int y2 = (int)YMap.XToY(mRandomArray[i + 1]);
       Dc.DrawLine(x1, y1, x2, y2);
     }
 
@@ -371,17 +367,17 @@
   int Gap = 0;
   if (mStyleBits & ARED_GAP)
   {
-    Gap = mWidth / mpRandomArray->Size() / 6;
-    if (!Gap && mWidth / mpRandomArray->Size() > 3)
+    Gap = mWidth / mRandomArray.Size() / 6;
+    if (!Gap && mWidth / mRandomArray.Size() > 3)
     {
       Gap = 1;
     }
   }
 
-  int wbar = mWidth / mpRandomArray->Size() - 2 * Gap;
-  int xbar = mX + i * mWidth / mpRandomArray->Size() + Gap;
-  int hbar = mHeight * ((*mpRandomArray)[i] - mpRandomArray->GetNull()) /
-    (mpRandomArray->GetMax() - mpRandomArray->GetMin());
+  int wbar = mWidth / mRandomArray.Size() - 2 * Gap;
+  int xbar = mX + i * mWidth / mRandomArray.Size() + Gap;
+  int hbar = mHeight * (mRandomArray[i] - mRandomArray.GetNull()) /
+    (mRandomArray.GetMax() - mRandomArray.GetMin());
   int ybar;
 
   if (mStyleBits & ARED_BLOCKS)
@@ -486,7 +482,7 @@
       XPosition -= TextWidth / 2.0f;
 
       // Middle of bar.
-      XPosition += 0.5f * mWidth / mpRandomArray->Size();
+      XPosition += 0.5f * mWidth / mRandomArray.Size();
 
       Dc.DrawText(String, (int)XPosition, YPosition);
     }
@@ -509,23 +505,22 @@
     int MaxLabels = (int)(mHeight / (TextHeight + TextHeight / 2));
     if (MaxLabels > 0)
     {
-      int Step =
-        (mpRandomArray->GetMax() - mpRandomArray->GetMin()) / MaxLabels;
+      int Step = (mRandomArray.GetMax() - mRandomArray.GetMin()) / MaxLabels;
       if (Step <= 0)
       {
         Step = 1;
       }
       for (
-        int Value = mpRandomArray->GetMin();
-        Value < mpRandomArray->GetMax();
+        int Value = mRandomArray.GetMin();
+        Value < mRandomArray.GetMax();
         Value += Step)
       {
         string String = GetText(Value);
         Dc.GetTextExtent(String, &TextWidth, &TextHeight);
         int YPosition =
           mY + mHeight -
-          mHeight * (Value - mpRandomArray->GetMin()) /
-          (mpRandomArray->GetMax() - mpRandomArray->GetMin()) -
+          mHeight * (Value - mRandomArray.GetMin()) /
+          (mRandomArray.GetMax() - mRandomArray.GetMin()) -
           TextHeight / 2;
         Dc.DrawText(String, mX - TextWidth - TICK_LINE, YPosition);
       }
@@ -537,13 +532,13 @@
     int TextWidth, TextHeight;
     ostringstream Oss;
 
-    Oss << mpRandomArray->GetMax();
+    Oss << mRandomArray.GetMax();
     Dc.GetTextExtent(Oss.str(), &TextWidth, &TextHeight);
     Dc.DrawText(Oss.str(), mX - TextWidth, mY);
 
     Oss.str("");
 
-    Oss << mpRandomArray->GetMin();
+    Oss << mRandomArray.GetMin();
     Dc.GetTextExtent(Oss.str(), &TextWidth, &TextHeight);
     Dc.DrawText(Oss.str(), mX - TextWidth, mY + mHeight - TextHeight);
   }
@@ -559,14 +554,14 @@
 
   // Draw y-null line.
   if (
-    mpRandomArray->GetMin() < mpRandomArray->GetNull() &&
-    mpRandomArray->GetNull() < mpRandomArray->GetMax())
+    mRandomArray.GetMin() < mRandomArray.GetNull() &&
+    mRandomArray.GetNull() < mRandomArray.GetMax())
   {
     Dc.DrawLine(
       mX,
-      mpRandomArray->GetNull(),
+      mRandomArray.GetNull(),
       mX + mWidth,
-      mpRandomArray->GetNull());
+      mRandomArray.GetNull());
   }
 
   // Draw x-null line.
Modified: trunk/jazz/src/ArrayControl.h
===================================================================
--- trunk/jazz/src/ArrayControl.h	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/ArrayControl.h	2013-04-08 05:22:24 UTC (rev 1023)
@@ -35,7 +35,7 @@
     JZArrayControl(
       wxWindow* pParent,
       wxWindowID Id,
-      const JZRndArray& RandomArray,
+      JZRndArray& RandomArray,
       const wxPoint& Position = wxDefaultPosition,
       const wxSize& Size = wxSize(40, 40),
       long WindowStyle = wxNO_BORDER);
@@ -80,7 +80,7 @@
 
   protected:
 
-    JZRndArray* mpRandomArray;
+    JZRndArray& mRandomArray;
 
     long mStyleBits;
 
Modified: trunk/jazz/src/Rhythm.cpp
===================================================================
--- trunk/jazz/src/Rhythm.cpp	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/Rhythm.cpp	2013-04-08 05:22:24 UTC (rev 1023)
@@ -468,6 +468,42 @@
   JZRndArray& out,
   int grp,
   const JZBarInfo& BarInfo,
+  const vector<JZRhythm*>& Rhythms)
+{
+  out.Clear();
+
+  int ClocksPerStep = GetClocksPerStep(BarInfo);
+
+  for (
+    vector<JZRhythm*>::const_iterator iRhythm = Rhythms.begin();
+    iRhythm != Rhythms.end();
+    ++iRhythm)
+  {
+    const JZRhythm* pRhythm = *iRhythm;
+    int fuzz = pRhythm->GetRhythmGroup(grp).GetContrib();
+    if (fuzz && pRhythm != this)
+    {
+      JZRndArray tmp(mRhythmArray);
+      tmp.Clear();
+      int Clock = BarInfo.GetClock();
+      while (Clock < BarInfo.GetClock() + BarInfo.GetTicksPerBar())
+      {
+        int i = Clock2i(Clock, BarInfo);
+        int j = pRhythm->Clock2i(Clock, BarInfo);
+        tmp[i] = pRhythm->mHistoryArray[j];
+        Clock += ClocksPerStep;
+      }
+      out.SetUnion(tmp, fuzz);
+    }
+  }
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZRhythm::GenGroup(
+  JZRndArray& out,
+  int grp,
+  const JZBarInfo& BarInfo,
   JZRhythm* rhy[],
   int RhythmCount)
 {
@@ -565,6 +601,74 @@
   mNextClock = Clock;
 }
 
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZRhythm::Generate(
+  JZTrack* pTrack,
+  const JZBarInfo& BarInfo,
+  const std::vector<JZRhythm*>& Instruments)
+{
+  JZRndArray rrg(mRhythmArray);
+
+  // Add groups to the rhythm array.
+  JZRndArray tmp(mRhythmArray);
+  for (int gi = 0; gi < MAX_GROUPS; ++gi)
+  {
+    if (mRhythmGroups[gi].mListen)
+    {
+      GenGroup(tmp, gi, BarInfo, Instruments);
+      if (mRhythmGroups[gi].mListen > 0)
+      {
+        rrg.SetIntersection(tmp, mRhythmGroups[gi].mListen);
+      }
+      else
+      {
+        rrg.SetDifference(tmp, -mRhythmGroups[gi].mListen);
+      }
+    }
+  }
+
+  // Clear part of the history.
+  int Clock = BarInfo.GetClock();
+  int ClocksPerStep = GetClocksPerStep(BarInfo);
+  while (Clock < BarInfo.GetClock() + BarInfo.GetTicksPerBar())
+  {
+    int i = Clock2i(Clock, BarInfo);
+    mHistoryArray[i] = 0;
+    Clock += ClocksPerStep;
+  }
+
+  //  generate the events
+  Clock = mNextClock;
+  while (Clock < BarInfo.GetClock() + BarInfo.GetTicksPerBar())
+  {
+    int i = Clock2i(Clock, BarInfo);
+    if ((!mRandomizeFlag && rrg[i] > 0) || rrg.Random(i))
+    {
+      // put event here
+      mHistoryArray[i] = mRhythmArray.GetMax();
+
+      short vel = 0;
+      if (mRandomizeFlag)
+      {
+        vel = mVelocityArray.Random() * 127 / mVelocityArray.Size() + 1;
+      }
+      else
+      {
+        vel = rrg[i] * 126 / rrg.GetMax() + 1;
+      }
+      short len = (mLengthArray.Random() + 1) * ClocksPerStep;
+      GenerateEvent(pTrack, Clock, vel, len - ClocksPerStep / 2);
+      Clock += len;
+    }
+    else
+    {
+      Clock += ClocksPerStep;
+    }
+  }
+  mNextClock = Clock;
+}
+
 //*****************************************************************************
 //*****************************************************************************
 //-----------------------------------------------------------------------------
@@ -1426,11 +1530,15 @@
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 JZRhythmGeneratorWindow::JZRhythmGeneratorWindow(
+  JZEventWindow* pEventWindow,
+  JZSong* pSong,
   wxFrame* pParent,
   const wxPoint& Position,
   const wxSize& Size)
   : wxPanel(pParent, wxID_ANY, Position, Size),
     mRhythm(0),
+    mpEventWindow(pEventWindow),
+    mpSong(pSong),
     mInstruments(),
     mpStepsPerCountSlider(0),
     mpCountsPerBarSlider(0),
@@ -1440,7 +1548,7 @@
     mpGroupContribSlider(0),
     mpGroupListenSlider(0),
     mpGroupListBox(0),
-    mActiveGroup(-1),
+    mActiveGroup(0),
     mpRandomCheckBox(0),
     mpLengthEdit(0),
     mpVelocityEdit(0),
@@ -1813,6 +1921,16 @@
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
+void JZRhythmGeneratorWindow::Generate()
+{
+  wxBeginBusyCursor();
+  Win2Instrument();
+  GenerateRhythm();
+  wxEndBusyCursor();
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 void JZRhythmGeneratorWindow::Instrument2Win()
 {
   if (
@@ -1895,6 +2013,80 @@
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
+void JZRhythmGeneratorWindow::GenerateRhythm()
+{
+  if (
+    !mpEventWindow->EventsSelected(
+      "Please mark the destination track in the track window"))
+  {
+    return;
+  }
+
+  JZFilter* pFilter = mpEventWindow->mpFilter;
+
+  if (pFilter->GetFromTrack() != pFilter->GetToTrack())
+  {
+    wxMessageBox("you must select exacty 1 track", "Error", wxOK);
+    return;
+  }
+
+  int FromClock = pFilter->GetFromClock();
+  int ToClock = pFilter->GetToClock();
+  JZTrack* pTrack = mpSong->GetTrack(pFilter->GetFromTrack());
+  mpSong->NewUndoBuffer();
+
+  // remove selection
+//  if (
+//    wxMessageBox(
+//      "Erase destination before generating?",
+//      "Replace",
+//      wxYES_NO) == wxYES)
+  {
+    JZCommandErase erase(pFilter, 1);
+    erase.Execute(0);
+  }
+
+  for (
+    vector<JZRhythm*>::iterator iInstrument = mInstruments.begin();
+    iInstrument != mInstruments.end();
+    ++iInstrument)
+  {
+    JZRhythm& Instrument = **iInstrument;
+    Instrument.GenInit(FromClock);
+  }
+
+  JZBarInfo BarInfo(*mpSong);
+  BarInfo.SetClock(FromClock);
+
+//  for (int i = 0; i < mInstrumentCount; ++i)
+//  {
+//    mpInstruments[i]->Generate(
+//      pTrack,
+//      FromClock,
+//      ToClock,
+//      BarInfo.GetTicksPerBar());
+//  }
+
+  while (BarInfo.GetClock() < ToClock)
+  {
+    for (
+      vector<JZRhythm*>::iterator iInstrument = mInstruments.begin();
+      iInstrument != mInstruments.end();
+      ++iInstrument)
+    {
+      JZRhythm& Instrument = **iInstrument;
+      Instrument.Generate(pTrack, BarInfo, mInstruments);
+    }
+    BarInfo.Next();
+  }
+
+  pTrack->Cleanup();
+
+  mpEventWindow->Refresh();
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 void JZRhythmGeneratorWindow::OnSliderUpdate(wxCommandEvent&)
 {
   Win2Instrument();
@@ -1926,6 +2118,8 @@
 
   EVT_MENU(ID_INSTRUMENT_DELETE, JZRhythmGeneratorFrame::OnDeleteInstrument)
 
+  EVT_MENU(ID_INSTRUMENT_GENERATE, JZRhythmGeneratorFrame::OnGenerate)
+
   EVT_MENU(wxID_HELP, JZRhythmGeneratorFrame::OnHelp)
 
   EVT_MENU(wxID_HELP_CONTENTS, JZRhythmGeneratorFrame::OnHelpContents)
@@ -1938,7 +2132,9 @@
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
-JZRhythmGeneratorFrame::JZRhythmGeneratorFrame()
+JZRhythmGeneratorFrame::JZRhythmGeneratorFrame(
+  JZEventWindow* pEventWindow,
+  JZSong* pSong)
   : wxFrame(
       0,
       wxID_ANY,
@@ -1977,8 +2173,12 @@
 
   int Width, Height;
   GetClientSize(&Width, &Height);
-  mpRhythmGeneratorWindow =
-    new JZRhythmGeneratorWindow(this, wxPoint(0, 0), wxSize(Width, Height));
+  mpRhythmGeneratorWindow = new JZRhythmGeneratorWindow(
+    pEventWindow,
+    pSong,
+    this,
+    wxPoint(0, 0),
+    wxSize(Width, Height));
 }
 
 //-----------------------------------------------------------------------------
@@ -2075,6 +2275,13 @@
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
+void JZRhythmGeneratorFrame::OnGenerate(wxCommandEvent&)
+{
+  mpRhythmGeneratorWindow->Generate();
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 void JZRhythmGeneratorFrame::OnHelp(wxCommandEvent&)
 {
   JZHelp::Instance().ShowTopic("Random rhythm generator");
@@ -2089,11 +2296,11 @@
 
 //*****************************************************************************
 //*****************************************************************************
-void CreateRhythmGenerator()
+void CreateRhythmGenerator(JZEventWindow* pEventWindow, JZSong* pSong)
 {
   if (!gpRhythmGeneratorFrame)
   {
-    gpRhythmGeneratorFrame = new JZRhythmGeneratorFrame();
+    gpRhythmGeneratorFrame = new JZRhythmGeneratorFrame(pEventWindow, pSong);
   }
   gpRhythmGeneratorFrame->Show(true);
 }
Modified: trunk/jazz/src/Rhythm.h
===================================================================
--- trunk/jazz/src/Rhythm.h	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/Rhythm.h	2013-04-08 05:22:24 UTC (rev 1023)
@@ -58,6 +58,16 @@
     void Write(std::ostream& Os) const;
     void Read(std::istream& Is, int Version);
 
+    int GetContrib() const
+    {
+      return mContrib;
+    }
+
+    int GetListen() const
+    {
+      return mListen;
+    }
+
   public:
 
     int mListen;
@@ -70,6 +80,11 @@
 {
   public:
 
+    const JZRhythmGroup& operator [] (int i) const
+    {
+      return mRhythmGroups[i];
+    }
+
     JZRhythmGroup& operator [] (int i)
     {
       return mRhythmGroups[i];
@@ -116,6 +131,11 @@
       JZRhythm* rhy[],
       int RhythmCount);
 
+    void Generate(
+      JZTrack* pTrack,
+      const JZBarInfo& BarInfo,
+      const std::vector<JZRhythm*>& Instruments);
+
     void GenInit(int StartClock);
 
     void GenerateEvent(
@@ -128,6 +148,11 @@
 
     void Read(std::istream& Is, int Version);
 
+    const JZRhythmGroup& GetRhythmGroup(int Index) const
+    {
+      return mRhythmGroups[Index];
+    }
+
   protected:
 
     void GenGroup(
@@ -137,6 +162,12 @@
       JZRhythm* rhy[],
       int RhythmCount);
 
+    void JZRhythm::GenGroup(
+      JZRndArray& out,
+      int grp,
+      const JZBarInfo& BarInfo,
+      const std::vector<JZRhythm*>& Rhythms);
+
     int Clock2i(int Clock, const JZBarInfo& BarInfo) const;
 
     int GetClocksPerStep(const JZBarInfo& BarInfo) const;
@@ -260,6 +291,8 @@
   public:
 
     JZRhythmGeneratorWindow(
+      JZEventWindow* pEventWindow,
+      JZSong* pSong,
       wxFrame* pParent,
       const wxPoint& Position,
       const wxSize& Size);
@@ -274,6 +307,8 @@
 
     void DeleteInstrument();
 
+    void Generate();
+
   private:
 
     void ClearInstruments();
@@ -286,6 +321,8 @@
 
     void RandomEnable();
 
+    void GenerateRhythm();
+
     void OnSliderUpdate(wxCommandEvent& Event);
 
     void OnListBox(wxCommandEvent& Event);
@@ -294,6 +331,9 @@
 
     JZRhythm mRhythm;
 
+    JZEventWindow* mpEventWindow;
+    JZSong* mpSong;
+
     std::vector<JZRhythm*> mInstruments;
 
     wxSlider* mpStepsPerCountSlider;
@@ -320,7 +360,7 @@
 {
   public:
 
-    JZRhythmGeneratorFrame();
+    JZRhythmGeneratorFrame(JZEventWindow* pEventWindow, JZSong* pSong);
 
     ~JZRhythmGeneratorFrame();
 
@@ -336,6 +376,8 @@
 
     void OnDeleteInstrument(wxCommandEvent& Event);
 
+    void OnGenerate(wxCommandEvent& Event);
+
     void OnHelp(wxCommandEvent& Event);
 
     void OnHelpContents(wxCommandEvent& Event);
@@ -353,4 +395,4 @@
 
 //*****************************************************************************
 //*****************************************************************************
-extern void CreateRhythmGenerator();
+extern void CreateRhythmGenerator(JZEventWindow* pEventWindow, JZSong* pSong);
Modified: trunk/jazz/src/RhythmArrayControl.cpp
===================================================================
--- trunk/jazz/src/RhythmArrayControl.cpp	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/RhythmArrayControl.cpp	2013-04-08 05:22:24 UTC (rev 1023)
@@ -35,7 +35,7 @@
 JZRhythmArrayControl::JZRhythmArrayControl(
   wxWindow* pParent,
   wxWindowID Id,
-  const JZRndArray& RandomArray,
+  JZRndArray& RandomArray,
   const wxPoint& Position,
   const wxSize& Size,
   long WindowStyle)
@@ -57,7 +57,7 @@
 {
   mStepsPerCount = StepsPerCount;
   mCountPerBar = CountPerBar;
-  mpRandomArray->Resize(StepsPerCount * CountPerBar * BarCount);
+  mRandomArray.Resize(StepsPerCount * CountPerBar * BarCount);
   SetXMinMax(1, StepsPerCount * CountPerBar * BarCount);
 }
 
@@ -76,13 +76,13 @@
   Dc.SetFont(*wxSMALL_FONT);
 
   int TextWidth, TextHeight;
-  for (int i = 0; i < mpRandomArray->Size(); i += mStepsPerCount)
+  for (int i = 0; i < mRandomArray.Size(); i += mStepsPerCount)
   {
     int Mark = (i / mStepsPerCount) % mCountPerBar + 1;
     ostringstream Oss;
     Oss << Mark;
     int YPosition = mY + mHeight;
-    int XPosition = (int)(mX + (i + 0.5) * mWidth / mpRandomArray->Size());
+    int XPosition = (int)(mX + (i + 0.5) * mWidth / mRandomArray.Size());
     Dc.GetTextExtent(Oss.str(), &TextWidth, &TextHeight);
     XPosition -= (int)(TextWidth / 2.0);
     Dc.DrawText(Oss.str(), XPosition, YPosition);
Modified: trunk/jazz/src/RhythmArrayControl.h
===================================================================
--- trunk/jazz/src/RhythmArrayControl.h	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/RhythmArrayControl.h	2013-04-08 05:22:24 UTC (rev 1023)
@@ -31,7 +31,7 @@
     JZRhythmArrayControl(
       wxWindow* pParent,
       wxWindowID Id,
-      const JZRndArray& RandomArray,
+      JZRndArray& RandomArray,
       const wxPoint& Position = wxDefaultPosition,
       const wxSize& Size = wxSize(40, 40),
       long WindowStyle = wxNO_BORDER);
Modified: trunk/jazz/src/TrackFrame.cpp
===================================================================
--- trunk/jazz/src/TrackFrame.cpp	2013-04-08 04:30:34 UTC (rev 1022)
+++ trunk/jazz/src/TrackFrame.cpp	2013-04-08 05:22:24 UTC (rev 1023)
@@ -709,7 +709,7 @@
 //-----------------------------------------------------------------------------
 void JZTrackFrame::OnToolsRhythmGenerator(wxCommandEvent& Event)
 {
-  CreateRhythmGenerator();
+  CreateRhythmGenerator(mpTrackWindow, mpProject);
 }
 
 //-----------------------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-08 04:30:37
      
     
   | 
Revision: 1022
          http://sourceforge.net/p/jazzplusplus/code/1022
Author:   pstieber
Date:     2013-04-08 04:30:34 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Added mouse events.
Modified Paths:
--------------
    trunk/jazz/src/ArrayControl.cpp
    trunk/jazz/src/ArrayControl.h
Modified: trunk/jazz/src/ArrayControl.cpp
===================================================================
--- trunk/jazz/src/ArrayControl.cpp	2013-04-08 04:00:54 UTC (rev 1021)
+++ trunk/jazz/src/ArrayControl.cpp	2013-04-08 04:30:34 UTC (rev 1022)
@@ -49,6 +49,8 @@
 BEGIN_EVENT_TABLE(JZArrayControl, wxControl)
   EVT_SIZE(JZArrayControl::OnSize)
   EVT_PAINT(JZArrayControl::OnPaint)
+  EVT_MOUSE_EVENTS(JZArrayControl::OnMouseEvent)
+  EVT_MOUSE_CAPTURE_LOST(JZArrayControl::OnMouseCaptureLost)
 END_EVENT_TABLE()
 
 //-----------------------------------------------------------------------------
@@ -70,6 +72,8 @@
     mYNull(0),
     mWidth(0),
     mHeight(0),
+    mDragging(false),
+    mIndex(-1),
     mXMin(0),
     mXMax(RandomArray.Size())
 {
@@ -178,6 +182,155 @@
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
+void JZArrayControl::OnMouseEvent(wxMouseEvent& MouseEvent)
+{
+  if (!mEnabled)
+  {
+    return;
+  }
+  if (MouseEvent.ButtonDown())
+  {
+    ButtonDown(MouseEvent);
+  }
+  else if (MouseEvent.Dragging())
+  {
+    Dragging(MouseEvent);
+  }
+  else if (MouseEvent.ButtonUp())
+  {
+    ButtonUp(MouseEvent);
+  }
+}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZArrayControl::OnMouseCaptureLost(wxMouseCaptureLostEvent&)
+{
+  if (HasCapture())
+  {
+    ReleaseMouse();
+  }
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZArrayControl::ButtonDown(wxMouseEvent& MouseEvent)
+{
+  CaptureMouse();
+  mDragging = true;
+  mIndex = GetIndex(MouseEvent);
+  Dragging(MouseEvent);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZArrayControl::Dragging(wxMouseEvent& MouseEvent)
+{
+  if (!mDragging)
+  {
+    return;
+  }
+
+  if (mIndex < 0)
+  {
+    mIndex = GetIndex(MouseEvent);
+  }
+
+  wxClientDC Dc(this); // PORTING this is evil and shoud go
+
+  int Value = mpRandomArray->GetNull();
+  if (MouseEvent.LeftIsDown())
+  {
+    int EventX, EventY;
+    MouseEvent.GetPosition(&EventX, &EventY);
+
+    Value = (int)((double)(mY + mHeight - EventY) *
+      (mpRandomArray->GetMax() - mpRandomArray->GetMin()) / mHeight +
+      mpRandomArray->GetMin() + 0.5);
+
+    if (Value < mpRandomArray->GetMin())
+    {
+      Value = mpRandomArray->GetMin();
+    }
+    if (Value > mpRandomArray->GetMax())
+    {
+      Value = mpRandomArray->GetMax();
+    }
+  }
+
+  if (MouseEvent.ShiftDown())
+  {
+    for (int k = 0; k < mpRandomArray->Size(); ++k)
+    {
+      DrawBar(Dc, k, 0);
+      (*mpRandomArray)[k] = Value;
+      DrawBar(Dc, k, 1);
+    }
+  }
+  else if (MouseEvent.ControlDown())
+  {
+    DrawBar(Dc, mIndex, 0);
+    (*mpRandomArray)[mIndex] = Value;
+    DrawBar(Dc, mIndex, 1);
+  }
+  else
+  {
+    int i = GetIndex(MouseEvent);
+    int k = i;
+    if (i < mIndex)
+    {
+      for (; i <= mIndex; ++i)
+      {
+        DrawBar(Dc, i, 0);
+        (*mpRandomArray)[i] = Value;
+        DrawBar(Dc, i, 1);
+      }
+    }
+    else
+    {
+      for (; i >= mIndex; --i)
+      {
+        DrawBar(Dc, i, 0);
+        (*mpRandomArray)[i] = Value;
+        DrawBar(Dc, i, 1);
+      }
+    }
+    mIndex = k;
+  }
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZArrayControl::ButtonUp(wxMouseEvent& MouseEvent)
+{
+  if (HasCapture())
+  {
+    ReleaseMouse();
+  }
+  mDragging = false;
+  mIndex    = -1;
+  Refresh();
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+int JZArrayControl::GetIndex(wxMouseEvent& MouseEvent)
+{
+  int EventX, EventY;
+  MouseEvent.GetPosition(&EventX, &EventY);
+  int Index = (int)((EventX - mX) * mpRandomArray->Size() / mWidth);
+  if (Index < 0)
+  {
+    Index = 0;
+  }
+  if (Index >= mpRandomArray->Size())
+  {
+    Index = mpRandomArray->Size() - 1;
+  }
+  return Index;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 void JZArrayControl::DrawBar(wxDC& Dc, int i, bool black)
 {
   if (mStyleBits & ARED_LINES)
Modified: trunk/jazz/src/ArrayControl.h
===================================================================
--- trunk/jazz/src/ArrayControl.h	2013-04-08 04:00:54 UTC (rev 1021)
+++ trunk/jazz/src/ArrayControl.h	2013-04-08 04:30:34 UTC (rev 1022)
@@ -52,6 +52,18 @@
 
     void OnPaint(wxPaintEvent& Event);
 
+    void OnMouseEvent(wxMouseEvent& MouseEvent);
+
+    void OnMouseCaptureLost(wxMouseCaptureLostEvent& Event);
+
+    void ButtonDown(wxMouseEvent& MouseEvent);
+
+    void Dragging(wxMouseEvent& MouseEvent);
+
+    void ButtonUp(wxMouseEvent& MouseEvent);
+
+    int GetIndex(wxMouseEvent& MouseEvent);
+
     void DrawBar(wxDC& Dc, int i, bool black);
 
     void DrawLabel(wxDC& Dc);
@@ -79,6 +91,12 @@
     int mX, mY, mYNull;
     int mWidth, mHeight;
 
+    // Dragging flag.
+    bool mDragging;
+
+    // If ctrl is pushed: drag this one.
+    int mIndex;
+
     // Array size is mapped to this range for x-tick marks.
     int mXMin, mXMax;
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-08 04:00:57
      
     
   | 
Revision: 1021
          http://sourceforge.net/p/jazzplusplus/code/1021
Author:   pstieber
Date:     2013-04-08 04:00:54 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Added a missing comma.
Modified Paths:
--------------
    trunk/jazz/conf/jazz.cfg
    trunk/jazz/src/DynamicArray.h
Modified: trunk/jazz/conf/jazz.cfg
===================================================================
--- trunk/jazz/conf/jazz.cfg	2013-04-08 03:57:49 UTC (rev 1020)
+++ trunk/jazz/conf/jazz.cfg	2013-04-08 04:00:54 UTC (rev 1021)
@@ -34,10 +34,10 @@
 .enable_audio 1
 
 # Window positions/sizes
-.trackwin_xpos 10
-.trackwin_ypos 10
-.trackwin_width 600
-.trackwin_height 400
+.trackwin_xpos 0
+.trackwin_ypos 27
+.trackwin_width 1680
+.trackwin_height 1023
 
 .pianowin_xpos 30
 .pianowin_ypos 30
@@ -94,5 +94,6 @@
 .synth_dialog 0
 
 # program generated configuration:
-.alsa_input_device -1
+.alsa_input_device 0
 .alsa_output_device -1
+.startup_song /home/pstieber/OutsideSource/jazzplusplus/jazz/conf/jazz.mid
Modified: trunk/jazz/src/DynamicArray.h
===================================================================
--- trunk/jazz/src/DynamicArray.h	2013-04-08 03:57:49 UTC (rev 1020)
+++ trunk/jazz/src/DynamicArray.h	2013-04-08 04:00:54 UTC (rev 1021)
@@ -100,7 +100,7 @@
 TTDynamicArray<TAType>::TTDynamicArray(const TTDynamicArray<TAType>& Other)
   : mArrayCount(0),
     mBlockSize(16),
-    mInitialValue(Other.mInitialValue)
+    mInitialValue(Other.mInitialValue),
     mppArray(0)
 {
   for (int i = 0; i < Other.mArrayCount * mBlockSize; ++i)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-08 03:57:52
      
     
   | 
Revision: 1020
          http://sourceforge.net/p/jazzplusplus/code/1020
Author:   pstieber
Date:     2013-04-08 03:57:49 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Removed unneeded includes and made a cosmetic change.
Modified Paths:
--------------
    trunk/jazz/src/Random.cpp
Modified: trunk/jazz/src/Random.cpp
===================================================================
--- trunk/jazz/src/Random.cpp	2013-04-08 03:56:31 UTC (rev 1019)
+++ trunk/jazz/src/Random.cpp	2013-04-08 03:57:49 UTC (rev 1020)
@@ -25,8 +25,6 @@
 #include "Mapper.h"
 
 #include <wx/dcclient.h>
-#include <wx/frame.h>
-#include <wx/scrolwin.h>
 
 #include <cassert>
 #include <cstdlib>
@@ -111,7 +109,7 @@
   {
     i = mArray.size() - 2;
   }
-  JZMapper Map(i, i + 1, mArray[i], mArray[i+1]);
+  JZMapper Map(i, i + 1, mArray[i], mArray[i + 1]);
   return Map.XToY(f);
 }
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 | 
| 
     
      
      
      From: <pst...@us...> - 2013-04-08 03:56:34
      
     
   | 
Revision: 1019
          http://sourceforge.net/p/jazzplusplus/code/1019
Author:   pstieber
Date:     2013-04-08 03:56:31 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
1. Converted dynamic array code from macros to C++ template code.
2. Removed the DynamicArray.cpp source module.
3. Put the bit set code in a separate header file.
4. Updated the names of some audio data members.
Modified Paths:
--------------
    trunk/jazz/src/Audio.cpp
    trunk/jazz/src/Audio.h
    trunk/jazz/src/DynamicArray.h
    trunk/jazz/src/Makefile.am
    trunk/jazz/src/Random.h
    trunk/jazz/src/Track.h
    trunk/jazz/src/mswin/WindowsAudioInterface.cpp
    trunk/jazz/vc9/JazzPlusPlus-VC9.vcproj
Added Paths:
-----------
    trunk/jazz/src/BitSet.h
Removed Paths:
-------------
    trunk/jazz/src/DynamicArray.cpp
Modified: trunk/jazz/src/Audio.cpp
===================================================================
--- trunk/jazz/src/Audio.cpp	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/Audio.cpp	2013-04-08 03:56:31 UTC (rev 1019)
@@ -204,7 +204,7 @@
   int i;
   for (i = 0; i < BUFCOUNT; ++i)
   {
-    buffers[i] = new JZAudioBuffer(0);
+    mpBuffers[i] = new JZAudioBuffer(0);
   }
 
   adjust_audio_length = 1;
@@ -241,7 +241,7 @@
   }
   for (i = 0; i < BUFCOUNT; i++)
   {
-    delete buffers[i];
+    delete mpBuffers[i];
   }
 }
 
@@ -415,7 +415,7 @@
   mDriverBuffers.Clear();
   for (i = 0; i < BUFCOUNT; i++)
   {
-    mFreeBuffers.Put(buffers[i]);
+    mFreeBuffers.Put(mpBuffers[i]);
   }
   buffers_written   = 0;
 
@@ -1072,15 +1072,15 @@
 
   // Save part of first buffer.
   os.write(
-    (char*)&buf.buffers[start_buffer]->data[start_offs],
+    (char*)&buf.mBuffers[start_buffer]->data[start_offs],
     2 * start_length);
 
   // write some complete buffers
   for (int i = start_buffer + 1; i < end_buffer; i++)
-    os.write((char*)buf.buffers[i]->data, bufsize * 2);
+    os.write((char*)buf.mBuffers[i]->data, bufsize * 2);
   // save part of last buffer
   if (end_length > 0)
-    os.write((char*)buf.buffers[end_buffer]->data, 2 * end_length);
+    os.write((char*)buf.mBuffers[end_buffer]->data, 2 * end_length);
 #if 0
   // very slow, but works!
   ofstream slow("t2.wav", ios::out | ios::bin | ios::trunc);
@@ -1089,7 +1089,7 @@
   {
     int bi = i / bufsize;
     int di = i % bufsize;
-    slow.write((char*)&buf.buffers[bi]->mpData[di], sizeof(short));
+    slow.write((char*)&buf.mBuffers[bi]->mpData[di], sizeof(short));
   }
 #endif
 }
@@ -1098,17 +1098,15 @@
 // ------------------------------- record  ------------------------
 // -----------------------------------------------------------------
 
-DEFINE_ARRAY(JZAudioBufferArray, JZAudioBuffer*)
-
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 void JZAudioRecordBuffer::Clear()
 {
-  int n = buffers.GetSize();
+  int n = mBuffers.GetSize();
   for (int i = 0; i < n; i++)
   {
-    delete buffers[i];
-    buffers[i] = 0;
+    delete mBuffers[i];
+    mBuffers[i] = 0;
   }
   num_buffers = 0;
 }
@@ -1117,14 +1115,14 @@
 //-----------------------------------------------------------------------------
 JZAudioBuffer* JZAudioRecordBuffer::RequestBuffer()
 {
-  if (buffers[num_buffers] == 0)
-    buffers[num_buffers] = new JZAudioBuffer(0);
-  if (buffers[num_buffers] == 0)
+  if (mBuffers[num_buffers] == 0)
+    mBuffers[num_buffers] = new JZAudioBuffer(0);
+  if (mBuffers[num_buffers] == 0)
   {
     Clear();
     fprintf(stderr, "memory exhausted!\n");
   }
-  return buffers[num_buffers++];
+  return mBuffers[num_buffers++];
 }
 
 // -----------------------------------------------------------------
Modified: trunk/jazz/src/Audio.h
===================================================================
--- trunk/jazz/src/Audio.h	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/Audio.h	2013-04-08 03:56:31 UTC (rev 1019)
@@ -112,9 +112,6 @@
   }
 };
 
-
-DECLARE_ARRAY(JZAudioBufferArray, JZAudioBuffer*)
-
 //*****************************************************************************
 //*****************************************************************************
 class JZAudioBufferQueue
@@ -207,12 +204,11 @@
 
   private:
 
-    JZAudioBufferArray buffers;
+    TTDynamicArray<JZAudioBuffer*> mBuffers;
     int num_buffers;
     int bufbytes;
 };
 
-
 //*****************************************************************************
 // Description:
 //   This is the sample set class declaration.  This class holds a collection
@@ -299,7 +295,7 @@
     JZAudioBuffer* GetBuffer(int i) const
     {
       // 0 < i < BUFCOUNT
-      return buffers[i];
+      return mpBuffers[i];
     }
 
     void AdjustAudioLength(JZTrack *t, long TicksPerMinute);
@@ -426,7 +422,7 @@
 
     unsigned int bufbytes;           // buffer size in byte
     unsigned int bufshorts;          // buffer size in short
-    JZAudioBuffer *buffers[BUFCOUNT]; // all the audio buffers
+    JZAudioBuffer* mpBuffers[BUFCOUNT]; // all the audio buffers
     JZAudioBufferQueue mFreeBuffers;  // to be filled with data
     JZAudioBufferQueue mFullBuffers;  // to be played by driver
     JZAudioBufferQueue mDriverBuffers;  // actually played by driver
@@ -458,6 +454,8 @@
     JZSample* listen_sample;
 };
 
+//*****************************************************************************
+//*****************************************************************************
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 inline
Added: trunk/jazz/src/BitSet.h
===================================================================
--- trunk/jazz/src/BitSet.h	                        (rev 0)
+++ trunk/jazz/src/BitSet.h	2013-04-08 03:56:31 UTC (rev 1019)
@@ -0,0 +1,59 @@
+//*****************************************************************************
+// The JAZZ++ Midi Sequencer
+//
+// Copyright (C) 2013 Peter J. Stieber
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+//*****************************************************************************
+
+#pragma once
+
+#include "DynamicArray.h"
+
+//*****************************************************************************
+//*****************************************************************************
+class JZBitset
+{
+  public:
+    int operator()(int i)
+    {
+      return (mArray[index(i)] & mask(i)) != 0;
+    }
+    void set(int i, int b)
+    {
+      if (b)
+      {
+        mArray[index(i)] |= mask(i);
+      }
+      else
+      {
+        mArray[index(i)] &= ~mask(i);
+      }
+    }
+
+  private:
+
+    TTDynamicArray<int> mArray;
+
+    // this works for sizeof(int) >= 4
+    int index(int i)
+    {
+      return i >> 5;
+    }
+    int mask(int i)
+    {
+      return 1 << (i & 31);
+    }
+};
Property changes on: trunk/jazz/src/BitSet.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/jazz/src/DynamicArray.cpp
===================================================================
--- trunk/jazz/src/DynamicArray.cpp	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/DynamicArray.cpp	2013-04-08 03:56:31 UTC (rev 1019)
@@ -1,23 +0,0 @@
-//*****************************************************************************
-// The JAZZ++ Midi Sequencer
-//
-// Copyright (C) 1994-2000 Andreas Voss and Per Sigmond, all rights reserved.
-// Modifications Copyright (C) 2004 Patrick Earl
-// Modifications Copyright (C) 2008-2013 Peter J. Stieber
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//*****************************************************************************
-
-#include "DynamicArray.h"
Modified: trunk/jazz/src/DynamicArray.h
===================================================================
--- trunk/jazz/src/DynamicArray.h	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/DynamicArray.h	2013-04-08 03:56:31 UTC (rev 1019)
@@ -1,9 +1,7 @@
 //*****************************************************************************
 // The JAZZ++ Midi Sequencer
 //
-// Copyright (C) 1994-2000 Andreas Voss and Per Sigmond, all rights reserved.
-// Modifications Copyright (C) 2004 Patrick Earl
-// Modifications Copyright (C) 2008-2013 Peter J. Stieber
+// Copyright (C) 2013 Peter J. Stieber
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -23,176 +21,195 @@
 #pragma once
 
 #include <cassert>
-#include <vector>
 
-#define DECLARE_ARRAY(CLASS, TYPE)                      \
-                                                        \
-class CLASS                                             \
-{                                                       \
-  public:                                               \
-    CLASS(TYPE initVal, int initSize = 0);              \
-    CLASS();                                            \
-    virtual ~CLASS();                                   \
-    CLASS(const CLASS &);                               \
-    CLASS & operator=(const CLASS &);                   \
-                                                        \
-    TYPE & operator[](int i);                           \
-    const TYPE operator[](int i) const;                 \
-    int GetSize() const;                                \
-  protected:                                            \
-    void Resize(int newSize);                           \
-    int  nArrays;     /* Anzahl Arrays */               \
-    int  block_size;  /* Anzahl Elemente je Array */    \
-    void Clear();     /* Loescht alle Arrays */         \
-    TYPE initVal;                                       \
-    TYPE** ppArray;                                     \
+//*****************************************************************************
+// Description:
+//   Template version of the macro code macro code listed above.
+//*****************************************************************************
+template <typename TAType>
+class TTDynamicArray
+{
+  public:
+
+    TTDynamicArray();
+
+    TTDynamicArray(TAType InitialValue, int InitialSize = 0);
+
+    TTDynamicArray(const TTDynamicArray& Other);
+
+    virtual ~TTDynamicArray();
+
+    TTDynamicArray& operator = (const TTDynamicArray& Rhs);
+
+    TAType& operator[](int i);
+
+    const TAType operator[](int i) const;
+
+    int GetSize() const;
+
+  protected:
+
+    void Resize(int NewSize);
+
+    // Delete all arrays.
+    void Clear();
+
+  protected:
+
+    // Number of arrays.
+    int mArrayCount;
+
+    // Number of elements per array.
+    int mBlockSize;
+
+    TAType mInitialValue;
+    TAType** mppArray;
 };
 
+//*****************************************************************************
+//*****************************************************************************
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TTDynamicArray<TAType>::TTDynamicArray()
+  : mArrayCount(0),
+    mBlockSize(16),
+    mInitialValue(0),
+    mppArray(0)
+{
+}
 
-#define DEFINE_ARRAY(CLASS, TYPE)                              \
-                                                               \
-CLASS::CLASS(TYPE val, int s) : initVal(val)                   \
-{                                                              \
-  nArrays = 0;                                                 \
-  ppArray = 0;                                                 \
-  block_size = 16;                                             \
-  if (s) Resize(s);                                            \
-}                                                              \
-                                                               \
-CLASS::CLASS() : initVal(0)                                    \
-{                                                              \
-  nArrays = 0;                                                 \
-  ppArray = 0;                                                 \
-  block_size = 16;                                             \
-}                                                              \
-                                                               \
-CLASS::CLASS(const CLASS &X) : initVal(X.initVal)              \
-{                                                              \
-  int i;                                                       \
-  nArrays = 0;                                                 \
-  ppArray = 0;                                                 \
-  block_size = 16;                                             \
-  for (i = 0; i < X.nArrays * block_size; i++)                 \
-    (*this)[i] = (TYPE)X[i];                                   \
-}                                                              \
-                                                               \
-void CLASS::Clear()                                            \
-{                                                              \
-  int i;                                                       \
-  for (i = 0; i < nArrays; i++)                                \
-  {                                                            \
-    delete [] ppArray[i];                                      \
-  }                                                            \
-  delete [] ppArray;                                           \
-  nArrays = 0;                                                 \
-  ppArray = 0;                                                 \
-}                                                              \
-                                                               \
-CLASS::~CLASS()                                                \
-{                                                              \
-  Clear();                                                     \
-}                                                              \
-                                                               \
-CLASS& CLASS::operator=(const CLASS &X)                        \
-{                                                              \
-  int i;                                                       \
-  if (&X == this)                                              \
-    return *this;                                              \
-  Clear();                                                     \
-  initVal = X.initVal;                                         \
-  block_size = X.block_size;                                   \
-  for (i = 0; i < X.nArrays * X.block_size; i++)               \
-  {                                                            \
-    (*this)[i] = (TYPE)X[i];                                   \
-  }                                                            \
-  return *this;                                                \
-}                                                              \
-                                                               \
-TYPE& CLASS::operator[](int i)                                 \
-{                                                              \
-  assert(i >= 0);                                              \
-  Resize(i);                                                   \
-  return ppArray[i / block_size][i % block_size];              \
-}                                                              \
-                                                               \
-const TYPE CLASS::operator[](int i) const                      \
-{                                                              \
-  assert(i >= 0);                                              \
-  int k = i / block_size;                                      \
-  if (k >= nArrays || ppArray[k] == 0)                         \
-  {                                                            \
-    return initVal;                                            \
-  }                                                            \
-  return ppArray[k][i % block_size];                           \
-}                                                              \
-                                                               \
-void CLASS::Resize(int newSize)                                \
-{                                                              \
-  int k = newSize / block_size;                                \
-  if (k >= nArrays)                                            \
-  {                                                            \
-    int i, n = k + 1;                                          \
-    TYPE **tmp = new TYPE * [n];                               \
-    for (i = 0; i < nArrays; i++)                              \
-    {                                                          \
-      tmp[i] = ppArray[i];                                     \
-    }                                                          \
-    for (; i < n; i++)                                         \
-    {                                                          \
-      tmp[i] = 0;                                              \
-    }                                                          \
-    delete [] ppArray;                                         \
-    ppArray = tmp;                                             \
-    nArrays = n;                                               \
-  }                                                            \
-                                                               \
-  if (ppArray[k] == 0)                                         \
-  {                                                            \
-    int i;                                                     \
-    ppArray[k] = new TYPE [block_size];                        \
-    for (i = 0; i < block_size; i++)                           \
-    {                                                          \
-      ppArray[k][i] = initVal;                                 \
-    }                                                          \
-  }                                                            \
-}                                                              \
-                                                               \
-int CLASS::GetSize() const                                     \
-{                                                              \
-  return nArrays * block_size;                                 \
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TTDynamicArray<TAType>::TTDynamicArray(TAType InitialValue, int InitialSize)
+  : mArrayCount(0),
+    mBlockSize(16),
+    mInitialValue(InitialValue),
+    mppArray(0)
+{
+  if (InitialSize)
+  {
+    Resize(InitialSize);
+  }
 }
 
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TTDynamicArray<TAType>::TTDynamicArray(const TTDynamicArray<TAType>& Other)
+  : mArrayCount(0),
+    mBlockSize(16),
+    mInitialValue(Other.mInitialValue)
+    mppArray(0)
+{
+  for (int i = 0; i < Other.mArrayCount * mBlockSize; ++i)
+  {
+    (*this)[i] = Other[i];
+  }
+}
 
-class JZBitset
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+void TTDynamicArray<TAType>::Clear()
 {
-  public:
-    int operator()(int i)
+  for (int i = 0; i < mArrayCount; ++i)
+  {
+    delete [] mppArray[i];
+  }
+  delete [] mppArray;
+  mArrayCount = 0;
+  mppArray = 0;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TTDynamicArray<TAType>::~TTDynamicArray()
+{
+  Clear();
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TTDynamicArray<TAType>& TTDynamicArray<TAType>::operator = (
+  const TTDynamicArray<TAType>& Rhs)
+{
+  if (&Rhs != this)
+  {
+    Clear();
+    mInitialValue = Rhs.mInitialValue;
+    mBlockSize = Rhs.mBlockSize;
+    for (int i = 0; i < Rhs.mArrayCount * Rhs.mBlockSize; ++i)
     {
-      return (mArray[index(i)] & mask(i)) != 0;
+      (*this)[i] = Rhs[i];
     }
-    void set(int i, int b)
-    {
-      if (b)
-      {
-        mArray[index(i)] |= mask(i);
-      }
-      else
-      {
-        mArray[index(i)] &= ~mask(i);
-      }
-    }
+  }
+  return *this;
+}
 
-  private:
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+TAType& TTDynamicArray<TAType>::operator[](int i)
+{
+  assert(i >= 0);
+  Resize(i);
+  return mppArray[i / mBlockSize][i % mBlockSize];
+}
 
-    std::vector<int> mArray;
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+const TAType TTDynamicArray<TAType>::operator[](int i) const
+{
+  assert(i >= 0);
+  int k = i / mBlockSize;
+  if (k >= mArrayCount || mppArray[k] == 0)
+  {
+    return mInitialValue;
+  }
+  return mppArray[k][i % mBlockSize];
+}
 
-    // this works for sizeof(int) >= 4
-    int index(int i)
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+void TTDynamicArray<TAType>::Resize(int NewSize)
+{
+  int k = NewSize / mBlockSize;
+  if (k >= mArrayCount)
+  {
+    int i, n = k + 1;
+    TAType** ppTemp = new TAType * [n];
+    for (i = 0; i < mArrayCount; i++)
     {
-      return i >> 5;
+      ppTemp[i] = mppArray[i];
     }
-    int mask(int i)
+    for (; i < n; ++i)
     {
-      return 1 << (i & 31);
+      ppTemp[i] = 0;
     }
-};
+    delete [] mppArray;
+    mppArray = ppTemp;
+  }
+
+  if (mppArray[k] == 0)
+  {
+    mppArray[k] = new TAType [mBlockSize];
+    for (int i = 0; i < mBlockSize; ++i)
+    {
+      mppArray[k][i] = mInitialValue;
+    }
+  }
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+template <typename TAType>
+int TTDynamicArray<TAType>::GetSize() const
+{
+  return mArrayCount * mBlockSize;
+}
Modified: trunk/jazz/src/Makefile.am
===================================================================
--- trunk/jazz/src/Makefile.am	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/Makefile.am	2013-04-08 03:56:31 UTC (rev 1019)
@@ -49,7 +49,6 @@
 Dialogs/VelocityDialog.cpp \
 Dialogs.cpp \
 DrumUtilities.cpp \
-DynamicArray.cpp \
 ErrorMessage.cpp \
 Events.cpp \
 EventFrame.cpp \
@@ -151,7 +150,6 @@
 Dialogs.cpp \
 DrumEnums.h \
 DrumUtilities.h \
-DynamicArray.cpp \
 ErrorMessage.cpp \
 Events.cpp \
 EventFrame.cpp \
@@ -223,6 +221,7 @@
 AsciiMidiFile.h \
 Audio.h \
 AudioDriver.h \
+BitSet.h \
 Command.h \
 Configuration.h \
 ControlEdit.h \
Modified: trunk/jazz/src/Random.h
===================================================================
--- trunk/jazz/src/Random.h	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/Random.h	2013-04-08 03:56:31 UTC (rev 1019)
@@ -24,11 +24,9 @@
 
 #include <wx/window.h>
 
-#include <iostream>
+#include <iosfwd>
 #include <vector>
 
-#include "DynamicArray.h"
-
 //*****************************************************************************
 //*****************************************************************************
 class JZRandomGenerator
@@ -96,8 +94,8 @@
       mArray.resize(nn);
     }
 
-    friend std::ostream & operator << (std::ostream &, JZRndArray const &);
-    friend std::istream & operator >> (std::istream &, JZRndArray &);
+    friend std::ostream& operator << (std::ostream &, JZRndArray const &);
+    friend std::istream& operator >> (std::istream &, JZRndArray &);
 
     // Returns index 0..n-1 (arrayvalues -> empiric distribution)
     int Random();
Modified: trunk/jazz/src/Track.h
===================================================================
--- trunk/jazz/src/Track.h	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/Track.h	2013-04-08 03:56:31 UTC (rev 1019)
@@ -22,8 +22,8 @@
 
 #pragma once
 
+#include "BitSet.h"
 #include "DrumEnums.h"
-#include "DynamicArray.h"
 #include "Events.h"
 #include "NamedValue.h"
 
Modified: trunk/jazz/src/mswin/WindowsAudioInterface.cpp
===================================================================
--- trunk/jazz/src/mswin/WindowsAudioInterface.cpp	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/src/mswin/WindowsAudioInterface.cpp	2013-04-08 03:56:31 UTC (rev 1019)
@@ -425,10 +425,10 @@
     hinp_open = 0;
     waveInReset(hinp);
 
-    int n = recbuffers.buffers.GetSize();
+    int n = recbuffers.mBuffers.GetSize();
     for (i = 0; i < n; i++)
     {
-      JZAudioBuffer* buf = recbuffers.buffers[i];
+      JZAudioBuffer* buf = recbuffers.mBuffers[i];
       if (buf == 0)
         break;
       res = waveInUnprepareHeader(hinp, (WAVEHDR *)buf->hdr, sizeof(WAVEHDR));
Modified: trunk/jazz/vc9/JazzPlusPlus-VC9.vcproj
===================================================================
--- trunk/jazz/vc9/JazzPlusPlus-VC9.vcproj	2013-04-07 23:54:34 UTC (rev 1018)
+++ trunk/jazz/vc9/JazzPlusPlus-VC9.vcproj	2013-04-08 03:56:31 UTC (rev 1019)
@@ -450,6 +450,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\src\BitSet.h"
+				>
+			</File>
+			<File
 				RelativePath="..\src\Command.cpp"
 				>
 			</File>
@@ -494,10 +498,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\src\DynamicArray.cpp"
-				>
-			</File>
-			<File
 				RelativePath="..\src\DynamicArray.h"
 				>
 			</File>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |