changeset 0:c0ead20bda4d

first commit
author Fiore Martin <f.martin@qmul.ac.uk>
date Mon, 08 Jun 2015 11:49:43 +0100
parents
children a30304ca3ea5
files AccessiblePeakMeter-aax.vcxproj AccessiblePeakMeter-aax.vcxproj.filters AccessiblePeakMeter-aax.vcxproj.user AccessiblePeakMeter-vst2.vcxproj AccessiblePeakMeter-vst2.vcxproj.filters AccessiblePeakMeter-vst2.vcxproj.user AccessiblePeakMeter-vst3.vcxproj AccessiblePeakMeter-vst3.vcxproj.filters AccessiblePeakMeter-vst3.vcxproj.user AccessiblePeakMeter.cbp AccessiblePeakMeter.cpp AccessiblePeakMeter.exp AccessiblePeakMeter.h AccessiblePeakMeter.props AccessiblePeakMeter.rc AccessiblePeakMeter.sln AccessiblePeakMeter.xcconfig AccessiblePeakMeter.xcodeproj/oli.pbxuser AccessiblePeakMeter.xcodeproj/project.pbxproj AccessiblePeakMeter_controls.h README.txt app_wrapper/app_dialog.cpp app_wrapper/app_main.cpp app_wrapper/app_main.h app_wrapper/app_resource.h app_wrapper/main.mm resource.h resources/AccessiblePeakMeter-AAX-Info.plist resources/AccessiblePeakMeter-AU-Info.plist resources/AccessiblePeakMeter-IOSAPP-Info.plist resources/AccessiblePeakMeter-OSXAPP-Info.plist resources/AccessiblePeakMeter-Pages.xml resources/AccessiblePeakMeter-RTAS-Info.plist resources/AccessiblePeakMeter-VST2-Info.plist resources/AccessiblePeakMeter-VST3-Info.plist resources/AccessiblePeakMeter-icon57x57.png resources/AccessiblePeakMeter.entitlements resources/AccessiblePeakMeter.icns resources/English.lproj/InfoPlist.strings resources/English.lproj/MainMenu.xib resources/FlipsideView.xib resources/MainView.xib resources/MainWindow.xib resources/img/bg.png resources/img/fader.png resources/img/knob.png resources/img/switch.png stk/include/ADSR.h stk/include/Envelope.h stk/include/Generator.h stk/include/SineWave.h stk/include/Stk.h stk/src/ADSR.cpp stk/src/Envelope.cpp stk/src/SineWave.cpp stk/src/Stk.cpp
diffstat 56 files changed, 14547 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-aax.vcxproj	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,541 @@
+<?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|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|Win32">
+      <Configuration>Tracer</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|x64">
+      <Configuration>Tracer</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DC4B5920-933D-4C82-B842-F34431D55A93}</ProjectGuid>
+    <RootNamespace>AccessiblePeakMeter-aax</RootNamespace>
+    <Keyword>ManagedCProj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">build-win\aax\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\Win32\
+CALL ..\..\AAX_SDK\Utilities\CreatePackage.bat $(OutDir) ..\..\AAX_SDK\Utilities\PlugIn.ico
+</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeaderOutputFile>$(IntDir)AccessiblePeakMeter.pch</PrecompiledHeaderOutputFile>
+      <BrowseInformation>
+      </BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AssemblyDebug>
+      </AssemblyDebug>
+      <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
+      <GenerateMapFile>true</GenerateMapFile>
+      <MapFileName>$(IntDir)$(TargetName).map</MapFileName>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\Win32\
+CALL ..\..\AAX_SDK\Utilities\CreatePackage.bat $(OutDir) ..\..\AAX_SDK\Utilities\PlugIn.ico
+</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>
+      </AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
+      <BrowseInformation>
+      </BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\Win32\
+CALL ..\..\AAX_SDK\Utilities\CreatePackage.bat $(OutDir) ..\..\AAX_SDK\Utilities\PlugIn.ico
+</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>
+      </AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
+      <BrowseInformation>
+      </BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\x64\
+      </Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeaderOutputFile>$(IntDir)AccessiblePeakMeter.pch</PrecompiledHeaderOutputFile>
+      <BrowseInformation>true</BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AssemblyDebug>
+      </AssemblyDebug>
+      <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
+      <GenerateMapFile>true</GenerateMapFile>
+      <MapFileName>$(IntDir)$(TargetName).map</MapFileName>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\x64\
+      </Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>
+      </AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <PreBuildEvent>
+      <Command>DEL /Q /F /S .\build-win\aax\bin\$(BINARY_NAME).aaxplugin\Contents\x64\
+      </Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>
+      </Message>
+      <Command>
+      </Command>
+      <Outputs>%(Outputs)</Outputs>
+    </CustomBuildStep>
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories>$(AAX_INCLUDES);.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(AAX_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <AssemblerListingLocation>
+      </AssemblerListingLocation>
+      <ProgramDataBaseFileName>$(IntDir)vc70.pdb</ProgramDataBaseFileName>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>$(AAX_LIBS)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(BINARY_NAME).aaxplugin</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+    <Bscmake>
+      <OutputFile>$(OutDir)$(ProjectName).bsc</OutputFile>
+    </Bscmake>
+    <PostBuildEvent>
+      <Message>Copying AAX plugin folder to $(AAX_PLUGINS_PATH)</Message>
+      <Command>xcopy /E /Y /i ".\build-win\aax\bin\$(BINARY_NAME).aaxplugin" "$(AAX_PLUGINS_PATH)\$(BINARY_NAME).aaxplugin"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\AAX_SDK\Interfaces\AAX_Exports.cpp">
+      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
+      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
+      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
+      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
+      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
+      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\Hosts.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IBitmapMonoText.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IControl.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IGraphics.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IGraphicsWin.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IParam.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPlugBase.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPlugStructs.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPopupMenu.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\Log.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\AAX\AAX_CIPlugParameters.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPlugAAX.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\AAX\IPlugAAX_Describe.cpp" />
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuildStep Include="..\..\AAX_SDK\Libs\Release\AAXLibrary.lib">
+      <FileType>Document</FileType>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+    </CustomBuildStep>
+    <CustomBuildStep Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_D.lib">
+      <FileType>Document</FileType>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+    </CustomBuildStep>
+    <CustomBuildStep Include="..\..\AAX_SDK\Libs\Release\AAXLibrary_x64.lib">
+      <FileType>Document</FileType>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+    </CustomBuildStep>
+    <CustomBuildStep Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_x64_D.lib">
+      <FileType>Document</FileType>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+    </CustomBuildStep>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\WDL\IPlug\Containers.h" />
+    <ClInclude Include="..\..\WDL\IPlug\Hosts.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IBitmapMonoText.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IControl.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IGraphics.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IGraphicsWin.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IKeyboardControl.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IMidiQueue.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IParam.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlug_include_in_plug_hdr.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlug_include_in_plug_src.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugBase.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugOSDetect.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugStructs.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPopupMenu.h" />
+    <ClInclude Include="..\..\WDL\IPlug\Log.h" />
+    <ClInclude Include="..\..\WDL\IPlug\AAX\AAX_CIPlugParameters.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugAAX.h" />
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <Library Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_D.lib">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_x64_D.lib">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Release\AAXLibrary.lib">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">true</ExcludedFromBuild>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Release\AAXLibrary_x64.lib">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">true</ExcludedFromBuild>
+    </Library>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-aax.vcxproj.filters	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="IPlug">
+      <UniqueIdentifier>{ed0eb9dd-b586-4a3f-98af-ebd9c084fff2}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="IPlug\AAX">
+      <UniqueIdentifier>{a484aa50-ad02-4746-957e-117c8bb5c192}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Libs">
+      <UniqueIdentifier>{57d1624e-a679-47da-bd3e-9609f02fdd7b}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\WDL\IPlug\Hosts.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IBitmapMonoText.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IControl.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IGraphics.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IGraphicsWin.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IParam.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IPlugBase.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IPlugStructs.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IPopupMenu.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\Log.cpp">
+      <Filter>IPlug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\AAX\AAX_CIPlugParameters.cpp">
+      <Filter>IPlug\AAX</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IPlugAAX.cpp">
+      <Filter>IPlug\AAX</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\AAX\IPlugAAX_Describe.cpp">
+      <Filter>IPlug\AAX</Filter>
+    </ClCompile>
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+    <ClCompile Include="..\..\AAX_SDK\Interfaces\AAX_Exports.cpp">
+      <Filter>Libs</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\WDL\IPlug\Containers.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\Hosts.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IBitmapMonoText.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IControl.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IGraphics.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IGraphicsWin.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IKeyboardControl.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IMidiQueue.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IParam.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlug_include_in_plug_hdr.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlug_include_in_plug_src.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugBase.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugOSDetect.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugStructs.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPopupMenu.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\Log.h">
+      <Filter>IPlug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\AAX\AAX_CIPlugParameters.h">
+      <Filter>IPlug\AAX</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugAAX.h">
+      <Filter>IPlug\AAX</Filter>
+    </ClInclude>
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <Library Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_x64_D.lib">
+      <Filter>Libs</Filter>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Release\AAXLibrary.lib">
+      <Filter>Libs</Filter>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Debug\AAXLibrary_D.lib">
+      <Filter>Libs</Filter>
+    </Library>
+    <Library Include="..\..\AAX_SDK\Libs\Release\AAXLibrary_x64.lib">
+      <Filter>Libs</Filter>
+    </Library>
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-aax.vcxproj.user	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst2.vcxproj	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,261 @@
+<?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|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|Win32">
+      <Configuration>Tracer</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|x64">
+      <Configuration>Tracer</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2EB4846A-93E0-43A0-821E-12237105168F}</ProjectGuid>
+    <RootNamespace>AccessiblePeakMeter</RootNamespace>
+    <ProjectName>AccessiblePeakMeter-vst2</ProjectName>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(VSTPLUGINS)</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>$(VSTPLUGINS)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental>
+    </LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental />
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(VSTPLUGINS)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(VSTPLUGINS)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+    <TargetName>$(BINARY_NAME)64</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <OutDir>build-win\vst2\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <OutDir>build-win\vst2\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <IntDir>build-win\vst2\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>$(VST_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>$(VST_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(x64_LIB_PATHS);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(x64_LIB_PATHS);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(WDL_PATH)\lice\build-win\$(Platform)\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(x64_LIB_PATHS);$(WDL_PATH)\lice\build-win\$(Platform)\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugVST.h" />
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+    <ClInclude Include="stk\include\ADSR.h" />
+    <ClInclude Include="stk\include\Envelope.h" />
+    <ClInclude Include="stk\include\Generator.h" />
+    <ClInclude Include="stk\include\SineWave.h" />
+    <ClInclude Include="stk\include\Stk.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\WDL\IPlug\IPlugVST.cpp" />
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+    <ClCompile Include="stk\src\ADSR.cpp" />
+    <ClCompile Include="stk\src\Envelope.cpp" />
+    <ClCompile Include="stk\src\SineWave.cpp" />
+    <ClCompile Include="stk\src\Stk.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst2.vcxproj.filters	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPlugVST.cpp">
+      <Filter>vst2</Filter>
+    </ClCompile>
+    <ClCompile Include="stk\src\SineWave.cpp" />
+    <ClCompile Include="stk\src\Stk.cpp" />
+    <ClCompile Include="stk\src\Envelope.cpp" />
+    <ClCompile Include="stk\src\ADSR.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugVST.h">
+      <Filter>vst2</Filter>
+    </ClInclude>
+    <ClInclude Include="stk\include\Generator.h" />
+    <ClInclude Include="stk\include\SineWave.h" />
+    <ClInclude Include="stk\include\Stk.h" />
+    <ClInclude Include="stk\include\Envelope.h" />
+    <ClInclude Include="stk\include\ADSR.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="vst2">
+      <UniqueIdentifier>{ea16de74-9d15-4c60-ba09-d0924088d3e5}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst2.vcxproj.user	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave  /noexc /noft</LocalDebuggerCommandArguments>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommand>$(VST2_32_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave</LocalDebuggerCommandArguments>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <LocalDebuggerCommand>$(VST2_32_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave</LocalDebuggerCommandArguments>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <LocalDebuggerCommand>$(VST2_32_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave</LocalDebuggerCommandArguments>
+    <LocalDebuggerCommand>$(VST2_64_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave</LocalDebuggerCommandArguments>
+    <LocalDebuggerCommand>$(VST2_64_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath) /noload /nosave</LocalDebuggerCommandArguments>
+    <LocalDebuggerCommand>$(VST2_64_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst3.vcxproj	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,350 @@
+<?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|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|Win32">
+      <Configuration>Tracer</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Tracer|x64">
+      <Configuration>Tracer</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}</ProjectGuid>
+    <RootNamespace>AccessiblePeakMeter</RootNamespace>
+    <ProjectName>AccessiblePeakMeter-vst3</ProjectName>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="AccessiblePeakMeter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental>
+    </LinkIncremental>
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <LinkIncremental />
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <OutDir>build-win\vst3\$(Platform)\bin\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <IntDir>build-win\vst3\$(Platform)\$(Configuration)\</IntDir>
+    <TargetExt>.vst3</TargetExt>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\VST3_SDK\base\win\$(Platform)\$(Configuration)\;$(WDL_PATH)\IPlug\build-win\$(Platform)\$(Configuration)\;$(WDL_PATH)\lice\build-win\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 32bit binary to 32bit VST3 Plugins folder ... ...
+copy /y "$(TargetPath)" "$(VST3_32_PATH)\AccessiblePeakMeter.vst3"</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(DEBUG_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>..\..\VST3_SDK\base\win\$(Platform)\$(Configuration)\;$(x64_LIB_PATHS);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 64bit binary to 64bit VST3 Plugins folder ...
+if exist "%programfiles(x86)%" (copy /y "$(TargetPath)" "$(VST3_64_PATH)\AccessiblePeakMeter.vst3") else (echo Not copying 64bit binary - 32bit OS detected)</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\VST3_SDK\base\win\$(Platform)\$(Configuration)\;$(WDL_PATH)\IPlug\build-win\$(Platform)\$(Configuration)\;$(WDL_PATH)\lice\build-win\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 32bit binary to 32bit VST3 Plugins folder ... ...
+copy /y "$(TargetPath)" "$(VST3_32_PATH)\AccessiblePeakMeter.vst3"</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(RELEASE_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>..\..\VST3_SDK\base\win\$(Platform)\$(Configuration)\;$(x64_LIB_PATHS);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 64bit binary to 64bit VST3 Plugins folder ...
+if exist "%programfiles(x86)%" (copy /y "$(TargetPath)" "$(VST3_64_PATH)\AccessiblePeakMeter.vst3") else (echo Not copying 64bit binary - 32bit OS detected)</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(WDL_PATH)\lice\build-win\$(Platform)\Release\;..\..\VST3_SDK\base\win\$(Platform)\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 32bit binary to 32bit VST3 Plugins folder ... ...
+copy /y "$(TargetPath)" "$(VST3_32_PATH)\AccessiblePeakMeter.vst3"</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(VST3_DEFS);$(TRACER_DEFS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>$(VST3_INCLUDES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>$(x64_LIB_PATHS);$(WDL_PATH)\lice\build-win\$(Platform)\Release\;..\..\VST3_SDK\base\win\$(Platform)\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>base.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>$(WDL_PATH)\IPlug\IPlugVST3.def</ModuleDefinitionFile>
+    </Link>
+    <PostBuildEvent>
+      <Command>echo Post-Build: copy 64bit binary to 64bit VST3 Plugins folder ...
+if exist "%programfiles(x86)%" (copy /y "$(TargetPath)" "$(VST3_64_PATH)\AccessiblePeakMeter.vst3") else (echo Not copying 64bit binary - 32bit OS detected)</Command>
+      <Message>Copy VST3 Binary to VST3 Plugins folder</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\falignpop.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\falignpush.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\fplatform.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ftypes.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\funknown.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ipluginbase.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\keycodes.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ustring.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\gui\iplugview.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstattributes.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstaudioprocessor.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstcomponent.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivsteditcontroller.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstevents.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivsthostapplication.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstmessage.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstmidicontrollers.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstparameterchanges.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstprocesscontext.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstunits.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\vstpresetkeys.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\vsttypes.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\common\pluginview.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\main\pluginfactoryvst3.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstaudioeffect.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstbus.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponent.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponentbase.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vsteditcontroller.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstparameters.h" />
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstsinglecomponenteffect.h" />
+    <ClInclude Include="..\..\WDL\IPlug\IPlugVST3.h" />
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\VST3_SDK\pluginterfaces\base\funknown.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\pluginterfaces\base\ustring.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\common\pluginview.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\main\dllmain.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\main\pluginfactoryvst3.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstaudioeffect.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstbus.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponent.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponentbase.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstinitiids.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstparameters.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstsinglecomponenteffect.cpp" />
+    <ClCompile Include="..\..\WDL\IPlug\IPlugVST3.cpp" />
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst3.vcxproj.filters	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="AccessiblePeakMeter.cpp" />
+    <ClCompile Include="..\..\VST3_SDK\pluginterfaces\base\funknown.cpp">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\pluginterfaces\base\ustring.cpp">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\common\pluginview.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstaudioeffect.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstbus.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponent.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponentbase.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstinitiids.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstparameters.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\main\dllmain.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\main</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\main\pluginfactoryvst3.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\main</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\VST3_SDK\public.sdk\source\vst\vstsinglecomponenteffect.cpp">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\WDL\IPlug\IPlugVST3.cpp">
+      <Filter>vst3</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="AccessiblePeakMeter.h" />
+    <ClInclude Include="resource.h" />
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\falignpop.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\falignpush.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\fplatform.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ftypes.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\funknown.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ipluginbase.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\keycodes.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\base\ustring.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\base</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstattributes.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstaudioprocessor.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstcomponent.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivsteditcontroller.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstevents.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivsthostapplication.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstmessage.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstmidicontrollers.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstparameterchanges.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstprocesscontext.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\ivstunits.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\vstpresetkeys.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\vst\vsttypes.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\pluginterfaces\gui\iplugview.h">
+      <Filter>vst3\VST3SDK\pluginterfaces\gui</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\common\pluginview.h">
+      <Filter>vst3\VST3SDK\public.sdk\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstaudioeffect.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstbus.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponent.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstcomponentbase.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vsteditcontroller.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstparameters.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\main\pluginfactoryvst3.h">
+      <Filter>vst3\VST3SDK\public.sdk\main</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\VST3_SDK\public.sdk\source\vst\vstsinglecomponenteffect.h">
+      <Filter>vst3\VST3SDK\public.sdk\vst</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\WDL\IPlug\IPlugVST3.h">
+      <Filter>vst3</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="vst3">
+      <UniqueIdentifier>{0028f8fa-40ce-4098-b1d7-1930d1a7774b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK">
+      <UniqueIdentifier>{d33dc1fa-0b31-40b9-a240-b065db740979}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\pluginterfaces">
+      <UniqueIdentifier>{1da1c979-a505-4558-b877-1a2da0e4e758}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\pluginterfaces\base">
+      <UniqueIdentifier>{cf0c95d2-7b5a-4afa-8a3e-546800d9b337}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\pluginterfaces\vst">
+      <UniqueIdentifier>{babb4a18-d1d6-467e-af1c-fb852400f591}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\pluginterfaces\gui">
+      <UniqueIdentifier>{a0598a21-18c6-4da8-98a8-bebbf0f37b34}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\public.sdk">
+      <UniqueIdentifier>{bc78847c-a41c-4ad7-8a8e-2ea825bc2f8e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\public.sdk\common">
+      <UniqueIdentifier>{23863805-5085-4669-8675-167aba1f0fc9}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\public.sdk\vst">
+      <UniqueIdentifier>{00ff2592-e5ef-4ab1-8b06-c42242d80c52}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="vst3\VST3SDK\public.sdk\main">
+      <UniqueIdentifier>{ec7b025c-4ef1-4403-956b-b3673b4715b8}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessiblePeakMeter.rc" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter-vst3.vcxproj.user	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerCommand>$(VST3_32_HOST_PATH)</LocalDebuggerCommand>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerCommand>$(VST3_32_HOST_PATH)</LocalDebuggerCommand>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|Win32'">
+    <LocalDebuggerCommand>$(VST3_32_HOST_PATH)</LocalDebuggerCommand>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerCommand>$(VST3_64_HOST_PATH)</LocalDebuggerCommand>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <LocalDebuggerCommandArguments>$(TargetPath)</LocalDebuggerCommandArguments>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Tracer|x64'">
+    <LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.cbp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+	<FileVersion major="1" minor="6" />
+	<Project>
+		<Option title="AccessiblePeakMeter" />
+		<Option pch_mode="2" />
+		<Option compiler="gcc" />
+		<Build>
+			<Target title="Debug Win32">
+				<Option output="build-win-cb\AccessiblePeakMeter" prefix_auto="1" extension_auto="1" />
+				<Option working_dir="build-win-cb\" />
+				<Option object_output="build-win-cb\Debug\" />
+				<Option type="3" />
+				<Option compiler="gcc" />
+				<Option parameters="AccessiblePeakMeter.dll" />
+				<Option host_application="C:\Program Files\vsthost\vsthost.exe" />
+				<Compiler>
+					<Add option="-g" />
+					<Add option="-DVST_API" />
+					<Add option="-DWIN32" />
+					<Add option="-D_WIN32_WINNT=0x0501" />
+					<Add option="-DWINVER=0x0501" />
+					<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
+					<Add option="-D_DEBUG" />
+					<Add option="-DPNG_NO_ASSEMBLER_CODE" />
+					<Add option="-DPNG_LIBPNG_SPECIALBUILD" />
+					<Add option="-DDLL_BUILD" />
+				</Compiler>
+			</Target>
+			<Target title="Release Win32">
+				<Option output="build-win-cb\AccessiblePeakMeter" prefix_auto="1" extension_auto="1" />
+				<Option working_dir="build-win-cb\" />
+				<Option object_output="build-win-cb\Release" />
+				<Option type="3" />
+				<Option compiler="gcc" />
+				<Option parameters="AccessiblePeakMeter.dll" />
+				<Option host_application="C:\Program Files\vsthost\vsthost.exe" />
+				<Compiler>
+					<Add option="-O2" />
+					<Add option="-msse2" />
+					<Add option="-ffast-math" />
+					<Add option="-DVST_API" />
+					<Add option="-DWIN32" />
+					<Add option="-D_WIN32_WINNT=0x0501" />
+					<Add option="-DWINVER=0x0501" />
+					<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
+					<Add option="-DPNG_NO_ASSEMBLER_CODE" />
+					<Add option="-DPNG_LIBPNG_SPECIALBUILD" />
+					<Add option="-DDLL_BUILD" />
+					<Add option="-DNDEBUG" />
+				</Compiler>
+			</Target>
+			<Target title="Tracer Win32">
+				<Option output="build-win-cb\AccessiblePeakMeter" prefix_auto="1" extension_auto="1" />
+				<Option working_dir="build-win-cb\" />
+				<Option object_output="build-win-cb\Tracer" />
+				<Option type="3" />
+				<Option compiler="gcc" />
+				<Option parameters="AccessiblePeakMeter.dll" />
+				<Option host_application="C:\Program Files\vsthost\vsthost.exe" />
+				<Compiler>
+					<Add option="-DTRACER_BUILD" />
+					<Add option="-DVST_API" />
+					<Add option="-DWIN32" />
+					<Add option="-D_WIN32_WINNT=0x0501" />
+					<Add option="-DWINVER=0x0501" />
+					<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
+				</Compiler>
+			</Target>
+		</Build>
+		<Compiler>
+			<Add option="-Wno-write-strings" />
+			<Add option="-DVST_FORCE_DEPRECATED" />
+			<Add directory="..\..\WDL\IPlug" />
+			<Add directory="." />
+			<Add directory="..\..\VST_SDK\" />
+			<Add directory="..\..\WDL\zlib" />
+			<Add directory="..\..\WDL\lice" />
+			<Add directory="..\..\WDL\libpng" />
+		</Compiler>
+		<ResourceCompiler>
+			<Add directory=".\" />
+		</ResourceCompiler>
+		<Linker>
+			<Add library="libkernel32" />
+			<Add library="libwininet" />
+			<Add library="libuser32" />
+			<Add library="libgdi32" />
+			<Add library="libwinspool" />
+			<Add library="libcomdlg32" />
+			<Add library="libadvapi32" />
+			<Add library="libshell32" />
+			<Add library="libole32" />
+			<Add library="libuuid" />
+			<Add library="libodbc32" />
+			<Add library="libodbccp32" />
+			<Add library="liboleaut32" />
+		</Linker>
+		<Unit filename="AccessiblePeakMeter.cpp" />
+		<Unit filename="AccessiblePeakMeter.h" />
+		<Unit filename="AccessiblePeakMeter.rc">
+			<Option compilerVar="WINDRES" />
+		</Unit>
+		<Unit filename="resource.h" />
+		<Unit filename="..\..\WDL\IPlug\Containers.h" />
+		<Unit filename="..\..\WDL\IPlug\Hosts.cpp" />
+		<Unit filename="..\..\WDL\IPlug\Hosts.h" />
+		<Unit filename="..\..\WDL\IPlug\IControl.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IControl.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphics.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IGraphics.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsCarbon.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsCocoa.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsCocoa.mm" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsLice.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsMac.h" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsMac.mm" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsWin.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IGraphicsWin.h" />
+		<Unit filename="..\..\WDL\IPlug\IParam.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IParam.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlugBase.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IPlugBase.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlugOSDetect.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlugStructs.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IPlugStructs.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlugVST.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IPlugVST.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlug_Prefix.pch" />
+		<Unit filename="..\..\WDL\IPlug\IPlug_include_in_plug_hdr.h" />
+		<Unit filename="..\..\WDL\IPlug\IPlug_include_in_plug_src.h" />
+		<Unit filename="..\..\WDL\IPlug\IPopupMenu.cpp" />
+		<Unit filename="..\..\WDL\IPlug\IPopupMenu.h" />
+		<Unit filename="..\..\WDL\IPlug\Log.cpp" />
+		<Unit filename="..\..\WDL\IPlug\Log.h" />
+		<Unit filename="..\..\WDL\IPlug\VSTHosts.h" />
+		<Unit filename="..\..\WDL\libpng\png.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\png.h" />
+		<Unit filename="..\..\WDL\libpng\pngconf.h" />
+		<Unit filename="..\..\WDL\libpng\pngerror.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngget.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngmem.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngpread.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngread.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngrio.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngrtran.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngrutil.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngset.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngtrans.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngwio.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngwrite.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngwtran.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\libpng\pngwutil.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\lice\lice.cpp" />
+		<Unit filename="..\..\WDL\lice\lice.h" />
+		<Unit filename="..\..\WDL\lice\lice_arc.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_bezier.h" />
+		<Unit filename="..\..\WDL\lice\lice_colorspace.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_combine.h" />
+		<Unit filename="..\..\WDL\lice\lice_extended.h" />
+		<Unit filename="..\..\WDL\lice\lice_image.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_line.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_palette.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_png.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_texgen.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_text.cpp" />
+		<Unit filename="..\..\WDL\lice\lice_text.h" />
+		<Unit filename="..\..\WDL\lice\lice_textnew.cpp" />
+		<Unit filename="..\..\WDL\zlib\adler32.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\compress.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\crc32.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\crc32.h" />
+		<Unit filename="..\..\WDL\zlib\deflate.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\deflate.h" />
+		<Unit filename="..\..\WDL\zlib\infback.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\inffast.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\inffast.h" />
+		<Unit filename="..\..\WDL\zlib\inffixed.h" />
+		<Unit filename="..\..\WDL\zlib\inflate.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\inflate.h" />
+		<Unit filename="..\..\WDL\zlib\inftrees.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\inftrees.h" />
+		<Unit filename="..\..\WDL\zlib\ioapi.h" />
+		<Unit filename="..\..\WDL\zlib\trees.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\trees.h" />
+		<Unit filename="..\..\WDL\zlib\uncompr.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\unzip.h" />
+		<Unit filename="..\..\WDL\zlib\zconf.h" />
+		<Unit filename="..\..\WDL\zlib\zconf.in.h" />
+		<Unit filename="..\..\WDL\zlib\zlib.h" />
+		<Unit filename="..\..\WDL\zlib\zutil.c">
+			<Option compilerVar="CC" />
+		</Unit>
+		<Unit filename="..\..\WDL\zlib\zutil.h" />
+		<Extensions>
+			<code_completion />
+			<debugger />
+		</Extensions>
+	</Project>
+</CodeBlocks_project_file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,386 @@
+// 
+// AccessiblePeakMeter.cpp 
+//
+// Author: Fiore Martin 
+// Started from IPlugMultiTargets example in WDL-OL, by Oli Larkin - https://github.com/olilarkin/wdl-ol
+//
+// Licensed under the Cockos WDL License, see README.txt
+//
+
+
+#include "AccessiblePeakMeter.h"
+#include "IPlug_include_in_plug_src.h"
+#include "resource.h"
+
+
+#include "IControl.h"
+#include "IBitmapMonoText.h"
+#include "AccessiblePeakMeter_controls.h"
+
+
+inline double midi2Freq(int note) {
+	return 440. * pow(2., (note - 69.) / 12.);
+}
+
+double toDBMeter(double val, double range)
+{
+	double db;
+	if (val > 0)
+		db = ::AmpToDB(val);
+	else
+		db = -999;
+	return BOUNDED((db + 60) / range,0,1);
+}
+
+/* reference points for controls layout, by changing these numbers only
+the widgets can be moved around and all the other bits (top/left/right
+borders, labels etc.) will follow. X and Y refer to the top-left coord  */
+enum ELayout {
+	lDryX = 20,
+	lDryY = 10,
+	lWetX = 85,
+	lWetY = 10,
+
+	lFaderLen = 190,
+	lPeakMeterX = 180,
+	lPeaklMeterY = 30,
+
+	lSonifTypeX = 20,
+	lSonifTypeY = 200,
+
+	lDecayRateX = 20,
+	lDecayRateY = 90
+};
+
+
+enum EParams
+{
+	kDry = 0,
+	kWet,
+	kThreshold,
+	kSonificationType,
+	kMeterDecayRate,
+	kNumParams
+};
+
+
+AccessiblePeakMeter::AccessiblePeakMeter(IPlugInstanceInfo instanceInfo)
+  : IPLUG_CTOR(kNumParams, NUM_PRESETS, instanceInfo),
+  mDry(DRYWET_DEFAULT),
+  mWet(DRYWET_DEFAULT),
+  mMeterDecayRate(1.0),
+  mSampleRate(44100.),
+  mThreshold(1.0)
+{
+  TRACE;
+  
+  for (int i = 0; i < MAX_CHANNELS; i++) {
+	  mPrevPeak[i] = 0.0;
+  }
+
+  //arguments are: name, defaultVal, minVal, maxVal, step, label
+  GetParam(kDry)->InitDouble("Dry", -6., -61.0, 0., 0.2, "dB");
+  GetParam(kDry)->SetDisplayText(-61.0, " -inf");
+  GetParam(kWet)->InitDouble("Wet", -6., -61.0, 0., 0.2, "dB");
+  GetParam(kWet)->SetDisplayText(-61.0, " -inf");
+  GetParam(kThreshold)->InitDouble("Threshold", 0.0, -60.0, 6.2, 0.2, "dB"); 
+  GetParam(kSonificationType)->InitEnum("Meter Type", METERTYPE_DEFAULT, 2);
+  GetParam(kSonificationType)->SetDisplayText(SONIFICATION_TYPE_CONTINUOUS, "Continuous");
+  GetParam(kSonificationType)->SetDisplayText(SONIFICATION_TYPE_CLIPPING, "Clipping");
+  GetParam(kMeterDecayRate)->InitDouble("Decay", 1.0, 0.05, 1.0, 0.05, "sec."); 
+  
+  IGraphics* pGraphics = MakeGraphics(this, GUI_WIDTH, GUI_HEIGHT);
+  pGraphics->AttachBackground(BG_ID, BG_FN);
+
+  /* load bitmaps for fader, knob and switch button */
+  IBitmap knob = pGraphics->LoadIBitmap(KNOB_ID, KNOB_FN, NUM_KNOB_FRAMES);
+  IBitmap faderBmap = pGraphics->LoadIBitmap(FADER_ID, FADER_FN);
+  IBitmap aSwitch = pGraphics->LoadIBitmap(SWITCH_ID, SWITCH_FN,2);
+
+  /* text has info about the font-size, font-type etc. */
+  IText text = IText(14);
+
+  /* attach sonification type switch to the GUI */
+  pGraphics->AttachControl(new ISwitchPopUpControl(this, lSonifTypeX ,lSonifTypeY, kSonificationType, &aSwitch));
+  pGraphics->AttachControl(new ITextControl(this, IRECT(lSonifTypeX+10, lSonifTypeY - 20, lSonifTypeX + 110, lSonifTypeY ), &text, "Sonification Type"));
+  
+  /* attach dry and wet knobs to GUI */
+  pGraphics->AttachControl(new IKnobMultiControlText(this, IRECT(lDryX, lDryY, lDryX + 52, lDryY + 48 + 19 + 19 ), kDry, &knob, &text, 27)); // 48 for image, 19 for text 
+  pGraphics->AttachControl(new IKnobMultiControlText(this, IRECT(lWetX, lWetY, lWetX + 52, lWetY + 48 + 19 + 19), kWet, &knob, &text, 27));
+
+  /* attach decay rate knob to the GUI */
+  pGraphics->AttachControl(new IKnobMultiControlText(this, IRECT(lDecayRateX, lDecayRateY, lDecayRateX + 48 , lDecayRateY + 48 + 19 + 19 ), kMeterDecayRate, &knob, &text, 33));
+
+  /* attach fader display, which shows the fader value, to GUI */
+  ITextControl *faderText = new ITextControl(this, IRECT(lPeakMeterX+60, lPeaklMeterY + lFaderLen, lPeakMeterX + faderBmap.W + 95, lPeaklMeterY + lFaderLen + 20), &text);
+  pGraphics->AttachControl(faderText);
+
+  /* attach the fader to GUI */
+  pGraphics->AttachControl(new IFaderVertText(this, lPeakMeterX, lPeaklMeterY, lFaderLen, kThreshold, &faderBmap, faderText));
+
+  pGraphics->AttachControl(new ITextControl(this, IRECT(lPeakMeterX, lPeaklMeterY - 20, lPeakMeterX + 100, lPeaklMeterY), &text, "Peak Level Meter"));
+  pGraphics->AttachControl(new ITextControl(this, IRECT(lPeakMeterX-20, lPeaklMeterY + lFaderLen, lPeakMeterX + 75, lPeaklMeterY + lFaderLen + 20), &text, "Threshold: "));
+
+  /* attach peak meters to GUI. 
+   Half the bitmap height is added to the peak meters on both top and bottom to prevent the
+   triangular fader from going past the peak meters span 
+   */
+  const int halfFaderBmapLen = faderBmap.W / 2;
+  mMeterIdx[0] = pGraphics->AttachControl(new IPeakMeterVert(this, 
+	  IRECT(lPeakMeterX + 25, lPeaklMeterY + halfFaderBmapLen, lPeakMeterX + 45, lPeaklMeterY + 170 + halfFaderBmapLen), GetParam(kThreshold)->GetDefaultNormalized()));
+  mMeterIdx[1] = pGraphics->AttachControl(new IPeakMeterVert(this,
+	  IRECT(lPeakMeterX + 50, lPeaklMeterY + halfFaderBmapLen, lPeakMeterX + 70, lPeaklMeterY + lFaderLen - halfFaderBmapLen), GetParam(kThreshold)->GetDefaultNormalized()));
+
+  AttachGraphics(pGraphics);
+
+  /* add presets */
+  MakePreset("Detect Clipping", DRYWET_DEFAULT, DRYWET_DEFAULT, THRESHOLD_DEFAULT, SONIFICATION_TYPE_CLIPPING, METERDECAY_DEFAULT);
+  MakePreset("Sonify Audio", DRYWET_DEFAULT, DRYWET_DEFAULT, THRESHOLD_DEFAULT, SONIFICATION_TYPE_CONTINUOUS, METERDECAY_DEFAULT);
+}
+
+AccessiblePeakMeter::~AccessiblePeakMeter() {}
+
+
+void AccessiblePeakMeter::ProcessDoubleReplacing(double** inputs, double** outputs, int nFrames)
+{
+	if(mSonification.type == SONIFICATION_TYPE_CONTINUOUS) {
+		 addContinuousSonification(inputs, outputs, nFrames);
+	} else {
+		addClippingSonification(inputs, outputs, nFrames);
+	}
+}
+
+
+void AccessiblePeakMeter::Reset()
+{
+  TRACE;
+  IMutexLock lock(this);
+
+  mSampleRate = GetSampleRate();
+  
+  mSonification.reset(mSampleRate);
+
+  for (int i = 0; i < MAX_CHANNELS; i++) {
+      mPrevPeak[i] = 0.0;	  
+  }
+  
+}
+
+void AccessiblePeakMeter::OnParamChange(int paramIdx)
+{
+  IMutexLock lock(this);
+
+  switch (paramIdx)
+  {
+	case kDry:
+		/* if the level goes below 60.5 dB, just bring it to silence */
+		if (GetParam(kDry)->Value() < -60.5 ){
+			mDry = 0.0;
+		}
+		else {
+			mDry = ::DBToAmp(GetParam(kDry)->Value());
+		}
+		break;
+
+	case kWet:
+		if (GetParam(kWet)->Value() < -60.5){
+			mWet = 0.0;
+		}
+		else{
+			mWet = ::DBToAmp(GetParam(kWet)->Value());
+		}
+	  break;
+
+    case kThreshold:
+		mThreshold = GetParam(kThreshold)->DBToAmp();
+      break;
+
+	case kMeterDecayRate :
+		mMeterDecayRate = 1.0 / GetParam(kMeterDecayRate)->Value();
+	  break;
+
+	case kSonificationType:
+		mSonification.type = GetParam(kSonificationType)->Int();
+		
+		mSonification.reset();
+
+		for (int i = 0; i < MAX_CHANNELS; i++) {
+			mPrevPeak[i] = 0.0;
+			mSonification.ugen[i].setFrequency(mSonification.type == SONIFICATION_TYPE_CLIPPING ? 440.0 : 0.0);
+		}
+		break;
+
+    default:
+      break;
+  }
+}
+
+void AccessiblePeakMeter::addClippingSonification(double** inputs, double** outputs, int nFrames) {
+	// Mutex is already locked for us.
+
+	for (unsigned int channel = 0; channel < NInChannels(); channel++) {
+		double* in = inputs[channel];
+		double* out = outputs[channel];
+		double peak = 0.0;
+
+		/* find the max absolute value in the block of samples */
+		for (int offset = 0; offset < nFrames; ++offset, ++in, ++out) {
+			const double ampl = fabs(*in); // amplitude
+			peak = IPMAX(peak, ampl); // find max peak for this block 
+			
+			if (ampl > mThreshold) {
+				/* find the clipping amount in dB */
+				double clippingDiff = fabs(::AmpToDB(ampl) - ::AmpToDB(mThreshold));
+
+				/* clipDiff will be rounded downward later, but if it's very very 
+				   close to the ceil, then let it be the ceil.
+				 */
+				const double ceilClippingDiff = ceil(clippingDiff);
+				if (ceilClippingDiff - clippingDiff < CLIPPING_CEILING_SNAP){
+					clippingDiff = ceilClippingDiff;
+				}
+
+				if (clippingDiff > mSonification.clipping.maxDiff[channel]){
+					/* bound the difference to 12 semitones to prevent the sonification from going too high */
+					mSonification.clipping.maxDiff[channel] = BOUNDED(clippingDiff, 0.0, 12.0);
+				}
+				
+				/* sonify the difference between the amplitude and threshold *
+				* one db (rounded downward) is one tone, up to one octave (12 semitones)        */
+				mSonification.ugen[channel].setFrequency(midi2Freq(69 + (int)(mSonification.clipping.maxDiff[channel])));
+				mSonification.clipping.envelope[channel].keyOn();
+			}
+
+			/* when attack is done switch immediately to RELEASE (keyOff) *
+			 * so it goes like: attack->release->silence                  */
+			if (mSonification.clipping.envelope[channel].getState() == stk::ADSR::DECAY) {
+				mSonification.clipping.envelope[channel].keyOff();
+			}
+
+			/* add the sonification to the mix */
+			if (mSonification.clipping.envelope[channel].getState() == stk::ADSR::ATTACK || 
+					mSonification.clipping.envelope[channel].getState() == stk::ADSR::RELEASE) {
+				const double env = mSonification.clipping.envelope[channel].tick();
+				const double tick = mSonification.ugen[channel].tick() * env;
+				*out = mix(*in, tick);
+			} else { // no sonification
+				mSonification.clipping.maxDiff[channel] = 0.0; // reset max clipping diff 
+				*out = mix(*in, 0.0); // still honours the user's knobs settings
+			}
+		}
+
+		/* now draw the peak meter with the maximum of this block of samples */
+
+		const double deltaT = nFrames / mSampleRate;
+		const double decayAmount = deltaT * mMeterDecayRate;
+
+		peak = ::toDBMeter(peak, DB_RANGE);
+
+		/* max between new peak and old peak decay wins */
+		peak = IPMAX(peak, mPrevPeak[channel] - decayAmount);
+		
+		/* save the peak for next block of samples */
+		mPrevPeak[channel] = peak;
+		
+		/* update the GUI */
+		if (GetGUI()) {
+			GetGUI()->SetControlFromPlug(mMeterIdx[channel], peak);
+		}
+	}
+	
+}
+
+void AccessiblePeakMeter::addContinuousSonification(double** inputs, double** outputs, int nFrames) {
+	// Mutex is already locked for us.
+	
+	const int nChannels = NInChannels();
+
+	const double deltaT = nFrames / mSampleRate;
+	const double decayAmount = deltaT * mMeterDecayRate;
+
+	for (int channel = 0; channel < nChannels; channel++){
+		double peak = 0.0;
+		double *in = inputs[channel];
+
+		/* find the max absolute value in the block of samples */
+		for (int offset = 0; offset < nFrames; ++offset, ++in) {
+			peak = IPMAX(peak, fabs(*in));
+		}
+
+		/* pick the max between new audio and peak meter decaying */
+		peak = ::toDBMeter(peak, DB_RANGE);
+		peak = IPMAX(peak, mPrevPeak[channel] - decayAmount); 
+
+		/* set the sonification frequency according to the last peak value */
+		const double sonifFreq = SONIFICATION_RANGE * peak;
+		mSonification.ugen[channel].setFrequency(sonifFreq);
+
+		/* If level goes below audible level just hush the sonification.    *
+		 * this avoids DC offset when sonification frequency gets too low.  * 
+		 * Uses an envelope to bring the sonification volume down smoothly 
+		 */
+		if (sonifFreq < MIN_SONIFICATION_FREQ){
+			/* turn the sonification off, if it's not off already */
+			if (mSonification.continous.isOn[channel]){
+				mSonification.continous.isOn[channel] = false;
+				mSonification.continous.envelope[channel].setTarget(0.0);
+			}
+		}
+		else if (!mSonification.continous.isOn[channel]){
+			/* if the sonification frequency goes past MIN_SONIFICATION_FREQ *
+			   turn it on again unless it's already on                       */
+			mSonification.continous.envelope[channel].setValue(1.0);
+			mSonification.continous.isOn[channel] = true;
+		}
+
+		in = inputs[channel];
+		double *out = outputs[channel];
+		/* add peak meter line continuous sonification to output */
+		for (int offset = 0; offset < nFrames; ++offset, ++in, ++out) {
+			double tick = mSonification.ugen[channel].tick();
+			tick *= mSonification.continous.envelope[channel].tick(); // apply envelope 
+			/* write the output buffer: mix original audio + sonification */
+			*out = mix(*in, tick);
+		}
+
+		/* save the peaks for next block of samples */
+		mPrevPeak[channel] = peak;
+
+		/* update the GUI */
+		if (GetGUI()) {
+			GetGUI()->SetControlFromPlug(mMeterIdx[channel], peak);
+		}
+	}
+}
+
+//Called by the standalone wrapper if someone clicks about
+bool AccessiblePeakMeter::HostRequestingAboutBox()
+{
+  IMutexLock lock(this);
+  if(GetGUI())
+  {
+	// do nothing 
+  }
+  return true;
+}
+
+
+// -------------- static variables init -------------
+
+const double AccessiblePeakMeter::DRYWET_DEFAULT = -6.0;
+const int AccessiblePeakMeter::METERTYPE_DEFAULT = 1;
+const double AccessiblePeakMeter::METERDECAY_DEFAULT = 60.0;
+const double AccessiblePeakMeter::THRESHOLD_DEFAULT = 0.0;
+
+const double AccessiblePeakMeter::DB_RANGE = 66.0;
+const double AccessiblePeakMeter::SONIFICATION_RANGE = 2000;
+const int AccessiblePeakMeter::SONIFICATION_TYPE_CLIPPING = 1;
+const int AccessiblePeakMeter::SONIFICATION_TYPE_CONTINUOUS = 0;
+const double AccessiblePeakMeter::BEEP_TIME = 0.2;
+const double AccessiblePeakMeter::MIN_SONIFICATION_FREQ = 20.0;
+const double AccessiblePeakMeter::CLIPPING_CEILING_SNAP = 0.05;
+
+const int AccessiblePeakMeter::NUM_KNOB_FRAMES = 60;
+const int AccessiblePeakMeter::NUM_PRESETS = 2;
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.exp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,2 @@
+_AccessiblePeakMeter_Entry
+_AccessiblePeakMeter_ViewEntry
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,129 @@
+// 
+// AccessiblePeakMeter.h 
+//
+// Author: Fiore Martin 
+// Started from IPlugMultiTargets example in WDL-OL, by Oli Larkin - https://github.com/olilarkin/wdl-ol
+//
+// Licensed under the Cockos WDL License, see README.txt
+//
+
+
+#ifndef __ACCESSIBLEPEAKMETER__
+#define __ACCESSIBLEPEAKMETER__
+
+#include "IPlug_include_in_plug_hdr.h"
+
+#include "stk/include/SineWave.h"
+#include "stk/include/Envelope.h"
+#include "stk/include/ADSR.h"
+
+
+class AccessiblePeakMeter : public IPlug
+{
+public:
+
+	AccessiblePeakMeter(IPlugInstanceInfo instanceInfo);
+	~AccessiblePeakMeter();
+
+	void Reset();
+	void OnParamChange(int paramIdx);
+	void ProcessDoubleReplacing(double** inputs, double** outputs, int nFrames);
+	bool HostRequestingAboutBox();
+
+private:
+	static const double DRYWET_DEFAULT;
+	static const int METERTYPE_DEFAULT;
+	static const double METERDECAY_DEFAULT;
+	static const double THRESHOLD_DEFAULT;
+	static const double BEEP_TIME;
+	static const double DB_RANGE;
+	static const double SONIFICATION_RANGE;
+	static const int SONIFICATION_TYPE_CLIPPING;
+	static const int SONIFICATION_TYPE_CONTINUOUS;
+	static const int MAX_CHANNELS = 2;
+	static const int NUM_PRESETS;
+	static const double MIN_SONIFICATION_FREQ;
+	static const int NUM_KNOB_FRAMES;
+	static const double CLIPPING_CEILING_SNAP;
+
+	/* parameters on GUI */
+	double mDry;
+	double mWet;
+	double mMeterDecayRate;
+	double mThreshold;
+
+	double mSampleRate;
+	
+	/* paramters for peak level meter */
+	double mPrevPeak[MAX_CHANNELS];
+	int mMeterIdx[MAX_CHANNELS];
+	
+	/* 	struct Sonification is the sonification engine. It has two substructures containing
+	    data specific to each type (clipping/continuous) 	
+	 */
+	struct Sonification {
+		int type; // type of sonification : clipping - continous
+		stk::SineWave ugen[MAX_CHANNELS]; // generator for both types of sonification
+
+		struct Continous {
+			/* this envelope is to turn off the countinuous sonification smoothly
+			   without clicks. It's always 1, unless the sonification is being turned off. 
+			 */
+			stk::Envelope envelope[MAX_CHANNELS];
+			bool isOn[MAX_CHANNELS];
+		} continous;
+
+		struct Clipping {
+			/* max diff is used to keep the pitch more consistent over different blocks 
+			   with maxDiff the beep sounds better cause is not constantly pitch modulated */
+			double maxDiff[MAX_CHANNELS];
+			stk::ADSR envelope[MAX_CHANNELS];
+		} clipping;
+
+		/* resets all the ugens. When srate is less than 0, type and ugen freq are 
+		   not affected by resetas well as sample rate.   
+		 */
+		void reset(double srate = -1.0){
+
+			for (int i = 0; i < MAX_CHANNELS; i++){
+
+				ugen[i].reset();
+
+				continous.isOn[i] = true;
+				stk::Envelope & coe = continous.envelope[i];
+				coe.setValue(1.0); // setValue also sets the target to the value 
+				coe.setTime(0.2);
+				
+				clipping.maxDiff[i] = 0.0;
+				stk::ADSR & cle = clipping.envelope[i];
+				cle.setValue(0.0);
+				cle.setReleaseTime(BEEP_TIME);
+				cle.setAttackTime(0.01);
+				cle.setSustainLevel(1);
+
+				if (srate > 0.0){
+					ugen[i].setSampleRate(srate);
+					coe.setSampleRate(srate);
+					cle.setSampleRate(srate);
+				}
+			}
+		}
+
+		Sonification() : type(METERTYPE_DEFAULT) {
+			reset();
+		}
+
+	} mSonification;
+
+	/* adds continous sonification on top of the original audio signal */
+	void addContinuousSonification(double** inputs, double** outputs, int nFrames);
+	/* adds clipping sonification on top of the original audio signal */
+	void addClippingSonification(double** inputs, double** outputs, int nFrames);
+	/* for dry/wet mix */
+	inline double mix(double dry, double wet) const{
+		return dry * mDry + wet * mWet;
+	}
+};
+
+
+#endif //__ACCESSIBLEPEAKMETER__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.props	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="..\..\common.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <BINARY_NAME>AccessiblePeakMeter</BINARY_NAME>
+    <APP_DEFS>SA_API;__WINDOWS_DS__;__WINDOWS_MM__;__WINDOWS_ASIO__;</APP_DEFS>
+    <VST_DEFS>VST_API;VST_FORCE_DEPRECATED;</VST_DEFS>
+    <VST3_DEFS>VST3_API</VST3_DEFS>
+    <DEBUG_DEFS>_DEBUG;</DEBUG_DEFS>
+    <RELEASE_DEFS>NDEBUG;</RELEASE_DEFS>
+    <TRACER_DEFS>TRACER_BUILD;NDEBUG;</TRACER_DEFS>
+    <ADDITIONAL_INCLUDES>$(ProjectDir)\..\..\..\MyDSP\;</ADDITIONAL_INCLUDES>
+    <APP_INCLUDES>..\..\ASIO_SDK;..\..\WDL\rtaudiomidi;</APP_INCLUDES>
+    <APP_LIBS>dsound.lib;winmm.lib;Comctl32.lib;</APP_LIBS>
+    <VST3_INCLUDES>..\..\VST3_SDK;</VST3_INCLUDES>
+    <AAX_INCLUDES>.\..\..\AAX_SDK\Interfaces;.\..\..\AAX_SDK\Interfaces\ACF;.\..\..\WDL\IPlug\AAX</AAX_INCLUDES>
+    <AAX_DEFS>AAX_API;_WINDOWS;WIN32;_WIN32;WINDOWS_VERSION;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE</AAX_DEFS>
+    <AAX_LIBS>lice.lib;wininet.lib;odbc32.lib;odbccp32.lib;psapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comctl32.lib;</AAX_LIBS>
+    <RTAS_INCLUDES>.\..\..\WDL\IPlug\RTAS;.\</RTAS_INCLUDES>
+    <RTAS_DEFS>RTAS_API;_HAS_ITERATOR_DEBUGGING=0;_SECURE_SCL=0;_WINDOWS;WIN32;_WIN32;WINDOWS_VERSION;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE</RTAS_DEFS>
+    <RTAS_LIBS>comdlg32.lib;uuid.lib;msimg32.lib;odbc32.lib;odbccp32.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib</RTAS_LIBS>
+  </PropertyGroup>
+  <PropertyGroup>
+    <TargetName>$(BINARY_NAME)</TargetName>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(ADDITIONAL_INCLUDES);..\..\WDL;..\..\WDL\lice;..\..\WDL\IPlug</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>IPlug.lib;lice.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <BuildMacro Include="BINARY_NAME">
+      <Value>$(BINARY_NAME)</Value>
+    </BuildMacro>
+    <BuildMacro Include="APP_DEFS">
+      <Value>$(APP_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="VST_DEFS">
+      <Value>$(VST_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="VST3_DEFS">
+      <Value>$(VST3_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="DEBUG_DEFS">
+      <Value>$(DEBUG_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="RELEASE_DEFS">
+      <Value>$(RELEASE_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="TRACER_DEFS">
+      <Value>$(TRACER_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ADDITIONAL_INCLUDES">
+      <Value>$(ADDITIONAL_INCLUDES)</Value>
+    </BuildMacro>
+    <BuildMacro Include="APP_INCLUDES">
+      <Value>$(APP_INCLUDES)</Value>
+    </BuildMacro>
+    <BuildMacro Include="APP_LIBS">
+      <Value>$(APP_LIBS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="VST3_INCLUDES">
+      <Value>$(VST3_INCLUDES)</Value>
+    </BuildMacro>
+    <BuildMacro Include="AAX_INCLUDES">
+      <Value>$(AAX_INCLUDES)</Value>
+    </BuildMacro>
+    <BuildMacro Include="AAX_DEFS">
+      <Value>$(AAX_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="AAX_LIBS">
+      <Value>$(AAX_LIBS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="RTAS_INCLUDES">
+      <Value>$(RTAS_INCLUDES)</Value>
+    </BuildMacro>
+    <BuildMacro Include="RTAS_DEFS">
+      <Value>$(RTAS_DEFS)</Value>
+    </BuildMacro>
+    <BuildMacro Include="RTAS_LIBS">
+      <Value>$(RTAS_LIBS)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.rc	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,81 @@
+#include "resource.h"
+
+KNOB_ID       PNG KNOB_FN
+BG_ID         PNG BG_FN
+FADER_ID      PNG FADER_FN
+SWITCH_ID     PNG SWITCH_FN
+
+#ifdef SA_API
+//Standalone stuff
+#include <windows.h>
+
+IDI_ICON1                ICON    DISCARDABLE     "resources\AccessiblePeakMeter.ico"
+
+IDD_DIALOG_MAIN DIALOG DISCARDABLE  0, 0, GUI_WIDTH, GUI_HEIGHT
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
+CAPTION "AccessiblePeakMeter"
+MENU IDR_MENU1
+FONT 8, "MS Sans Serif"
+BEGIN
+//   EDITTEXT        IDC_EDIT1,59,50,145,14,ES_AUTOHSCROLL
+//   LTEXT           "Enter some text here:",IDC_STATIC,59,39,73,8
+END
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+IDD_DIALOG_PREF DIALOG DISCARDABLE 0, 0, 223, 309
+STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
+CAPTION "Preferences"
+FONT 8, "MS Sans Serif"
+{
+    DEFPUSHBUTTON   "OK", IDOK, 110, 285, 50, 14
+    PUSHBUTTON      "Apply", IDAPPLY, 54, 285, 50, 14
+    PUSHBUTTON      "Cancel", IDCANCEL, 166, 285, 50, 14
+    COMBOBOX        IDC_COMBO_AUDIO_DRIVER, 20, 35, 100, 100, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Driver Type", IDC_STATIC, 22, 25, 38, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_IN_DEV, 20, 65, 100, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Input Device", IDC_STATIC, 20, 55, 42, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_OUT_DEV, 20, 95, 100, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Output Device", IDC_STATIC, 20, 85, 47, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_IOVS, 135, 35, 65, 100, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "IO Vector Size", IDC_STATIC, 137, 25, 46, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_SIGVS, 135, 65, 65, 100, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Signal Vector Size", IDC_STATIC, 135, 55, 58, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_SR, 135, 95, 65, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Sampling Rate", IDC_STATIC, 135, 85, 47, 8, SS_LEFT
+    GROUPBOX        "Audio Device Settings", IDC_STATIC, 5, 10, 210, 170
+    PUSHBUTTON      "ASIO Config...", IDC_BUTTON_ASIO, 135, 155, 65, 14
+    COMBOBOX        IDC_COMBO_AUDIO_IN_L, 20, 125, 40, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Input 1 (L)", IDC_STATIC, 20, 115, 33, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_IN_R, 65, 126, 40, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Input 2 (R)", IDC_STATIC, 65, 115, 34, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_OUT_L, 20, 155, 40, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Output 1 (L)", IDC_STATIC, 20, 145, 38, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_AUDIO_OUT_R, 65, 155, 40, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Output 2 (R)", IDC_STATIC, 65, 145, 40, 8, SS_LEFT
+    GROUPBOX        "MIDI Device Settings", IDC_STATIC, 5, 190, 210, 85
+    COMBOBOX        IDC_COMBO_MIDI_OUT_DEV, 15, 250, 100, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Output Device", IDC_STATIC, 15, 240, 47, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_MIDI_IN_DEV, 15, 220, 100, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Input Device", IDC_STATIC, 15, 210, 42, 8, SS_LEFT
+    LTEXT           "Input Channel", IDC_STATIC, 125, 210, 45, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_MIDI_IN_CHAN, 125, 220, 50, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    LTEXT           "Output Channel", IDC_STATIC, 125, 240, 50, 8, SS_LEFT
+    COMBOBOX        IDC_COMBO_MIDI_OUT_CHAN, 125, 250, 50, 200, CBS_DROPDOWNLIST | CBS_HASSTRINGS
+    AUTOCHECKBOX    "Mono Input", IDC_CB_MONO_INPUT, 135, 127, 56, 8
+}
+
+IDR_MENU1 MENU DISCARDABLE 
+BEGIN
+    POPUP "&File"
+    BEGIN
+//      MENUITEM SEPARATOR
+        MENUITEM "Preferences...",              ID_PREFERENCES
+        MENUITEM "&Quit",                       ID_QUIT
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About",                      ID_ABOUT
+    END
+END
+
+#endif // SA_API
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.sln	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,108 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2013 for Windows Desktop
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IPlug", "..\..\WDL\IPlug\IPlug.vcxproj", "{33958832-2FFD-49D8-9C13-5F0B26739E81}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3059A12C-2A45-439B-81EC-201D8ED347A3} = {3059A12C-2A45-439B-81EC-201D8ED347A3}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lice", "..\..\WDL\lice\lice.vcxproj", "{3059A12C-2A45-439B-81EC-201D8ED347A3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AccessiblePeakMeter-vst2", "AccessiblePeakMeter-vst2.vcxproj", "{2EB4846A-93E0-43A0-821E-12237105168F}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3059A12C-2A45-439B-81EC-201D8ED347A3} = {3059A12C-2A45-439B-81EC-201D8ED347A3}
+		{33958832-2FFD-49D8-9C13-5F0B26739E81} = {33958832-2FFD-49D8-9C13-5F0B26739E81}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base", "..\..\VST3_SDK\base\win\base_vc10.vcxproj", "{5755CC40-C699-491B-BD7C-5D841C26C28D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AAXLibrary", "..\..\AAX_SDK\Libs\AAXLibrary\WinBuild\AAXLibrary.vcxproj", "{5E3D286E-BF0D-446A-AFEF-E800F283CE53}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlugInLib", "..\..\PT9_SDK\AlturaPorts\TDMPlugIns\PlugInLibrary\WinBuild\PlugInLib.vcxproj", "{D2CE28FF-63B8-48BC-936D-33F365B4053F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+		Tracer|Win32 = Tracer|Win32
+		Tracer|x64 = Tracer|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Debug|Win32.ActiveCfg = Debug|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Debug|Win32.Build.0 = Debug|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Debug|x64.ActiveCfg = Debug|x64
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Debug|x64.Build.0 = Debug|x64
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Release|Win32.ActiveCfg = Release|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Release|Win32.Build.0 = Release|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Release|x64.ActiveCfg = Release|x64
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Release|x64.Build.0 = Release|x64
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Tracer|Win32.ActiveCfg = Tracer|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Tracer|Win32.Build.0 = Tracer|Win32
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Tracer|x64.ActiveCfg = Tracer|x64
+		{33958832-2FFD-49D8-9C13-5F0B26739E81}.Tracer|x64.Build.0 = Tracer|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Debug|Win32.ActiveCfg = Debug|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Debug|Win32.Build.0 = Debug|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Debug|x64.ActiveCfg = Debug|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Debug|x64.Build.0 = Debug|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Release|Win32.ActiveCfg = Release|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Release|Win32.Build.0 = Release|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Release|x64.ActiveCfg = Release|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Release|x64.Build.0 = Release|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Tracer|Win32.ActiveCfg = Release|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Tracer|Win32.Build.0 = Release|Win32
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Tracer|x64.ActiveCfg = Release|x64
+		{3059A12C-2A45-439B-81EC-201D8ED347A3}.Tracer|x64.Build.0 = Release|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.ActiveCfg = Debug|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.Build.0 = Debug|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.ActiveCfg = Debug|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.Build.0 = Debug|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.ActiveCfg = Release|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.Build.0 = Release|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.ActiveCfg = Release|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.Build.0 = Release|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.ActiveCfg = Tracer|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.Build.0 = Tracer|Win32
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.ActiveCfg = Tracer|x64
+		{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.Build.0 = Tracer|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Debug|Win32.Build.0 = Debug|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Debug|x64.ActiveCfg = Debug|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Debug|x64.Build.0 = Debug|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Release|Win32.ActiveCfg = Release|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Release|Win32.Build.0 = Release|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Release|x64.ActiveCfg = Release|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Release|x64.Build.0 = Release|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Tracer|Win32.ActiveCfg = Release|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Tracer|Win32.Build.0 = Release|Win32
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Tracer|x64.ActiveCfg = Release|x64
+		{5755CC40-C699-491B-BD7C-5D841C26C28D}.Tracer|x64.Build.0 = Release|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Debug|Win32.ActiveCfg = Debug|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Debug|Win32.Build.0 = Debug|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Debug|x64.ActiveCfg = Debug|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Debug|x64.Build.0 = Debug|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Release|Win32.ActiveCfg = Release|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Release|Win32.Build.0 = Release|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Release|x64.ActiveCfg = Release|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Release|x64.Build.0 = Release|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Tracer|Win32.ActiveCfg = Release|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Tracer|Win32.Build.0 = Release|Win32
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Tracer|x64.ActiveCfg = Release|x64
+		{5E3D286E-BF0D-446A-AFEF-E800F283CE53}.Tracer|x64.Build.0 = Release|x64
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Debug|Win32.ActiveCfg = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Debug|Win32.Build.0 = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Debug|x64.ActiveCfg = Debug|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Release|Win32.ActiveCfg = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Release|Win32.Build.0 = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Release|x64.ActiveCfg = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Tracer|Win32.ActiveCfg = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Tracer|Win32.Build.0 = Release|Win32
+		{D2CE28FF-63B8-48BC-936D-33F365B4053F}.Tracer|x64.ActiveCfg = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.xcconfig	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,61 @@
+#include "../../common.xcconfig"
+
+//------------------------------
+// Global settings
+
+// the basename of the vst, vst3, app, component, dpm, aaxplugin
+BINARY_NAME = AccessiblePeakMeter
+
+ADDITIONAL_INCLUDES = // $(SRCROOT)/../../../MyDSP/
+
+// for jack headers
+//ADDITIONAL_APP_INCLUDES = /usr/local/include
+
+// Flags to pass to compiler for all builds
+GCC_CFLAGS = -Wno-write-strings
+
+//------------------------------
+// Preprocessor definitions
+
+// Preprocessor definitions for all VST builds
+VST_DEFS = VST_API VST_FORCE_DEPRECATED
+
+VST3_DEFS = VST3_API
+
+// Preprocessor definitions for all AU builds
+AU_DEFS = AU_API
+
+RTAS_DEFS = RTAS_API
+
+AAX_DEFS = AAX_API
+
+APP_DEFS = SA_API __MACOSX_CORE__ //__UNIX_JACK__
+
+IOS_DEFS = SA_API
+// Preprocessor definitions for all Debug builds
+DEBUG_DEFS = _DEBUG
+
+// Preprocessor definitions for all Release builds
+RELEASE_DEFS = NDEBUG //DEMO_VERSION
+
+// Preprocessor definitions for all Tracer builds
+TRACER_DEFS = TRACER_BUILD NDEBUG
+
+// Preprocessor definitions for cocoa uniqueness (all builds)
+// If you want to use swell inside of iplug, you need to make SWELL_APP_PREFIX unique too
+COCOA_DEFS = SWELL_CLEANUP_ON_UNLOAD COCOA_PREFIX=vAccessiblePeakMeter SWELL_APP_PREFIX=Swell_vAccessiblePeakMeter
+
+//------------------------------
+// Release build options
+
+//Enable/Disable Profiling code
+PROFILE = NO //NO, YES - enable this if you want to use shark to profile a plugin
+
+// GCC optimization level -
+// None: [-O0] Fast: [-O, -O1] Faster:[-O2] Fastest: [-O3] Fastest, smallest: Optimize for size. [-Os]
+RELEASE_OPTIMIZE = 3 //0,1,2,3,s
+
+//------------------------------
+// Debug build options
+DEBUG_OPTIMIZE = 0 //0,1,2,3,s
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.xcodeproj/oli.pbxuser	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,1950 @@
+// !$*UTF8*$!
+{
+	089C1669FE841209C02AAC07 /* Project object */ = {
+		activeArchitecturePreference = i386;
+		activeBuildConfigurationName = Release;
+		activeExecutable = 4FD16A0A13B63081001D0217 /* APP */;
+		activeTarget = 4FD16A0813B63081001D0217 /* APP */;
+		addToTargets = (
+			4F7F5C4213E95EC8002918FD /* RTAS */,
+			4FB600121567CB0A0020189A /* AAX */,
+			4F3AE17812C0E5E2001FD7A4 /* AU */,
+			4F9828AA140A9EB700F3FCC1 /* VST3 */,
+			4F20EEC8132C69FE0030E34C /* VST2 */,
+			4FD16A0813B63081001D0217 /* APP */,
+		);
+		breakpoints = (
+		);
+		codeSenseManager = 4FE33FF410B4519D00B5FB70 /* Code sense */;
+		executables = (
+			4FD16A0A13B63081001D0217 /* APP */,
+			4F647528132A790E00D7E58C /* Auval */,
+			4F30A3F21117540400C237CE /* Aulab */,
+			4F8F27C7131A78AE007A37CF /* Garageband */,
+			4F94D77514EFB6B100DBF4C9 /* Logic */,
+			4FF6D80F12B28631001E9114 /* Live */,
+			4FF6D80D12B285DC001E9114 /* Reaper */,
+			4FF6D80B12B285AF001E9114 /* Cubase */,
+			4FF2407313FAB21200E40631 /* AudioMulch */,
+			4F2BB0CF141402D500564FFC /* Studio One */,
+			4F4AD1B61409A2BB0068A6D4 /* VST3TestHost */,
+			4F94D78014EFB6F800DBF4C9 /* VST3validator */,
+			4F7F5D0713E9676F002918FD /* ProTools Dev */,
+		);
+		perUserDictionary = {
+			"PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					20,
+					20,
+					198,
+					20,
+					99,
+					99,
+					29,
+					20,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXBreakpointsDataSource_ActionID,
+					PBXBreakpointsDataSource_TypeID,
+					PBXBreakpointsDataSource_BreakpointID,
+					PBXBreakpointsDataSource_UseID,
+					PBXBreakpointsDataSource_LocationID,
+					PBXBreakpointsDataSource_ConditionID,
+					PBXBreakpointsDataSource_IgnoreCountID,
+					PBXBreakpointsDataSource_ContinueID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					200,
+					200,
+					1283,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXBookmarksDataSource_LocationID,
+					PBXBookmarksDataSource_NameID,
+					PBXBookmarksDataSource_CommentsID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					22,
+					300,
+					830,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXExecutablesDataSource_ActiveFlagID,
+					PBXExecutablesDataSource_NameID,
+					PBXExecutablesDataSource_CommentsID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = 1;
+				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Target_ColumnID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					20,
+					341,
+					20,
+					48,
+					43,
+					43,
+					20,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXFileDataSource_FiletypeID,
+					PBXFileDataSource_Filename_ColumnID,
+					PBXFileDataSource_Built_ColumnID,
+					PBXFileDataSource_ObjectSize_ColumnID,
+					PBXFileDataSource_Errors_ColumnID,
+					PBXFileDataSource_Warnings_ColumnID,
+					PBXFileDataSource_Target_ColumnID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					200,
+					956,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXFindDataSource_MessageID,
+					PBXFindDataSource_LocationID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.PBXSymbolsDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXSymbolsDataSource_SymbolNameID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					16,
+					200,
+					50,
+					1273,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXSymbolsDataSource_SymbolTypeIconID,
+					PBXSymbolsDataSource_SymbolNameID,
+					PBXSymbolsDataSource_SymbolTypeID,
+					PBXSymbolsDataSource_ReferenceNameID,
+				);
+			};
+			PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					20,
+					20,
+					1449,
+					20,
+					48,
+					43,
+					43,
+					20,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXFileDataSource_SCM_ColumnID,
+					PBXFileDataSource_FiletypeID,
+					PBXFileDataSource_Filename_ColumnID,
+					PBXFileDataSource_Built_ColumnID,
+					PBXFileDataSource_ObjectSize_ColumnID,
+					PBXFileDataSource_Errors_ColumnID,
+					PBXFileDataSource_Warnings_ColumnID,
+					PBXFileDataSource_Target_ColumnID,
+				);
+			};
+			PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					20,
+					1053,
+					60,
+					20,
+					48,
+					43,
+					43,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXFileDataSource_FiletypeID,
+					PBXFileDataSource_Filename_ColumnID,
+					PBXTargetDataSource_PrimaryAttribute,
+					PBXFileDataSource_Built_ColumnID,
+					PBXFileDataSource_ObjectSize_ColumnID,
+					PBXFileDataSource_Errors_ColumnID,
+					PBXFileDataSource_Warnings_ColumnID,
+				);
+			};
+			PBXPerProjectTemplateStateSaveDate = 377040721;
+			PBXWorkspaceStateSaveDate = 377040721;
+		};
+		perUserProjectItems = {
+			4F7E1ED716792F8400907FCF /* XCBuildMessageTextBookmark */ = 4F7E1ED716792F8400907FCF /* XCBuildMessageTextBookmark */;
+			4F7E1EDC16792F9100907FCF /* PBXTextBookmark */ = 4F7E1EDC16792F9100907FCF /* PBXTextBookmark */;
+		};
+		sourceControlManager = 4FE33FF310B4519D00B5FB70 /* Source Control */;
+		userBuildSettings = {
+			OBJROOT = "$(SYMROOT)";
+			SYMROOT = "$(PROJECT_DIRECTORY)build-mac";
+		};
+	};
+	4F017360154D4BFC0034BE1A /* AAX_CIPlugParameters.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 1222}}";
+			sepNavSelRange = "{2972, 1}";
+			sepNavVisRange = "{883, 2893}";
+		};
+	};
+	4F017361154D4BFC0034BE1A /* AAX_CIPlugParameters.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 1417}}";
+			sepNavSelRange = "{2080, 0}";
+			sepNavVisRange = "{1161, 1412}";
+		};
+	};
+	4F1F1BE9135B1F60003A5BB2 /* wdlendian.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1052, 3575}}";
+			sepNavSelRange = "{8079, 14}";
+			sepNavVisRange = "{7651, 977}";
+			sepNavWindowFrame = "{{433, 76}, {1089, 914}}";
+		};
+	};
+	4F20EEC8132C69FE0030E34C /* VST2 */ = {
+		activeExec = 0;
+	};
+	4F2BB0CF141402D500564FFC /* Studio One */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 0;
+		comments = "/Applications/Studio One.app";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F2BB0D0141402D500564FFC /* Studio One.app */;
+		libgmallocEnabled = 0;
+		name = "Studio One";
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		variableFormatDictionary = {
+		};
+	};
+	4F2BB0D0141402D500564FFC /* Studio One.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = "Studio One.app";
+		path = "/Applications/Studio One.app";
+		sourceTree = "<absolute>";
+	};
+	4F30A3F21117540400C237CE /* Aulab */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = "/Developer/Applications/Audio/AU Lab.app";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F30A3F31117540400C237CE /* AU Lab.app */;
+		libgmallocEnabled = 0;
+		name = Aulab;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = /Developer/Applications/;
+		variableFormatDictionary = {
+		};
+	};
+	4F30A3F31117540400C237CE /* AU Lab.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = "AU Lab.app";
+		path = "Applications/Audio/AU Lab.app";
+		sourceTree = DEVELOPER_DIR;
+	};
+	4F3AE17812C0E5E2001FD7A4 /* AU */ = {
+		activeExec = 0;
+	};
+	4F3E69041409746500C4D749 /* IPlugVST3.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1039, 13559}}";
+			sepNavSelRange = "{18267, 0}";
+			sepNavVisRange = "{0, 1673}";
+		};
+	};
+	4F3E69051409746500C4D749 /* IPlugVST3.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 2119}}";
+			sepNavSelRange = "{3834, 0}";
+			sepNavVisRange = "{2025, 2887}";
+		};
+	};
+	4F3EE94513B65A350097B791 /* IPlugOSDetect.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 947}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 449}";
+		};
+	};
+	4F4ACFF7140996A10068A6D4 /* pluginview.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {671, 1287}}";
+			sepNavSelRange = "{2316, 0}";
+			sepNavVisRange = "{1666, 929}";
+		};
+	};
+	4F4ACFF8140996A10068A6D4 /* pluginview.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1352}}";
+			sepNavSelRange = "{4276, 24}";
+			sepNavVisRange = "{1091, 3212}";
+		};
+	};
+	4F4ACFFB140996A10068A6D4 /* macmain.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1275, 1144}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{2218, 1170}";
+		};
+	};
+	4F4ACFFC140996A10068A6D4 /* pluginfactoryvst3.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1275, 3172}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2203}";
+		};
+	};
+	4F4ACFFD140996A10068A6D4 /* pluginfactoryvst3.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2301}}";
+			sepNavSelRange = "{5447, 0}";
+			sepNavVisRange = "{4280, 2667}";
+		};
+	};
+	4F4ACFFF140996A10068A6D4 /* vstaudioeffect.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2171}}";
+			sepNavSelRange = "{2508, 5}";
+			sepNavVisRange = "{0, 3345}";
+		};
+	};
+	4F4AD000140996A10068A6D4 /* vstaudioeffect.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1508}}";
+			sepNavSelRange = "{2579, 9}";
+			sepNavVisRange = "{1953, 3170}";
+		};
+	};
+	4F4AD004140996A10068A6D4 /* vstcomponent.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1560}}";
+			sepNavSelRange = "{2569, 13}";
+			sepNavVisRange = "{2239, 2807}";
+		};
+	};
+	4F4AD005140996A10068A6D4 /* vstcomponentbase.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2275}}";
+			sepNavSelRange = "{4332, 0}";
+			sepNavVisRange = "{3038, 1907}";
+		};
+	};
+	4F4AD006140996A10068A6D4 /* vstcomponentbase.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1391}}";
+			sepNavSelRange = "{2589, 11}";
+			sepNavVisRange = "{1757, 2670}";
+		};
+	};
+	4F4AD00C140996A10068A6D4 /* vstparameters.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 5460}}";
+			sepNavSelRange = "{10804, 13}";
+			sepNavVisRange = "{9526, 2148}";
+		};
+	};
+	4F4AD00D140996A10068A6D4 /* vstparameters.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2912}}";
+			sepNavSelRange = "{8473, 12}";
+			sepNavVisRange = "{6174, 2999}";
+		};
+	};
+	4F4AD012140996A10068A6D4 /* vstsinglecomponenteffect.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1280, 3172}}";
+			sepNavSelRange = "{254, 0}";
+			sepNavVisRange = "{0, 2319}";
+		};
+	};
+	4F4AD013140996A10068A6D4 /* vstsinglecomponenteffect.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2275}}";
+			sepNavSelRange = "{3190, 48}";
+			sepNavVisRange = "{574, 3744}";
+		};
+	};
+	4F4AD017140996A10068A6D4 /* conststringtable.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1275, 767}}";
+			sepNavSelRange = "{734, 0}";
+			sepNavVisRange = "{0, 2284}";
+		};
+	};
+	4F4AD01B140996A10068A6D4 /* fstrdefs.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 3575}}";
+			sepNavSelRange = "{2834, 0}";
+			sepNavVisRange = "{2629, 448}";
+		};
+	};
+	4F4AD01C140996A10068A6D4 /* ftypes.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2275}}";
+			sepNavSelRange = "{2113, 19}";
+			sepNavVisRange = "{0, 2693}";
+		};
+	};
+	4F4AD01E140996A10068A6D4 /* funknown.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 8580}}";
+			sepNavSelRange = "{17455, 0}";
+			sepNavVisRange = "{16051, 2077}";
+		};
+	};
+	4F4AD020140996A10068A6D4 /* ibstream.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1131}}";
+			sepNavSelRange = "{2548, 0}";
+			sepNavVisRange = "{0, 3643}";
+		};
+	};
+	4F4AD024140996A10068A6D4 /* ipluginbase.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 5278}}";
+			sepNavSelRange = "{2709, 35}";
+			sepNavVisRange = "{0, 3778}";
+		};
+	};
+	4F4AD02B140996A10068A6D4 /* iplugview.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {936, 2496}}";
+			sepNavSelRange = "{5343, 0}";
+			sepNavVisRange = "{4718, 1544}";
+		};
+	};
+	4F4AD02E140996A10068A6D4 /* ivstaudioprocessor.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 3965}}";
+			sepNavSelRange = "{11393, 14}";
+			sepNavVisRange = "{9333, 4065}";
+		};
+	};
+	4F4AD02F140996A10068A6D4 /* ivstcomponent.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2834}}";
+			sepNavSelRange = "{7858, 1}";
+			sepNavVisRange = "{5756, 3654}";
+		};
+	};
+	4F4AD030140996A10068A6D4 /* ivstcontextmenu.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1861, 3094}}";
+			sepNavSelRange = "{6200, 0}";
+			sepNavVisRange = "{4455, 2268}";
+		};
+	};
+	4F4AD031140996A10068A6D4 /* ivsteditcontroller.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1861, 5343}}";
+			sepNavSelRange = "{6881, 0}";
+			sepNavVisRange = "{4856, 3092}";
+		};
+	};
+	4F4AD032140996A10068A6D4 /* ivstevents.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2249}}";
+			sepNavSelRange = "{2564, 7}";
+			sepNavVisRange = "{1480, 3142}";
+		};
+	};
+	4F4AD034140996A10068A6D4 /* ivstmessage.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 1534}}";
+			sepNavSelRange = "{3285, 0}";
+			sepNavVisRange = "{759, 3326}";
+		};
+	};
+	4F4AD038140996A10068A6D4 /* ivstplugview.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {727, 1027}}";
+			sepNavSelRange = "{2742, 8}";
+			sepNavVisRange = "{2056, 1364}";
+		};
+	};
+	4F4AD039140996A10068A6D4 /* ivstprocesscontext.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 2145}}";
+			sepNavSelRange = "{2046, 0}";
+			sepNavVisRange = "{0, 3527}";
+		};
+	};
+	4F4AD03E140996A10068A6D4 /* vsttypes.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1606, 7371}}";
+			sepNavSelRange = "{4236, 67}";
+			sepNavVisRange = "{2754, 3404}";
+		};
+	};
+	4F4AD1B61409A2BB0068A6D4 /* VST3TestHost */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		configStateDict = {
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F4AD1B71409A2BB0068A6D4 /* VST3PluginTestHost.app */;
+		libgmallocEnabled = 0;
+		name = VST3TestHost;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		variableFormatDictionary = {
+		};
+	};
+	4F4AD1B71409A2BB0068A6D4 /* VST3PluginTestHost.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = VST3PluginTestHost.app;
+		path = /Applications/VST3PluginTestHost.app;
+		sourceTree = "<absolute>";
+	};
+	4F4CC38A1549B91100A9EA21 /* AAX_Exports.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 2054}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2051}";
+		};
+	};
+	4F4CC38C1549B92900A9EA21 /* CommonDebugSettings.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {2700, 702}}";
+			sepNavSelRange = "{679, 0}";
+			sepNavVisRange = "{0, 2161}";
+		};
+	};
+	4F4CC38D1549B92900A9EA21 /* CommonReleaseSettings.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {2693, 871}}";
+			sepNavSelRange = "{1326, 0}";
+			sepNavVisRange = "{570, 2040}";
+		};
+	};
+	4F4CC4251549BED600A9EA21 /* IPlugAAX.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 7657}}";
+			sepNavSelRange = "{12918, 0}";
+			sepNavVisRange = "{12127, 1201}";
+		};
+	};
+	4F4CC4261549BED600A9EA21 /* IPlugAAX.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {810, 1404}}";
+			sepNavSelRange = "{351, 0}";
+			sepNavVisRange = "{19, 921}";
+		};
+	};
+	4F4CC4401549C15500A9EA21 /* IPlugAAX_Describe.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 2106}}";
+			sepNavSelRange = "{3057, 0}";
+			sepNavVisRange = "{2346, 1972}";
+		};
+	};
+	4F4F73791576739300C124E3 /* AAX_CIPlugTaperDelegate.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 1248}}";
+			sepNavSelRange = "{1006, 51}";
+			sepNavVisRange = "{128, 1278}";
+		};
+	};
+	4F647528132A790E00D7E58C /* Auval */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+			YES,
+		);
+		argumentStrings = (
+			"-v aufx Ipef Acme",
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = "remember to change executable arguments to match plugin's type and IDs: aufx/aumf/aumu PLUG_UNIQUE_ID PLUG_MFR_ID";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F647529132A790E00D7E58C /* arch -i386 -ppc */;
+		libgmallocEnabled = 0;
+		name = Auval;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = "<<ProjectDirectory>>";
+		variableFormatDictionary = {
+		};
+	};
+	4F647529132A790E00D7E58C /* arch -i386 -ppc */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = "compiled.mach-o.executable";
+		name = "arch -i386 -ppc";
+		path = /usr/bin/auvaltool;
+		sourceTree = "<absolute>";
+	};
+	4F78D89613B639100032E0F3 /* English */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 739}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 92}";
+		};
+	};
+	4F78D8BD13B63A4E0032E0F3 /* wdltypes.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 949}}";
+			sepNavSelRange = "{1266, 0}";
+			sepNavVisRange = "{0, 1251}";
+		};
+	};
+	4F78D8BF13B63A700032E0F3 /* RtAudio.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1188, 103454}}";
+			sepNavSelRange = "{40356, 0}";
+			sepNavVisRange = "{39137, 3440}";
+		};
+	};
+	4F78D8C013B63A700032E0F3 /* RtAudio.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1177, 13000}}";
+			sepNavSelRange = "{33765, 284}";
+			sepNavVisRange = "{33449, 1980}";
+		};
+	};
+	4F78D8C113B63A700032E0F3 /* RtError.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1177, 793}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2129}";
+		};
+	};
+	4F78D8C213B63A700032E0F3 /* RtMidi.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1315, 36218}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2106}";
+		};
+	};
+	4F78D8C313B63A700032E0F3 /* RtMidi.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1511, 3874}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2350}";
+		};
+	};
+	4F78D8D213B63B5D0032E0F3 /* aeffect.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1155, 4849}}";
+			sepNavSelRange = "{3076, 368}";
+			sepNavVisRange = "{2160, 3306}";
+		};
+	};
+	4F78D8D313B63B5D0032E0F3 /* aeffectx.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1155, 15444}}";
+			sepNavSelRange = "{55719, 0}";
+			sepNavVisRange = "{54038, 2044}";
+		};
+	};
+	4F78D8E613B63BA40032E0F3 /* IPlug_include_in_plug_hdr.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 767}}";
+			sepNavSelRange = "{709, 0}";
+			sepNavVisRange = "{445, 1010}";
+		};
+	};
+	4F78D8E813B63BA40032E0F3 /* IPlug_include_in_plug_src.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 2938}}";
+			sepNavSelRange = "{436, 0}";
+			sepNavVisRange = "{56, 1006}";
+		};
+	};
+	4F78D8E913B63BA40032E0F3 /* IControl.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 5174}}";
+			sepNavSelRange = "{3825, 37}";
+			sepNavVisRange = "{2716, 2118}";
+		};
+	};
+	4F78D8EA13B63BA40032E0F3 /* IKeyboardControl.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 3861}}";
+			sepNavSelRange = "{4621, 0}";
+			sepNavVisRange = "{3973, 1189}";
+		};
+	};
+	4F78D8EB13B63BA40032E0F3 /* IPlugStandalone.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 2002}}";
+			sepNavSelRange = "{2048, 0}";
+			sepNavVisRange = "{1785, 739}";
+		};
+	};
+	4F78D8EC13B63BA40032E0F3 /* IPlugBase.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1158, 4251}}";
+			sepNavSelRange = "{2507, 0}";
+			sepNavVisRange = "{1710, 3543}";
+			sepNavWindowFrame = "{{15, 113}, {1416, 1060}}";
+		};
+	};
+	4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1039, 19695}}";
+			sepNavSelRange = "{12014, 0}";
+			sepNavVisRange = "{11187, 1309}";
+		};
+	};
+	4F78D8EE13B63BA50032E0F3 /* IGraphicsMac.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 2210}}";
+			sepNavSelRange = "{1749, 0}";
+			sepNavVisRange = "{1561, 613}";
+		};
+	};
+	4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 1755}}";
+			sepNavSelRange = "{685, 0}";
+			sepNavVisRange = "{0, 986}";
+		};
+	};
+	4F78D8F113B63BA50032E0F3 /* Containers.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 3822}}";
+			sepNavSelRange = "{2186, 0}";
+			sepNavVisRange = "{1220, 1086}";
+		};
+	};
+	4F78D8F213B63BA50032E0F3 /* Hosts.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 754}}";
+			sepNavSelRange = "{98, 89}";
+			sepNavVisRange = "{0, 794}";
+		};
+	};
+	4F78D8F313B63BA50032E0F3 /* Hosts.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 1547}}";
+			sepNavSelRange = "{378, 0}";
+			sepNavVisRange = "{0, 1765}";
+		};
+	};
+	4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1052, 7839}}";
+			sepNavSelRange = "{9319, 9}";
+			sepNavVisRange = "{9029, 498}";
+		};
+	};
+	4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 15145}}";
+			sepNavSelRange = "{6372, 82}";
+			sepNavVisRange = "{5821, 1202}";
+		};
+	};
+	4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 9620}}";
+			sepNavSelRange = "{21536, 0}";
+			sepNavVisRange = "{20977, 1462}";
+		};
+	};
+	4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 7709}}";
+			sepNavSelRange = "{6955, 0}";
+			sepNavVisRange = "{6003, 1435}";
+		};
+	};
+	4F78D8F913B63BA50032E0F3 /* IGraphicsCocoa.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {976, 975}}";
+			sepNavSelRange = "{1249, 21}";
+			sepNavVisRange = "{468, 1946}";
+		};
+	};
+	4F78D8FA13B63BA50032E0F3 /* Log.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 845}}";
+			sepNavSelRange = "{852, 39}";
+			sepNavVisRange = "{143, 1332}";
+		};
+	};
+	4F78D8FB13B63BA50032E0F3 /* Log.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 8060}}";
+			sepNavSelRange = "{94, 0}";
+			sepNavVisRange = "{0, 941}";
+		};
+	};
+	4F78D8FC13B63BA50032E0F3 /* IPopupMenu.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 1014}}";
+			sepNavSelRange = "{1105, 0}";
+			sepNavVisRange = "{537, 1581}";
+		};
+	};
+	4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 1430}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 914}";
+		};
+	};
+	4F78D8FE13B63BA50032E0F3 /* IPlugStructs.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 5421}}";
+			sepNavSelRange = "{2611, 0}";
+			sepNavVisRange = "{47, 1797}";
+		};
+	};
+	4F78D90213B63BA50032E0F3 /* IPlug_Prefix.pch */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 399}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 142}";
+		};
+	};
+	4F78D90313B63BA50032E0F3 /* IParam.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1039, 1183}}";
+			sepNavSelRange = "{1075, 0}";
+			sepNavVisRange = "{453, 2374}";
+		};
+	};
+	4F78D90413B63BA50032E0F3 /* IParam.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1039, 2678}}";
+			sepNavSelRange = "{259, 12}";
+			sepNavVisRange = "{3470, 922}";
+		};
+	};
+	4F78D90513B63BA50032E0F3 /* IMidiQueue.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {880, 2691}}";
+			sepNavSelRange = "{1978, 0}";
+			sepNavVisRange = "{1504, 655}";
+		};
+	};
+	4F78D90713B63BA50032E0F3 /* IGraphicsCarbon.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {904, 859}}";
+			sepNavSelRange = "{1576, 0}";
+			sepNavVisRange = "{0, 1576}";
+		};
+	};
+	4F78D90813B63BA50032E0F3 /* IGraphics.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 3250}}";
+			sepNavSelRange = "{5572, 0}";
+			sepNavVisRange = "{5140, 886}";
+		};
+	};
+	4F78D90913B63BA50032E0F3 /* IControl.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1861, 7982}}";
+			sepNavSelRange = "{188, 0}";
+			sepNavVisRange = "{0, 1050}";
+		};
+	};
+	4F78D9EA13B63BE90032E0F3 /* IPlugStandalone.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1275, 1339}}";
+			sepNavSelRange = "{2038, 556}";
+			sepNavVisRange = "{1409, 1193}";
+		};
+	};
+	4F78D9EC13B63C6A0032E0F3 /* IPlugVST.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 11687}}";
+			sepNavSelRange = "{1063, 0}";
+			sepNavVisRange = "{18612, 1447}";
+		};
+	};
+	4F78D9ED13B63C6A0032E0F3 /* IPlugVST.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 1274}}";
+			sepNavSelRange = "{1982, 17}";
+			sepNavVisRange = "{0, 1976}";
+		};
+	};
+	4F78D9FB13B63CD90032E0F3 /* IPlugAU.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 2691}}";
+			sepNavSelRange = "{6896, 0}";
+			sepNavVisRange = "{0, 1529}";
+		};
+	};
+	4F78D9FC13B63CD90032E0F3 /* IPlugAU.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 28327}}";
+			sepNavSelRange = "{84, 0}";
+			sepNavVisRange = "{0, 1283}";
+		};
+	};
+	4F78D9FD13B63CD90032E0F3 /* IPlugAU.r */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1097, 2548}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1726}";
+		};
+	};
+	4F78D9FE13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1097, 672}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 945}";
+		};
+	};
+	4F78DAEA13B642790032E0F3 /* IGraphicsWin.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 13351}}";
+			sepNavSelRange = "{12340, 0}";
+			sepNavVisRange = "{11572, 1365}";
+		};
+	};
+	4F78DAEB13B642790032E0F3 /* IGraphicsWin.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1155, 980}}";
+			sepNavSelRange = "{1726, 13}";
+			sepNavVisRange = "{0, 2169}";
+		};
+	};
+	4F78DAF113B643600032E0F3 /* All */ = {
+		activeExec = 0;
+	};
+	4F79A34C146304CD00744AED /* IPlugProcessAS.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 2405}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{4386, 1112}";
+		};
+	};
+	4F79A34D146304CD00744AED /* IPlugProcessAS.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 732}}";
+			sepNavSelRange = "{1135, 0}";
+			sepNavVisRange = "{0, 1476}";
+		};
+	};
+	4F7E1ED716792F8400907FCF /* XCBuildMessageTextBookmark */ = {
+		isa = PBXTextBookmark;
+		comments = "'NSView' may not respond to '-_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:'";
+		fRef = 4FD16D0413B634AA001D0217 /* swell-dlg.mm */;
+		fallbackIsa = XCBuildMessageTextBookmark;
+		rLen = 1;
+		rLoc = 1059;
+		rType = 1;
+	};
+	4F7E1EDC16792F9100907FCF /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 4FD16D0413B634AA001D0217 /* swell-dlg.mm */;
+		name = "swell-dlg.mm: 1064";
+		rLen = 0;
+		rLoc = 34197;
+		rType = 0;
+		vrLen = 809;
+		vrLoc = 33777;
+	};
+	4F7F5C4213E95EC8002918FD /* RTAS */ = {
+		activeExec = 0;
+	};
+	4F7F5C6F13E95FB2002918FD /* IPlugRTAS.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 3341}}";
+			sepNavSelRange = "{3625, 0}";
+			sepNavVisRange = "{3382, 1426}";
+		};
+	};
+	4F7F5C7013E95FB2002918FD /* IPlugRTAS.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 949}}";
+			sepNavSelRange = "{955, 0}";
+			sepNavVisRange = "{186, 1735}";
+		};
+	};
+	4F7F5C9B13E9607A002918FD /* digicode.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1301, 650}}";
+			sepNavSelRange = "{854, 0}";
+			sepNavVisRange = "{380, 923}";
+		};
+	};
+	4F7F5C9C13E9607A002918FD /* digicode1.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 487}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 349}";
+		};
+	};
+	4F7F5C9F13E9607A002918FD /* EditorInterface.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 728}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 888}";
+		};
+	};
+	4F7F5CA013E9607A002918FD /* IPlugCustomUI.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 4030}}";
+			sepNavSelRange = "{7751, 0}";
+			sepNavVisRange = "{6781, 977}";
+		};
+	};
+	4F7F5CA113E9607A002918FD /* IPlugCustomUI.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 1066}}";
+			sepNavSelRange = "{189, 0}";
+			sepNavVisRange = "{0, 1428}";
+		};
+	};
+	4F7F5CA213E9607A002918FD /* IPlugDigiView.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 603}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 659}";
+		};
+	};
+	4F7F5CA313E9607A002918FD /* IPlugGroup.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1111, 2431}}";
+			sepNavSelRange = "{2431, 2813}";
+			sepNavVisRange = "{3492, 1898}";
+		};
+	};
+	4F7F5CA413E9607A002918FD /* IPlugGroup.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 603}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 305}";
+		};
+	};
+	4F7F5CA513E9607A002918FD /* IPlugProcess.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1344, 6266}}";
+			sepNavSelRange = "{1668, 0}";
+			sepNavVisRange = "{1021, 1632}";
+		};
+	};
+	4F7F5CA613E9607A002918FD /* IPlugProcess.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1039, 1313}}";
+			sepNavSelRange = "{2307, 0}";
+			sepNavVisRange = "{0, 2180}";
+		};
+	};
+	4F7F5CA713E9607A002918FD /* IPlugProcessRTAS.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 2587}}";
+			sepNavSelRange = "{706, 0}";
+			sepNavVisRange = "{0, 1190}";
+		};
+	};
+	4F7F5CA813E9607A002918FD /* IPlugProcessRTAS.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1097, 712}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1580}";
+		};
+	};
+	4F7F5CAA13E9607A002918FD /* ProcessInterface.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 661}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 801}";
+		};
+	};
+	4F7F5CAB13E9607A002918FD /* CommonDebugSettings.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {12185, 793}}";
+			sepNavSelRange = "{29, 10}";
+			sepNavVisRange = "{0, 4000}";
+		};
+	};
+	4F7F5CAC13E9607A002918FD /* CommonReleaseSettings.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {12185, 845}}";
+			sepNavSelRange = "{2128, 0}";
+			sepNavVisRange = "{0, 3887}";
+		};
+	};
+	4F7F5D0713E9676F002918FD /* ProTools Dev */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = "can be PT9Dev, 10Dev, whatever, install here /Applications/AVID/ProTools_3PDev/Pro Tools.app";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F7F5D0813E9676F002918FD /* Pro Tools.app */;
+		libgmallocEnabled = 0;
+		name = "ProTools Dev";
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = "/Applications/AVID/ProTools_3PDev/Pro Tools.app";
+		variableFormatDictionary = {
+		};
+	};
+	4F7F5D0813E9676F002918FD /* Pro Tools.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = folder;
+		name = "Pro Tools.app";
+		path = "/Applications/AVID/ProTools_3PDev/Pro Tools.app";
+		sourceTree = "<absolute>";
+	};
+	4F7F5D2413E9681E002918FD /* IPlugRTAS.r */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1095, 728}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 0}";
+		};
+	};
+	4F8F27C7131A78AE007A37CF /* Garageband */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 0;
+		configStateDict = {
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F8F27C8131A78AE007A37CF /* GarageBand.app */;
+		libgmallocEnabled = 0;
+		name = Garageband;
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+	};
+	4F8F27C8131A78AE007A37CF /* GarageBand.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = GarageBand.app;
+		path = /Applications/GarageBand.app;
+		sourceTree = "<absolute>";
+	};
+	4F94D77514EFB6B100DBF4C9 /* Logic */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 0;
+		configStateDict = {
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F94D77614EFB6B100DBF4C9 /* Logic Pro.app */;
+		libgmallocEnabled = 0;
+		name = Logic;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = "<<ProjectDirectory>>";
+	};
+	4F94D77614EFB6B100DBF4C9 /* Logic Pro.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = "Logic Pro.app";
+		path = "/Applications/Logic Pro.app";
+		sourceTree = "<absolute>";
+	};
+	4F94D78014EFB6F800DBF4C9 /* VST3validator */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+			YES,
+		);
+		argumentStrings = (
+			AccessiblePeakMeter.vst3,
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 0;
+		comments = "comes with the VST3 sdk, install in /usr/local/bin/vstvalidator. Remember to change arguments to match pluginname.vst3";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4F94D78114EFB6F800DBF4C9 /* vstvalidator */;
+		libgmallocEnabled = 0;
+		name = VST3validator;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = "<<ProductDirectory>>";
+	};
+	4F94D78114EFB6F800DBF4C9 /* vstvalidator */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = "compiled.mach-o.executable";
+		name = vstvalidator;
+		path = /usr/local/bin/vstvalidator;
+		sourceTree = "<absolute>";
+	};
+	4F9828AA140A9EB700F3FCC1 /* VST3 */ = {
+		activeExec = 0;
+	};
+	4FA88B901444E4C4006CB8DA /* dfx-au-utilities.c */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 2847}}";
+			sepNavSelRange = "{1504, 0}";
+			sepNavVisRange = "{880, 1364}";
+		};
+	};
+	4FA88B911444E4C4006CB8DA /* dfx-au-utilities.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 910}}";
+			sepNavSelRange = "{1372, 0}";
+			sepNavVisRange = "{740, 1761}";
+		};
+	};
+	4FB3624E13B648FE00DB6B76 /* main.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 655}}";
+			sepNavSelRange = "{119, 0}";
+			sepNavVisRange = "{0, 119}";
+		};
+	};
+	4FB600121567CB0A0020189A /* AAX */ = {
+		activeExec = 0;
+	};
+	4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 819}}";
+			sepNavSelRange = "{686, 0}";
+			sepNavVisRange = "{0, 1309}";
+			sepNavWindowFrame = "{{15, 10}, {1135, 1163}}";
+		};
+	};
+	4FD16A0813B63081001D0217 /* APP */ = {
+		activeExec = 0;
+		executables = (
+			4FD16A0A13B63081001D0217 /* APP */,
+		);
+	};
+	4FD16A0A13B63081001D0217 /* APP */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		configStateDict = {
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		libgmallocEnabled = 0;
+		name = APP;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		variableFormatDictionary = {
+		};
+	};
+	4FD16C9E13B6327C001D0217 /* app_resource.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 559}}";
+			sepNavSelRange = "{1124, 0}";
+			sepNavVisRange = "{0, 1249}";
+		};
+	};
+	4FD16C9F13B6327C001D0217 /* app_main.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 2041}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1255}";
+		};
+	};
+	4FD16CA013B6327C001D0217 /* app_main.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 13507}}";
+			sepNavSelRange = "{339, 0}";
+			sepNavVisRange = "{0, 902}";
+		};
+	};
+	4FD16CA113B6327C001D0217 /* app_dialog.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 7527}}";
+			sepNavSelRange = "{18281, 0}";
+			sepNavVisRange = "{18073, 1143}";
+		};
+	};
+	4FD16CFB13B63468001D0217 /* swell-appstub.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 810}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1115}";
+		};
+	};
+	4FD16D0213B63489001D0217 /* swell-menugen.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 1300}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1766}";
+		};
+	};
+	4FD16D0313B63494001D0217 /* swell-dlggen.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1621, 3744}}";
+			sepNavSelRange = "{2998, 14}";
+			sepNavVisRange = "{1745, 2153}";
+		};
+	};
+	4FD16D0413B634AA001D0217 /* swell-dlg.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1202, 41093}}";
+			sepNavSelRange = "{34023, 0}";
+			sepNavVisRange = "{33777, 540}";
+		};
+	};
+	4FD16D0B13B634BF001D0217 /* swell-gdi.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1230, 18772}}";
+			sepNavSelRange = "{12603, 24}";
+			sepNavVisRange = "{12418, 464}";
+		};
+	};
+	4FD16D1513B634D2001D0217 /* swell-ini.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 6370}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2168}";
+		};
+	};
+	4FD16D1713B634E5001D0217 /* swell.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1511, 2054}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1987}";
+		};
+	};
+	4FD16D2213B6351C001D0217 /* swell-functions.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 13936}}";
+			sepNavSelRange = "{5001, 67}";
+			sepNavVisRange = "{3965, 2209}";
+		};
+	};
+	4FD16D2B13B6353C001D0217 /* swell-internal.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 8710}}";
+			sepNavSelRange = "{172, 0}";
+			sepNavVisRange = "{0, 2070}";
+		};
+	};
+	4FD16D3013B6355A001D0217 /* swell-types.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 17342}}";
+			sepNavSelRange = "{2398, 1}";
+			sepNavVisRange = "{1784, 714}";
+		};
+	};
+	4FD16D3913B63582001D0217 /* swell-kb.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {3309, 7943}}";
+			sepNavSelRange = "{3207, 34}";
+			sepNavVisRange = "{2588, 1680}";
+		};
+	};
+	4FD16D3B13B6358C001D0217 /* swell-miscdlg.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 4381}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 2054}";
+		};
+	};
+	4FD16D3D13B63595001D0217 /* swell-menu.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 11167}}";
+			sepNavSelRange = "{18733, 38}";
+			sepNavVisRange = "{9043, 1395}";
+		};
+	};
+	4FD16D3F13B635A0001D0217 /* swell-misc.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 7449}}";
+			sepNavSelRange = "{1077, 47}";
+			sepNavVisRange = "{566, 1248}";
+		};
+	};
+	4FD16D4113B635AB001D0217 /* swell-wnd.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1200, 71136}}";
+			sepNavSelRange = "{1756, 67}";
+			sepNavVisRange = "{3973, 997}";
+		};
+	};
+	4FD16D4313B635B2001D0217 /* swell.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1511, 11544}}";
+			sepNavSelRange = "{1039, 0}";
+			sepNavVisRange = "{0, 1619}";
+		};
+	};
+	4FD16D4513B635C8001D0217 /* swellappmain.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1216, 760}}";
+			sepNavSelRange = "{37, 16}";
+			sepNavVisRange = "{0, 210}";
+		};
+	};
+	4FD16D4613B635C8001D0217 /* swellappmain.mm */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1539, 3055}}";
+			sepNavSelRange = "{822, 7}";
+			sepNavVisRange = "{0, 1434}";
+		};
+	};
+	4FD290A8137C34D700CEBE7E /* AccessiblePeakMeter.icns */ = {
+		uiCtxt = {
+			sepNavWindowFrame = "{{38, 92}, {1416, 1060}}";
+		};
+	};
+	4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 1261}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{565, 970}";
+		};
+	};
+	4FDA440613F3E4F2000B4551 /* IBitmapMonoText.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 624}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1048}";
+		};
+	};
+	4FE33FF310B4519D00B5FB70 /* Source Control */ = {
+		isa = PBXSourceControlManager;
+		fallbackIsa = XCSourceControlManager;
+		isSCMEnabled = 0;
+		scmConfiguration = {
+			repositoryNamesForRoots = {
+				"" = "";
+			};
+		};
+	};
+	4FE33FF410B4519D00B5FB70 /* Code sense */ = {
+		isa = PBXCodeSenseManager;
+		indexTemplatePath = "";
+	};
+	4FF016F4134E14E2001447BA /* mutex.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1301, 3133}}";
+			sepNavSelRange = "{3873, 0}";
+			sepNavVisRange = "{3435, 914}";
+		};
+	};
+	4FF016F5134E14E2001447BA /* ptrlist.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {936, 2314}}";
+			sepNavSelRange = "{1807, 0}";
+			sepNavVisRange = "{1499, 745}";
+		};
+	};
+	4FF016F6134E14E2001447BA /* wdlstring.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 4472}}";
+			sepNavSelRange = "{1222, 0}";
+			sepNavVisRange = "{0, 1448}";
+		};
+	};
+	4FF01719134E153A001447BA /* heapbuf.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1621, 4537}}";
+			sepNavSelRange = "{8520, 0}";
+			sepNavVisRange = "{6893, 1858}";
+		};
+	};
+	4FF2407313FAB21200E40631 /* AudioMulch */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 0;
+		comments = "install here /Applications/AudioMulch/AudioMulch.app";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4FF2407413FAB21200E40631 /* AudioMulch.app */;
+		libgmallocEnabled = 0;
+		name = AudioMulch;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+	};
+	4FF2407413FAB21200E40631 /* AudioMulch.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = AudioMulch.app;
+		path = /Applications/AudioMulch/AudioMulch.app;
+		sourceTree = "<absolute>";
+	};
+	4FF6D80B12B285AF001E9114 /* Cubase */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = "Cubase 6";
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4FF6D80C12B285AF001E9114 /* Cubase 6.app */;
+		libgmallocEnabled = 0;
+		name = Cubase;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = /Applications/;
+		variableFormatDictionary = {
+		};
+	};
+	4FF6D80C12B285AF001E9114 /* Cubase 6.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = "Cubase 6.app";
+		path = "/Applications/Cubase 6.app";
+		sourceTree = "<absolute>";
+	};
+	4FF6D80D12B285DC001E9114 /* Reaper */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = /Applications/REAPER.app;
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4FF6D80E12B285DC001E9114 /* REAPER.app */;
+		libgmallocEnabled = 0;
+		name = Reaper;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = /Applications/;
+		variableFormatDictionary = {
+		};
+	};
+	4FF6D80E12B285DC001E9114 /* REAPER.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = REAPER.app;
+		path = /Applications/REAPER.app;
+		sourceTree = "<absolute>";
+	};
+	4FF6D80F12B28631001E9114 /* Live */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		comments = /Applications/Live/Live.app;
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 2;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				commandLineArgs = (
+				);
+				displayName = "Executable Runner";
+				environment = {
+				};
+				identifier = com.apple.Xcode.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		launchableReference = 4FF6D81012B28631001E9114 /* Live.app */;
+		libgmallocEnabled = 0;
+		name = Live;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		startupPath = /Applications/;
+		variableFormatDictionary = {
+		};
+	};
+	4FF6D81012B28631001E9114 /* Live.app */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = wrapper.application;
+		name = Live.app;
+		path = /Applications/Live/Live.app;
+		sourceTree = "<absolute>";
+	};
+	4FF7B0D4156A825000E6CB12 /* common.xcconfig */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1335, 647}}";
+			sepNavSelRange = "{302, 0}";
+			sepNavVisRange = "{0, 2094}";
+		};
+	};
+	526F9C010D7DC7D700562CF8 /* AccessiblePeakMeter.exp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1120, 501}}";
+			sepNavSelRange = "{38, 0}";
+			sepNavVisRange = "{0, 42}";
+		};
+	};
+	52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 1014}}";
+			sepNavSelRange = "{409, 1}";
+			sepNavVisRange = "{0, 1148}";
+			sepNavWindowFrame = "{{15, 109}, {1089, 914}}";
+		};
+	};
+	52FBBED20D0CF13D001C8B8A /* AccessiblePeakMeter.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 644}}";
+			sepNavSelRange = "{329, 0}";
+			sepNavVisRange = "{0, 366}";
+		};
+	};
+	52FBBED30D0CF143001C8B8A /* resource.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1271, 1092}}";
+			sepNavSelRange = "{160, 0}";
+			sepNavVisRange = "{0, 1439}";
+			sepNavWindowFrame = "{{15, 4}, {1416, 1024}}";
+		};
+	};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter.xcodeproj/project.pbxproj	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,2893 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXAggregateTarget section */
+		4F78DAF113B643600032E0F3 /* All */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 4F78DAFD13B643940032E0F3 /* Build configuration list for PBXAggregateTarget "All" */;
+			buildPhases = (
+			);
+			dependencies = (
+				4F78DAF613B6436B0032E0F3 /* PBXTargetDependency */,
+				4F78DAF813B6436B0032E0F3 /* PBXTargetDependency */,
+				4F78DAFA13B6436B0032E0F3 /* PBXTargetDependency */,
+				4F8D4C6313E97B3D004F7633 /* PBXTargetDependency */,
+				4F9828F8140A9F0200F3FCC1 /* PBXTargetDependency */,
+				4F789ED016763E47009EF688 /* PBXTargetDependency */,
+			);
+			name = All;
+			productName = "AllOSX_32&64_intel";
+		};
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+		4F1F1BEA135B1F60003A5BB2 /* wdlendian.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1F1BE9135B1F60003A5BB2 /* wdlendian.h */; };
+		4F20EECB132C69FE0030E34C /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4F20EF2D132C69FE0030E34C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4F20EF2E132C69FE0030E34C /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4F23B9F313B647A00097A67E /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4F23B9FD13B647A00097A67E /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4F23BA0C13B647A00097A67E /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4F296BDA1678E6C800C0F5C2 /* dfx-au-utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = 4FA88B901444E4C4006CB8DA /* dfx-au-utilities.c */; };
+		4F3AE17B12C0E5E2001FD7A4 /* resource.h in Headers */ = {isa = PBXBuildFile; fileRef = 52FBBED30D0CF143001C8B8A /* resource.h */; };
+		4F3AE17C12C0E5E2001FD7A4 /* AccessiblePeakMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = 52FBBED20D0CF13D001C8B8A /* AccessiblePeakMeter.h */; };
+		4F3AE1A312C0E5E2001FD7A4 /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4F3AE1D412C0E5E2001FD7A4 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4F3AE1D512C0E5E2001FD7A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4F3AE1D612C0E5E2001FD7A4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E41D920D14C2D600A0943B /* AudioToolbox.framework */; };
+		4F3AE1D712C0E5E2001FD7A4 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E41D7E0D14C2D100A0943B /* AudioUnit.framework */; };
+		4F3AE1D812C0E5E2001FD7A4 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E41CC40D14C2B000A0943B /* CoreServices.framework */; };
+		4F3AE1D912C0E5E2001FD7A4 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E41CB90D14C2A900A0943B /* CoreAudio.framework */; };
+		4F3B0B44158B50A5001B0CEF /* libAAXLibrary.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8B6723158B4EB2002FC25B /* libAAXLibrary.a */; };
+		4F3EE94613B65A350097B791 /* IPlugOSDetect.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3EE94513B65A350097B791 /* IPlugOSDetect.h */; };
+		4F3EE94913B65A350097B791 /* IPlugOSDetect.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3EE94513B65A350097B791 /* IPlugOSDetect.h */; };
+		4F78D70B13B637340032E0F3 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F78D62313B637200032E0F3 /* CoreFoundation.framework */; };
+		4F78D7D013B637790032E0F3 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F78D7CF13B637790032E0F3 /* CoreMIDI.framework */; };
+		4F78D86E13B637A20032E0F3 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2F7E65807B2D6F200F64583 /* CoreData.framework */; };
+		4F78D87013B637A20032E0F3 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E41CB90D14C2A900A0943B /* CoreAudio.framework */; };
+		4F78D87113B637A20032E0F3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4F78D87513B637E50032E0F3 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4F78D88613B6382B0032E0F3 /* AccessiblePeakMeter.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4FD290A8137C34D700CEBE7E /* AccessiblePeakMeter.icns */; };
+		4F78D89913B639100032E0F3 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4F78D89513B639100032E0F3 /* InfoPlist.strings */; };
+		4F78D89A13B639100032E0F3 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4F78D89713B639100032E0F3 /* MainMenu.xib */; };
+		4F78D8C413B63A700032E0F3 /* RtAudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8BF13B63A700032E0F3 /* RtAudio.cpp */; };
+		4F78D8C513B63A700032E0F3 /* RtMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8C213B63A700032E0F3 /* RtMidi.cpp */; };
+		4F78D8D913B63B5D0032E0F3 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8D213B63B5D0032E0F3 /* aeffect.h */; };
+		4F78D8DA13B63B5D0032E0F3 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8D313B63B5D0032E0F3 /* aeffectx.h */; };
+		4F78D90A13B63BA50032E0F3 /* IPlugStandalone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EB13B63BA40032E0F3 /* IPlugStandalone.cpp */; };
+		4F78D90B13B63BA50032E0F3 /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4F78D90C13B63BA50032E0F3 /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4F78D90D13B63BA50032E0F3 /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4F78D90F13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4F78D91013B63BA50032E0F3 /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4F78D91113B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4F78D91213B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4F78D91313B63BA50032E0F3 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4F78D91413B63BA50032E0F3 /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4F78D91813B63BA50032E0F3 /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4F78D91913B63BA50032E0F3 /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4F78D93E13B63BA50032E0F3 /* IPlug_include_in_plug_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E613B63BA40032E0F3 /* IPlug_include_in_plug_hdr.h */; };
+		4F78D94013B63BA50032E0F3 /* IPlug_include_in_plug_src.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E813B63BA40032E0F3 /* IPlug_include_in_plug_src.h */; };
+		4F78D94113B63BA50032E0F3 /* IControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E913B63BA40032E0F3 /* IControl.h */; };
+		4F78D94213B63BA50032E0F3 /* IKeyboardControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EA13B63BA40032E0F3 /* IKeyboardControl.h */; };
+		4F78D94413B63BA50032E0F3 /* IPlugBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EC13B63BA40032E0F3 /* IPlugBase.h */; };
+		4F78D94513B63BA50032E0F3 /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4F78D94613B63BA50032E0F3 /* IGraphicsMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EE13B63BA50032E0F3 /* IGraphicsMac.h */; };
+		4F78D94713B63BA50032E0F3 /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4F78D94913B63BA50032E0F3 /* Containers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F113B63BA50032E0F3 /* Containers.h */; };
+		4F78D94A13B63BA50032E0F3 /* Hosts.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F213B63BA50032E0F3 /* Hosts.h */; };
+		4F78D94B13B63BA50032E0F3 /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4F78D94D13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4F78D94E13B63BA50032E0F3 /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4F78D94F13B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4F78D95013B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4F78D95113B63BA50032E0F3 /* IGraphicsCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F913B63BA50032E0F3 /* IGraphicsCocoa.h */; };
+		4F78D95213B63BA50032E0F3 /* Log.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FA13B63BA50032E0F3 /* Log.h */; };
+		4F78D95313B63BA50032E0F3 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4F78D95413B63BA50032E0F3 /* IPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FC13B63BA50032E0F3 /* IPopupMenu.h */; };
+		4F78D95513B63BA50032E0F3 /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4F78D95613B63BA50032E0F3 /* IPlugStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FE13B63BA50032E0F3 /* IPlugStructs.h */; };
+		4F78D95A13B63BA50032E0F3 /* IPlug_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90213B63BA50032E0F3 /* IPlug_Prefix.pch */; };
+		4F78D95B13B63BA50032E0F3 /* IParam.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90313B63BA50032E0F3 /* IParam.h */; };
+		4F78D95C13B63BA50032E0F3 /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4F78D95D13B63BA50032E0F3 /* IMidiQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90513B63BA50032E0F3 /* IMidiQueue.h */; };
+		4F78D95F13B63BA50032E0F3 /* IGraphicsCarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90713B63BA50032E0F3 /* IGraphicsCarbon.h */; };
+		4F78D96013B63BA50032E0F3 /* IGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90813B63BA50032E0F3 /* IGraphics.h */; };
+		4F78D96113B63BA50032E0F3 /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4F78D9BB13B63BA50032E0F3 /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4F78D9BC13B63BA50032E0F3 /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4F78D9BD13B63BA50032E0F3 /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4F78D9BF13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4F78D9C013B63BA50032E0F3 /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4F78D9C113B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4F78D9C213B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4F78D9C313B63BA50032E0F3 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4F78D9C413B63BA50032E0F3 /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4F78D9C813B63BA50032E0F3 /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4F78D9C913B63BA50032E0F3 /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4F78D9F313B63C6A0032E0F3 /* IPlugVST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D9EC13B63C6A0032E0F3 /* IPlugVST.cpp */; };
+		4F78DA0713B63CD90032E0F3 /* IPlugAU.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D9FB13B63CD90032E0F3 /* IPlugAU.h */; };
+		4F78DA0813B63CD90032E0F3 /* IPlugAU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D9FC13B63CD90032E0F3 /* IPlugAU.cpp */; };
+		4F78DA0913B63CD90032E0F3 /* IPlugAU.r in Rez */ = {isa = PBXBuildFile; fileRef = 4F78D9FD13B63CD90032E0F3 /* IPlugAU.r */; };
+		4F78DA0A13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D9FE13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm */; };
+		4F78DA5A13B63F150032E0F3 /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4F78DA7713B640050032E0F3 /* resource.h in Headers */ = {isa = PBXBuildFile; fileRef = 52FBBED30D0CF143001C8B8A /* resource.h */; };
+		4F78DA7813B640050032E0F3 /* AccessiblePeakMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = 52FBBED20D0CF13D001C8B8A /* AccessiblePeakMeter.h */; };
+		4F78DA8A13B640050032E0F3 /* mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F4134E14E2001447BA /* mutex.h */; };
+		4F78DA8B13B640050032E0F3 /* ptrlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F5134E14E2001447BA /* ptrlist.h */; };
+		4F78DA8C13B640050032E0F3 /* wdlstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F6134E14E2001447BA /* wdlstring.h */; };
+		4F78DA8D13B640050032E0F3 /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF01719134E153A001447BA /* heapbuf.h */; };
+		4F78DA8E13B640050032E0F3 /* wdlendian.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1F1BE9135B1F60003A5BB2 /* wdlendian.h */; };
+		4F78DA8F13B640050032E0F3 /* swell.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D1713B634E5001D0217 /* swell.h */; };
+		4F78DA9013B640050032E0F3 /* swell-functions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D2213B6351C001D0217 /* swell-functions.h */; };
+		4F78DA9113B640050032E0F3 /* swell-internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D2B13B6353C001D0217 /* swell-internal.h */; };
+		4F78DA9213B640050032E0F3 /* swell-types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D3013B6355A001D0217 /* swell-types.h */; };
+		4F78DA9313B640050032E0F3 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8D213B63B5D0032E0F3 /* aeffect.h */; };
+		4F78DA9413B640050032E0F3 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8D313B63B5D0032E0F3 /* aeffectx.h */; };
+		4F78DA9513B640050032E0F3 /* IPlug_include_in_plug_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E613B63BA40032E0F3 /* IPlug_include_in_plug_hdr.h */; };
+		4F78DA9613B640050032E0F3 /* IPlug_include_in_plug_src.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E813B63BA40032E0F3 /* IPlug_include_in_plug_src.h */; };
+		4F78DA9713B640050032E0F3 /* IControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8E913B63BA40032E0F3 /* IControl.h */; };
+		4F78DA9813B640050032E0F3 /* IKeyboardControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EA13B63BA40032E0F3 /* IKeyboardControl.h */; };
+		4F78DA9913B640050032E0F3 /* IPlugBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EC13B63BA40032E0F3 /* IPlugBase.h */; };
+		4F78DA9A13B640050032E0F3 /* IGraphicsMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8EE13B63BA50032E0F3 /* IGraphicsMac.h */; };
+		4F78DA9C13B640050032E0F3 /* Containers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F113B63BA50032E0F3 /* Containers.h */; };
+		4F78DA9D13B640050032E0F3 /* Hosts.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F213B63BA50032E0F3 /* Hosts.h */; };
+		4F78DA9E13B640050032E0F3 /* IGraphicsCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8F913B63BA50032E0F3 /* IGraphicsCocoa.h */; };
+		4F78DA9F13B640050032E0F3 /* Log.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FA13B63BA50032E0F3 /* Log.h */; };
+		4F78DAA013B640050032E0F3 /* IPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FC13B63BA50032E0F3 /* IPopupMenu.h */; };
+		4F78DAA113B640050032E0F3 /* IPlugStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8FE13B63BA50032E0F3 /* IPlugStructs.h */; };
+		4F78DAA213B640050032E0F3 /* IPlug_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90213B63BA50032E0F3 /* IPlug_Prefix.pch */; };
+		4F78DAA313B640050032E0F3 /* IParam.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90313B63BA50032E0F3 /* IParam.h */; };
+		4F78DAA413B640050032E0F3 /* IMidiQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90513B63BA50032E0F3 /* IMidiQueue.h */; };
+		4F78DAA513B640050032E0F3 /* IGraphicsCarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90713B63BA50032E0F3 /* IGraphicsCarbon.h */; };
+		4F78DAA613B640050032E0F3 /* IGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D90813B63BA50032E0F3 /* IGraphics.h */; };
+		4F78DAB113B640470032E0F3 /* swell-menugen.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D0213B63489001D0217 /* swell-menugen.h */; };
+		4F78DAB213B640470032E0F3 /* swell-dlggen.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D0313B63494001D0217 /* swell-dlggen.h */; };
+		4F78DAB313B640470032E0F3 /* swellappmain.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D4513B635C8001D0217 /* swellappmain.h */; };
+		4F78DAB813B640530032E0F3 /* RtAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8C013B63A700032E0F3 /* RtAudio.h */; };
+		4F78DAB913B640530032E0F3 /* RtError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8C113B63A700032E0F3 /* RtError.h */; };
+		4F78DABA13B640530032E0F3 /* RtMidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D8C313B63A700032E0F3 /* RtMidi.h */; };
+		4F78DABB13B640620032E0F3 /* IPlugStandalone.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F78D9EA13B63BE90032E0F3 /* IPlugStandalone.h */; };
+		4F79A34E146304CD00744AED /* IPlugProcessAS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F79A34C146304CD00744AED /* IPlugProcessAS.cpp */; };
+		4F7E1EB516792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7E1EB916792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7E1EBD16792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7E1EC116792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7E1EC516792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7E1EC916792F6000907FCF /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F7E1EB116792F6000907FCF /* bg.png */; };
+		4F7F5C4613E95EC8002918FD /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4F7F5C4913E95EC8002918FD /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4F7F5C5013E95EC8002918FD /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4F7F5C5113E95EC8002918FD /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4F7F5C5213E95EC8002918FD /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4F7F5C5313E95EC8002918FD /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4F7F5C5413E95EC8002918FD /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4F7F5C5513E95EC8002918FD /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4F7F5C5613E95EC8002918FD /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4F7F5C5713E95EC8002918FD /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4F7F5C5813E95EC8002918FD /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4F7F5C5913E95EC8002918FD /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4F7F5C5A13E95EC8002918FD /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4F7F5C5B13E95EC8002918FD /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4F7F5C6213E95EC8002918FD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4F7F5C6313E95EC8002918FD /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4F7F5C7113E95FB2002918FD /* IPlugRTAS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5C6F13E95FB2002918FD /* IPlugRTAS.cpp */; };
+		4F7F5CAD13E9607A002918FD /* digicode1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5C9C13E9607A002918FD /* digicode1.cpp */; };
+		4F7F5CAE13E9607A002918FD /* digicode2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5C9D13E9607A002918FD /* digicode2.cpp */; };
+		4F7F5CAF13E9607A002918FD /* digicode3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5C9E13E9607A002918FD /* digicode3.cpp */; };
+		4F7F5CB013E9607A002918FD /* IPlugCustomUI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5CA013E9607A002918FD /* IPlugCustomUI.cpp */; };
+		4F7F5CB113E9607A002918FD /* IPlugGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5CA313E9607A002918FD /* IPlugGroup.cpp */; };
+		4F7F5CB213E9607A002918FD /* IPlugProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5CA513E9607A002918FD /* IPlugProcess.cpp */; };
+		4F7F5CB313E9607A002918FD /* IPlugProcessRTAS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F7F5CA713E9607A002918FD /* IPlugProcessRTAS.cpp */; };
+		4F7F5CF713E96564002918FD /* System.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F7F5CF613E96564002918FD /* System.framework */; };
+		4F7F5D2C13E9686E002918FD /* IPlugRTAS.r in Rez */ = {isa = PBXBuildFile; fileRef = 4F7F5D2413E9681E002918FD /* IPlugRTAS.r */; };
+		4F8B6766158B4F74002FC25B /* libPluginLibrary.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8B674F158B4F53002FC25B /* libPluginLibrary.a */; };
+		4F8D4BCD13E97671004F7633 /* lice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4BCC13E97664004F7633 /* lice.a */; };
+		4F8D4C2813E9778D004F7633 /* lice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4BCC13E97664004F7633 /* lice.a */; };
+		4F8D4C2913E97794004F7633 /* lice32.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4C1713E976A7004F7633 /* lice32.a */; };
+		4F8D4C2F13E97806004F7633 /* lice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4BCC13E97664004F7633 /* lice.a */; };
+		4F9828B1140A9EB700F3FCC1 /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4F9828B6140A9EB700F3FCC1 /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4F9828B7140A9EB700F3FCC1 /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4F9828B8140A9EB700F3FCC1 /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4F9828B9140A9EB700F3FCC1 /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4F9828BA140A9EB700F3FCC1 /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4F9828BB140A9EB700F3FCC1 /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4F9828BC140A9EB700F3FCC1 /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4F9828BD140A9EB700F3FCC1 /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4F9828BE140A9EB700F3FCC1 /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4F9828BF140A9EB700F3FCC1 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4F9828C0140A9EB700F3FCC1 /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4F9828C1140A9EB700F3FCC1 /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4F9828C2140A9EB700F3FCC1 /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4F9828C3140A9EB700F3FCC1 /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4F9828C4140A9EB700F3FCC1 /* IPlugVST3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F3E69041409746500C4D749 /* IPlugVST3.cpp */; };
+		4F9828C5140A9EB700F3FCC1 /* memorystream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4ACFF5140996A10068A6D4 /* memorystream.cpp */; };
+		4F9828C6140A9EB700F3FCC1 /* pluginview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4ACFF7140996A10068A6D4 /* pluginview.cpp */; };
+		4F9828C7140A9EB700F3FCC1 /* macmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4ACFFB140996A10068A6D4 /* macmain.cpp */; };
+		4F9828C8140A9EB700F3FCC1 /* pluginfactoryvst3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4ACFFC140996A10068A6D4 /* pluginfactoryvst3.cpp */; };
+		4F9828C9140A9EB700F3FCC1 /* vstaudioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4ACFFF140996A10068A6D4 /* vstaudioeffect.cpp */; };
+		4F9828CA140A9EB700F3FCC1 /* vstbus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD001140996A10068A6D4 /* vstbus.cpp */; };
+		4F9828CB140A9EB700F3FCC1 /* vstcomponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD003140996A10068A6D4 /* vstcomponent.cpp */; };
+		4F9828CC140A9EB700F3FCC1 /* vstcomponentbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD005140996A10068A6D4 /* vstcomponentbase.cpp */; };
+		4F9828CE140A9EB700F3FCC1 /* vstinitiids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD009140996A10068A6D4 /* vstinitiids.cpp */; };
+		4F9828CF140A9EB700F3FCC1 /* vstnoteexpressiontypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD00A140996A10068A6D4 /* vstnoteexpressiontypes.cpp */; };
+		4F9828D0140A9EB700F3FCC1 /* vstparameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD00C140996A10068A6D4 /* vstparameters.cpp */; };
+		4F9828D1140A9EB700F3FCC1 /* vstpresetfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD00E140996A10068A6D4 /* vstpresetfile.cpp */; };
+		4F9828D2140A9EB700F3FCC1 /* vstrepresentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD010140996A10068A6D4 /* vstrepresentation.cpp */; };
+		4F9828D3140A9EB700F3FCC1 /* vstsinglecomponenteffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD012140996A10068A6D4 /* vstsinglecomponenteffect.cpp */; };
+		4F9828D4140A9EB700F3FCC1 /* conststringtable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD016140996A10068A6D4 /* conststringtable.cpp */; };
+		4F9828D5140A9EB700F3FCC1 /* funknown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD01D140996A10068A6D4 /* funknown.cpp */; };
+		4F9828D6140A9EB700F3FCC1 /* ustring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4AD028140996A10068A6D4 /* ustring.cpp */; };
+		4F9828D8140A9EB700F3FCC1 /* libbase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F4AD1F61409A56A0068A6D4 /* libbase.a */; };
+		4F9828DA140A9EB700F3FCC1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4F9828DB140A9EB700F3FCC1 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4F9828F6140A9EEE00F3FCC1 /* lice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4BCC13E97664004F7633 /* lice.a */; };
+		4FA88B931444E4C4006CB8DA /* dfx-au-utilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FA88B911444E4C4006CB8DA /* dfx-au-utilities.h */; };
+		4FB3624F13B648FE00DB6B76 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FB3624E13B648FE00DB6B76 /* main.mm */; };
+		4FB600161567CB0A0020189A /* knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F23B9E413B647A00097A67E /* knob.png */; };
+		4FB600181567CB0A0020189A /* AccessiblePeakMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */; };
+		4FB600191567CB0A0020189A /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4FB6001A1567CB0A0020189A /* IPlugBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */; };
+		4FB6001B1567CB0A0020189A /* IPlugStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */; };
+		4FB6001C1567CB0A0020189A /* Hosts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F313B63BA50032E0F3 /* Hosts.cpp */; };
+		4FB6001D1567CB0A0020189A /* IGraphicsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */; };
+		4FB6001E1567CB0A0020189A /* IGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */; };
+		4FB6001F1567CB0A0020189A /* IGraphicsCarbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */; };
+		4FB600201567CB0A0020189A /* IGraphicsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */; };
+		4FB600211567CB0A0020189A /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FB13B63BA50032E0F3 /* Log.cpp */; };
+		4FB600221567CB0A0020189A /* IPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */; };
+		4FB600231567CB0A0020189A /* IParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90413B63BA50032E0F3 /* IParam.cpp */; };
+		4FB600241567CB0A0020189A /* IControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F78D90913B63BA50032E0F3 /* IControl.cpp */; };
+		4FB600251567CB0A0020189A /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4FB600261567CB0A0020189A /* AAX_Exports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4CC38A1549B91100A9EA21 /* AAX_Exports.cpp */; };
+		4FB600271567CB0A0020189A /* IPlugAAX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4CC4251549BED600A9EA21 /* IPlugAAX.cpp */; };
+		4FB600281567CB0A0020189A /* IPlugAAX_Describe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4CC4401549C15500A9EA21 /* IPlugAAX_Describe.cpp */; };
+		4FB600291567CB0A0020189A /* AAX_CIPlugParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F017360154D4BFC0034BE1A /* AAX_CIPlugParameters.cpp */; };
+		4FB6002C1567CB0A0020189A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+		4FB6002D1567CB0A0020189A /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52C4DB180D0E51270007A920 /* Carbon.framework */; };
+		4FB600551567CBF90020189A /* lice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8D4BCC13E97664004F7633 /* lice.a */; };
+		4FD16CA213B6327D001D0217 /* app_main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16CA013B6327C001D0217 /* app_main.cpp */; };
+		4FD16CA313B6327D001D0217 /* app_dialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16CA113B6327C001D0217 /* app_dialog.cpp */; };
+		4FD16CFC13B63468001D0217 /* swell-appstub.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16CFB13B63468001D0217 /* swell-appstub.mm */; };
+		4FD16D0513B634AA001D0217 /* swell-dlg.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0413B634AA001D0217 /* swell-dlg.mm */; };
+		4FD16D0C13B634BF001D0217 /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4FD16D0E13B634BF001D0217 /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4FD16D1213B634BF001D0217 /* swell-gdi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D0B13B634BF001D0217 /* swell-gdi.mm */; };
+		4FD16D1613B634D2001D0217 /* swell-ini.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D1513B634D2001D0217 /* swell-ini.cpp */; };
+		4FD16D1913B634E5001D0217 /* swell.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D1713B634E5001D0217 /* swell.h */; };
+		4FD16D2413B6351C001D0217 /* swell-functions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D2213B6351C001D0217 /* swell-functions.h */; };
+		4FD16D2D13B6353C001D0217 /* swell-internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D2B13B6353C001D0217 /* swell-internal.h */; };
+		4FD16D3213B6355A001D0217 /* swell-types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD16D3013B6355A001D0217 /* swell-types.h */; };
+		4FD16D3A13B63582001D0217 /* swell-kb.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D3913B63582001D0217 /* swell-kb.mm */; };
+		4FD16D3C13B6358C001D0217 /* swell-miscdlg.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D3B13B6358C001D0217 /* swell-miscdlg.mm */; };
+		4FD16D3E13B63595001D0217 /* swell-menu.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D3D13B63595001D0217 /* swell-menu.mm */; };
+		4FD16D4013B635A0001D0217 /* swell-misc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D3F13B635A0001D0217 /* swell-misc.mm */; };
+		4FD16D4213B635AB001D0217 /* swell-wnd.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D4113B635AB001D0217 /* swell-wnd.mm */; };
+		4FD16D4413B635B2001D0217 /* swell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D4313B635B2001D0217 /* swell.cpp */; };
+		4FD16D4713B635C8001D0217 /* swellappmain.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FD16D4613B635C8001D0217 /* swellappmain.mm */; };
+		4FDA440713F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4FDA440813F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4FDA440913F3E4F2000B4551 /* IBitmapMonoText.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FDA440613F3E4F2000B4551 /* IBitmapMonoText.h */; };
+		4FDA440C13F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4FDA440E13F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */; };
+		4FDA440F13F3E4F2000B4551 /* IBitmapMonoText.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FDA440613F3E4F2000B4551 /* IBitmapMonoText.h */; };
+		4FF016F7134E14E2001447BA /* mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F4134E14E2001447BA /* mutex.h */; };
+		4FF016F8134E14E2001447BA /* ptrlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F5134E14E2001447BA /* ptrlist.h */; };
+		4FF016F9134E14E2001447BA /* wdlstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF016F6134E14E2001447BA /* wdlstring.h */; };
+		4FF0171A134E153A001447BA /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF01719134E153A001447BA /* heapbuf.h */; };
+		5EDC2A811A93B020004EFD46 /* ADSR.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDC2A771A93B020004EFD46 /* ADSR.h */; };
+		5EDC2A821A93B020004EFD46 /* Envelope.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDC2A781A93B020004EFD46 /* Envelope.h */; };
+		5EDC2A831A93B020004EFD46 /* Generator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDC2A791A93B020004EFD46 /* Generator.h */; };
+		5EDC2A841A93B020004EFD46 /* SineWave.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDC2A7A1A93B020004EFD46 /* SineWave.h */; };
+		5EDC2A851A93B020004EFD46 /* Stk.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDC2A7B1A93B020004EFD46 /* Stk.h */; };
+		5EDC2A861A93B020004EFD46 /* ADSR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7D1A93B020004EFD46 /* ADSR.cpp */; };
+		5EDC2A871A93B020004EFD46 /* ADSR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7D1A93B020004EFD46 /* ADSR.cpp */; };
+		5EDC2A881A93B020004EFD46 /* Envelope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7E1A93B020004EFD46 /* Envelope.cpp */; };
+		5EDC2A891A93B020004EFD46 /* Envelope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7E1A93B020004EFD46 /* Envelope.cpp */; };
+		5EDC2A8A1A93B020004EFD46 /* SineWave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7F1A93B020004EFD46 /* SineWave.cpp */; };
+		5EDC2A8B1A93B020004EFD46 /* SineWave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A7F1A93B020004EFD46 /* SineWave.cpp */; };
+		5EDC2A8C1A93B020004EFD46 /* Stk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A801A93B020004EFD46 /* Stk.cpp */; };
+		5EDC2A8D1A93B020004EFD46 /* Stk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EDC2A801A93B020004EFD46 /* Stk.cpp */; };
+		5EDC2A961A93BA2E004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A971A93BA2E004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A981A93BA2F004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A991A93BA2F004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A9A1A93BA30004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A9B1A93BA30004EFD46 /* switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A951A93B343004EFD46 /* switch.png */; };
+		5EDC2A9C1A93BA33004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+		5EDC2A9D1A93BA33004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+		5EDC2A9E1A93BA34004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+		5EDC2A9F1A93BA34004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+		5EDC2AA01A93BA34004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+		5EDC2AA11A93BA35004EFD46 /* fader.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EDC2A921A93B337004EFD46 /* fader.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		4F3B0B42158B509A001B0CEF /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = AAXLibrary;
+		};
+		4F4AD1F51409A56A0068A6D4 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = base;
+		};
+		4F678B6C13E984B200A6A9BB /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = "lice_32&64_intel";
+		};
+		4F789ECF16763E47009EF688 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4FB600121567CB0A0020189A;
+			remoteInfo = "AAX_32&64_intel";
+		};
+		4F78DAF513B6436B0032E0F3 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4FD16A0813B63081001D0217;
+			remoteInfo = "OSXAPP_32&64_intel";
+		};
+		4F78DAF713B6436B0032E0F3 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4F20EEC8132C69FE0030E34C;
+			remoteInfo = "VST_32&64_intel";
+		};
+		4F78DAF913B6436B0032E0F3 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4F3AE17812C0E5E2001FD7A4;
+			remoteInfo = "AU_32&64_intel";
+		};
+		4F8B6722158B4EB2002FC25B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = AAXLibrary;
+		};
+		4F8B6724158B4EB2002FC25B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 4B00D06910E022FD00816F7B;
+			remoteInfo = AAXLibrary_UnitTest;
+		};
+		4F8B674E158B4F53002FC25B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8B6747158B4F53002FC25B /* PluginLibrary.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = B65B09B30860FB0800FE2E6A;
+			remoteInfo = "Plugin Library";
+		};
+		4F8B6764158B4F67002FC25B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8B6747158B4F53002FC25B /* PluginLibrary.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = B65B09B20860FB0800FE2E6A;
+			remoteInfo = "Plugin Library";
+		};
+		4F8D4BCB13E97664004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = lice;
+		};
+		4F8D4C1613E976A7004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 4F8D4C1413E976A7004F7633;
+			remoteInfo = "lice copy";
+		};
+		4F8D4C2C13E977CD004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = "lice_32&64_intel";
+		};
+		4F8D4C3713E9783A004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = 4F8D4BD513E976A7004F7633;
+			remoteInfo = lice_32_intel;
+		};
+		4F8D4C3913E97859004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = "lice_32&64_intel";
+		};
+		4F8D4C6213E97B3D004F7633 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4F7F5C4213E95EC8002918FD;
+			remoteInfo = RTAS_32_intel;
+		};
+		4F9828AE140A9EB700F3FCC1 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = base;
+		};
+		4F9828F2140A9ED500F3FCC1 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = "lice_32&64_intel";
+		};
+		4F9828F7140A9F0200F3FCC1 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4F9828AA140A9EB700F3FCC1;
+			remoteInfo = "VST3_32&64_intel";
+		};
+		4FA708BE158B47F000BFC572 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 4FA708BC158B47D200BFC572;
+			remoteInfo = base_32;
+		};
+		4FB6004F1567CB990020189A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = "lice_32&64_intel";
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+		089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+		089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+		1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+		4F017360154D4BFC0034BE1A /* AAX_CIPlugParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AAX_CIPlugParameters.cpp; path = ../../WDL/IPlug/AAX/AAX_CIPlugParameters.cpp; sourceTree = SOURCE_ROOT; };
+		4F017361154D4BFC0034BE1A /* AAX_CIPlugParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AAX_CIPlugParameters.h; path = ../../WDL/IPlug/AAX/AAX_CIPlugParameters.h; sourceTree = SOURCE_ROOT; };
+		4F1F1BE9135B1F60003A5BB2 /* wdlendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wdlendian.h; path = ../../WDL/wdlendian.h; sourceTree = SOURCE_ROOT; };
+		4F20EF33132C69FE0030E34C /* AccessiblePeakMeter.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AccessiblePeakMeter.vst; sourceTree = BUILT_PRODUCTS_DIR; };
+		4F23B9E413B647A00097A67E /* knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = knob.png; path = resources/img/knob.png; sourceTree = "<group>"; };
+		4F23BA1313B647E50097A67E /* AccessiblePeakMeter-AU-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-AU-Info.plist"; path = "resources/AccessiblePeakMeter-AU-Info.plist"; sourceTree = "<group>"; };
+		4F23BA1413B647E50097A67E /* AccessiblePeakMeter-OSXAPP-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-OSXAPP-Info.plist"; path = "resources/AccessiblePeakMeter-OSXAPP-Info.plist"; sourceTree = "<group>"; };
+		4F23BA1513B647E50097A67E /* AccessiblePeakMeter-VST2-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-VST2-Info.plist"; path = "resources/AccessiblePeakMeter-VST2-Info.plist"; sourceTree = "<group>"; };
+		4F3E69041409746500C4D749 /* IPlugVST3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugVST3.cpp; path = ../../WDL/IPlug/IPlugVST3.cpp; sourceTree = SOURCE_ROOT; };
+		4F3E69051409746500C4D749 /* IPlugVST3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugVST3.h; path = ../../WDL/IPlug/IPlugVST3.h; sourceTree = SOURCE_ROOT; };
+		4F3E693A1409747300C4D749 /* AccessiblePeakMeter-VST3-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-VST3-Info.plist"; path = "resources/AccessiblePeakMeter-VST3-Info.plist"; sourceTree = "<group>"; };
+		4F3EE94513B65A350097B791 /* IPlugOSDetect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugOSDetect.h; path = ../../WDL/IPlug/IPlugOSDetect.h; sourceTree = SOURCE_ROOT; };
+		4F4ACFF5140996A10068A6D4 /* memorystream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memorystream.cpp; sourceTree = "<group>"; };
+		4F4ACFF6140996A10068A6D4 /* memorystream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memorystream.h; sourceTree = "<group>"; };
+		4F4ACFF7140996A10068A6D4 /* pluginview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pluginview.cpp; sourceTree = "<group>"; };
+		4F4ACFF8140996A10068A6D4 /* pluginview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pluginview.h; sourceTree = "<group>"; };
+		4F4ACFFB140996A10068A6D4 /* macmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = macmain.cpp; sourceTree = "<group>"; };
+		4F4ACFFC140996A10068A6D4 /* pluginfactoryvst3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pluginfactoryvst3.cpp; sourceTree = "<group>"; };
+		4F4ACFFD140996A10068A6D4 /* pluginfactoryvst3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pluginfactoryvst3.h; sourceTree = "<group>"; };
+		4F4ACFFF140996A10068A6D4 /* vstaudioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstaudioeffect.cpp; sourceTree = "<group>"; };
+		4F4AD000140996A10068A6D4 /* vstaudioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstaudioeffect.h; sourceTree = "<group>"; };
+		4F4AD001140996A10068A6D4 /* vstbus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstbus.cpp; sourceTree = "<group>"; };
+		4F4AD002140996A10068A6D4 /* vstbus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstbus.h; sourceTree = "<group>"; };
+		4F4AD003140996A10068A6D4 /* vstcomponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcomponent.cpp; sourceTree = "<group>"; };
+		4F4AD004140996A10068A6D4 /* vstcomponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcomponent.h; sourceTree = "<group>"; };
+		4F4AD005140996A10068A6D4 /* vstcomponentbase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcomponentbase.cpp; sourceTree = "<group>"; };
+		4F4AD006140996A10068A6D4 /* vstcomponentbase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcomponentbase.h; sourceTree = "<group>"; };
+		4F4AD009140996A10068A6D4 /* vstinitiids.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstinitiids.cpp; sourceTree = "<group>"; };
+		4F4AD00A140996A10068A6D4 /* vstnoteexpressiontypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstnoteexpressiontypes.cpp; sourceTree = "<group>"; };
+		4F4AD00B140996A10068A6D4 /* vstnoteexpressiontypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstnoteexpressiontypes.h; sourceTree = "<group>"; };
+		4F4AD00C140996A10068A6D4 /* vstparameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstparameters.cpp; sourceTree = "<group>"; };
+		4F4AD00D140996A10068A6D4 /* vstparameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstparameters.h; sourceTree = "<group>"; };
+		4F4AD00E140996A10068A6D4 /* vstpresetfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstpresetfile.cpp; sourceTree = "<group>"; };
+		4F4AD00F140996A10068A6D4 /* vstpresetfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstpresetfile.h; sourceTree = "<group>"; };
+		4F4AD010140996A10068A6D4 /* vstrepresentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstrepresentation.cpp; sourceTree = "<group>"; };
+		4F4AD011140996A10068A6D4 /* vstrepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstrepresentation.h; sourceTree = "<group>"; };
+		4F4AD012140996A10068A6D4 /* vstsinglecomponenteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstsinglecomponenteffect.cpp; sourceTree = "<group>"; };
+		4F4AD013140996A10068A6D4 /* vstsinglecomponenteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstsinglecomponenteffect.h; sourceTree = "<group>"; };
+		4F4AD016140996A10068A6D4 /* conststringtable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conststringtable.cpp; sourceTree = "<group>"; };
+		4F4AD017140996A10068A6D4 /* conststringtable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conststringtable.h; sourceTree = "<group>"; };
+		4F4AD018140996A10068A6D4 /* falignpop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = falignpop.h; sourceTree = "<group>"; };
+		4F4AD019140996A10068A6D4 /* falignpush.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = falignpush.h; sourceTree = "<group>"; };
+		4F4AD01A140996A10068A6D4 /* fplatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fplatform.h; sourceTree = "<group>"; };
+		4F4AD01B140996A10068A6D4 /* fstrdefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fstrdefs.h; sourceTree = "<group>"; };
+		4F4AD01C140996A10068A6D4 /* ftypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftypes.h; sourceTree = "<group>"; };
+		4F4AD01D140996A10068A6D4 /* funknown.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = funknown.cpp; sourceTree = "<group>"; };
+		4F4AD01E140996A10068A6D4 /* funknown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = funknown.h; sourceTree = "<group>"; };
+		4F4AD01F140996A10068A6D4 /* futils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = futils.h; sourceTree = "<group>"; };
+		4F4AD020140996A10068A6D4 /* ibstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ibstream.h; sourceTree = "<group>"; };
+		4F4AD021140996A10068A6D4 /* icloneable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icloneable.h; sourceTree = "<group>"; };
+		4F4AD022140996A10068A6D4 /* ierrorcontext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ierrorcontext.h; sourceTree = "<group>"; };
+		4F4AD023140996A10068A6D4 /* ipersistent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipersistent.h; sourceTree = "<group>"; };
+		4F4AD024140996A10068A6D4 /* ipluginbase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipluginbase.h; sourceTree = "<group>"; };
+		4F4AD025140996A10068A6D4 /* istringresult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = istringresult.h; sourceTree = "<group>"; };
+		4F4AD026140996A10068A6D4 /* iupdatehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iupdatehandler.h; sourceTree = "<group>"; };
+		4F4AD027140996A10068A6D4 /* keycodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keycodes.h; sourceTree = "<group>"; };
+		4F4AD028140996A10068A6D4 /* ustring.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ustring.cpp; sourceTree = "<group>"; };
+		4F4AD029140996A10068A6D4 /* ustring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ustring.h; sourceTree = "<group>"; };
+		4F4AD02B140996A10068A6D4 /* iplugview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iplugview.h; sourceTree = "<group>"; };
+		4F4AD02D140996A10068A6D4 /* ivstattributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstattributes.h; sourceTree = "<group>"; };
+		4F4AD02E140996A10068A6D4 /* ivstaudioprocessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstaudioprocessor.h; sourceTree = "<group>"; };
+		4F4AD02F140996A10068A6D4 /* ivstcomponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstcomponent.h; sourceTree = "<group>"; };
+		4F4AD030140996A10068A6D4 /* ivstcontextmenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstcontextmenu.h; sourceTree = "<group>"; };
+		4F4AD031140996A10068A6D4 /* ivsteditcontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivsteditcontroller.h; sourceTree = "<group>"; };
+		4F4AD032140996A10068A6D4 /* ivstevents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstevents.h; sourceTree = "<group>"; };
+		4F4AD033140996A10068A6D4 /* ivsthostapplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivsthostapplication.h; sourceTree = "<group>"; };
+		4F4AD034140996A10068A6D4 /* ivstmessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstmessage.h; sourceTree = "<group>"; };
+		4F4AD035140996A10068A6D4 /* ivstmidicontrollers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstmidicontrollers.h; sourceTree = "<group>"; };
+		4F4AD036140996A10068A6D4 /* ivstnoteexpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstnoteexpression.h; sourceTree = "<group>"; };
+		4F4AD037140996A10068A6D4 /* ivstparameterchanges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstparameterchanges.h; sourceTree = "<group>"; };
+		4F4AD038140996A10068A6D4 /* ivstplugview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstplugview.h; sourceTree = "<group>"; };
+		4F4AD039140996A10068A6D4 /* ivstprocesscontext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstprocesscontext.h; sourceTree = "<group>"; };
+		4F4AD03A140996A10068A6D4 /* ivstrepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstrepresentation.h; sourceTree = "<group>"; };
+		4F4AD03B140996A10068A6D4 /* ivstunits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ivstunits.h; sourceTree = "<group>"; };
+		4F4AD03C140996A10068A6D4 /* vstpresetkeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstpresetkeys.h; sourceTree = "<group>"; };
+		4F4AD03D140996A10068A6D4 /* vstpshpack4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstpshpack4.h; sourceTree = "<group>"; };
+		4F4AD03E140996A10068A6D4 /* vsttypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vsttypes.h; sourceTree = "<group>"; };
+		4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = base.xcodeproj; path = ../../VST3_SDK/base/mac/base.xcodeproj; sourceTree = SOURCE_ROOT; };
+		4F4CC3811549B8A700A9EA21 /* AccessiblePeakMeter-AAX-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-AAX-Info.plist"; path = "resources/AccessiblePeakMeter-AAX-Info.plist"; sourceTree = "<group>"; };
+		4F4CC38A1549B91100A9EA21 /* AAX_Exports.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AAX_Exports.cpp; path = ../../AAX_SDK/Interfaces/AAX_Exports.cpp; sourceTree = SOURCE_ROOT; };
+		4F4CC38C1549B92900A9EA21 /* CommonDebugSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonDebugSettings.xcconfig; path = ../../AAX_SDK/ExamplePlugIns/Common/Mac/CommonDebugSettings.xcconfig; sourceTree = SOURCE_ROOT; };
+		4F4CC38D1549B92900A9EA21 /* CommonReleaseSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonReleaseSettings.xcconfig; path = ../../AAX_SDK/ExamplePlugIns/Common/Mac/CommonReleaseSettings.xcconfig; sourceTree = SOURCE_ROOT; };
+		4F4CC4251549BED600A9EA21 /* IPlugAAX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugAAX.cpp; path = ../../WDL/IPlug/IPlugAAX.cpp; sourceTree = SOURCE_ROOT; };
+		4F4CC4261549BED600A9EA21 /* IPlugAAX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugAAX.h; path = ../../WDL/IPlug/IPlugAAX.h; sourceTree = SOURCE_ROOT; };
+		4F4CC4401549C15500A9EA21 /* IPlugAAX_Describe.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugAAX_Describe.cpp; path = ../../WDL/IPlug/AAX/IPlugAAX_Describe.cpp; sourceTree = SOURCE_ROOT; };
+		4F4F73791576739300C124E3 /* AAX_CIPlugTaperDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AAX_CIPlugTaperDelegate.h; path = ../../WDL/IPlug/AAX/AAX_CIPlugTaperDelegate.h; sourceTree = SOURCE_ROOT; };
+		4F78D62313B637200032E0F3 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
+		4F78D7CF13B637790032E0F3 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+		4F78D89613B639100032E0F3 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = InfoPlist.strings; sourceTree = "<group>"; };
+		4F78D89813B639100032E0F3 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = MainMenu.xib; sourceTree = "<group>"; };
+		4F78D8BD13B63A4E0032E0F3 /* wdltypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wdltypes.h; path = ../../WDL/wdltypes.h; sourceTree = SOURCE_ROOT; };
+		4F78D8BF13B63A700032E0F3 /* RtAudio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RtAudio.cpp; sourceTree = "<group>"; };
+		4F78D8C013B63A700032E0F3 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtAudio.h; sourceTree = "<group>"; };
+		4F78D8C113B63A700032E0F3 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtError.h; sourceTree = "<group>"; };
+		4F78D8C213B63A700032E0F3 /* RtMidi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RtMidi.cpp; sourceTree = "<group>"; };
+		4F78D8C313B63A700032E0F3 /* RtMidi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtMidi.h; sourceTree = "<group>"; };
+		4F78D8D213B63B5D0032E0F3 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = "<group>"; };
+		4F78D8D313B63B5D0032E0F3 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = "<group>"; };
+		4F78D8E613B63BA40032E0F3 /* IPlug_include_in_plug_hdr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlug_include_in_plug_hdr.h; path = ../../WDL/IPlug/IPlug_include_in_plug_hdr.h; sourceTree = SOURCE_ROOT; };
+		4F78D8E813B63BA40032E0F3 /* IPlug_include_in_plug_src.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlug_include_in_plug_src.h; path = ../../WDL/IPlug/IPlug_include_in_plug_src.h; sourceTree = SOURCE_ROOT; };
+		4F78D8E913B63BA40032E0F3 /* IControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IControl.h; path = ../../WDL/IPlug/IControl.h; sourceTree = SOURCE_ROOT; };
+		4F78D8EA13B63BA40032E0F3 /* IKeyboardControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IKeyboardControl.h; path = ../../WDL/IPlug/IKeyboardControl.h; sourceTree = SOURCE_ROOT; };
+		4F78D8EB13B63BA40032E0F3 /* IPlugStandalone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugStandalone.cpp; path = ../../WDL/IPlug/IPlugStandalone.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8EC13B63BA40032E0F3 /* IPlugBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugBase.h; path = ../../WDL/IPlug/IPlugBase.h; sourceTree = SOURCE_ROOT; };
+		4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugBase.cpp; path = ../../WDL/IPlug/IPlugBase.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8EE13B63BA50032E0F3 /* IGraphicsMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IGraphicsMac.h; path = ../../WDL/IPlug/IGraphicsMac.h; sourceTree = SOURCE_ROOT; };
+		4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugStructs.cpp; path = ../../WDL/IPlug/IPlugStructs.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8F113B63BA50032E0F3 /* Containers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Containers.h; path = ../../WDL/IPlug/Containers.h; sourceTree = SOURCE_ROOT; };
+		4F78D8F213B63BA50032E0F3 /* Hosts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hosts.h; path = ../../WDL/IPlug/Hosts.h; sourceTree = SOURCE_ROOT; };
+		4F78D8F313B63BA50032E0F3 /* Hosts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Hosts.cpp; path = ../../WDL/IPlug/Hosts.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = IGraphicsMac.mm; path = ../../WDL/IPlug/IGraphicsMac.mm; sourceTree = SOURCE_ROOT; };
+		4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IGraphics.cpp; path = ../../WDL/IPlug/IGraphics.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IGraphicsCarbon.cpp; path = ../../WDL/IPlug/IGraphicsCarbon.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = IGraphicsCocoa.mm; path = ../../WDL/IPlug/IGraphicsCocoa.mm; sourceTree = SOURCE_ROOT; };
+		4F78D8F913B63BA50032E0F3 /* IGraphicsCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IGraphicsCocoa.h; path = ../../WDL/IPlug/IGraphicsCocoa.h; sourceTree = SOURCE_ROOT; };
+		4F78D8FA13B63BA50032E0F3 /* Log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Log.h; path = ../../WDL/IPlug/Log.h; sourceTree = SOURCE_ROOT; };
+		4F78D8FB13B63BA50032E0F3 /* Log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Log.cpp; path = ../../WDL/IPlug/Log.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8FC13B63BA50032E0F3 /* IPopupMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPopupMenu.h; path = ../../WDL/IPlug/IPopupMenu.h; sourceTree = SOURCE_ROOT; };
+		4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPopupMenu.cpp; path = ../../WDL/IPlug/IPopupMenu.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D8FE13B63BA50032E0F3 /* IPlugStructs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugStructs.h; path = ../../WDL/IPlug/IPlugStructs.h; sourceTree = SOURCE_ROOT; };
+		4F78D90213B63BA50032E0F3 /* IPlug_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlug_Prefix.pch; path = ../../WDL/IPlug/IPlug_Prefix.pch; sourceTree = SOURCE_ROOT; };
+		4F78D90313B63BA50032E0F3 /* IParam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IParam.h; path = ../../WDL/IPlug/IParam.h; sourceTree = SOURCE_ROOT; };
+		4F78D90413B63BA50032E0F3 /* IParam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IParam.cpp; path = ../../WDL/IPlug/IParam.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D90513B63BA50032E0F3 /* IMidiQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IMidiQueue.h; path = ../../WDL/IPlug/IMidiQueue.h; sourceTree = SOURCE_ROOT; };
+		4F78D90713B63BA50032E0F3 /* IGraphicsCarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IGraphicsCarbon.h; path = ../../WDL/IPlug/IGraphicsCarbon.h; sourceTree = SOURCE_ROOT; };
+		4F78D90813B63BA50032E0F3 /* IGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IGraphics.h; path = ../../WDL/IPlug/IGraphics.h; sourceTree = SOURCE_ROOT; };
+		4F78D90913B63BA50032E0F3 /* IControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IControl.cpp; path = ../../WDL/IPlug/IControl.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D9EA13B63BE90032E0F3 /* IPlugStandalone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugStandalone.h; path = ../../WDL/IPlug/IPlugStandalone.h; sourceTree = SOURCE_ROOT; };
+		4F78D9EC13B63C6A0032E0F3 /* IPlugVST.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugVST.cpp; path = ../../WDL/IPlug/IPlugVST.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D9ED13B63C6A0032E0F3 /* IPlugVST.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugVST.h; path = ../../WDL/IPlug/IPlugVST.h; sourceTree = SOURCE_ROOT; };
+		4F78D9FB13B63CD90032E0F3 /* IPlugAU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugAU.h; path = ../../WDL/IPlug/IPlugAU.h; sourceTree = SOURCE_ROOT; };
+		4F78D9FC13B63CD90032E0F3 /* IPlugAU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugAU.cpp; path = ../../WDL/IPlug/IPlugAU.cpp; sourceTree = SOURCE_ROOT; };
+		4F78D9FD13B63CD90032E0F3 /* IPlugAU.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; name = IPlugAU.r; path = ../../WDL/IPlug/IPlugAU.r; sourceTree = SOURCE_ROOT; };
+		4F78D9FE13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = IPlugAU_ViewFactory.mm; path = ../../WDL/IPlug/IPlugAU_ViewFactory.mm; sourceTree = SOURCE_ROOT; };
+		4F78DAEA13B642790032E0F3 /* IGraphicsWin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IGraphicsWin.cpp; path = ../../WDL/IPlug/IGraphicsWin.cpp; sourceTree = SOURCE_ROOT; };
+		4F78DAEB13B642790032E0F3 /* IGraphicsWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IGraphicsWin.h; path = ../../WDL/IPlug/IGraphicsWin.h; sourceTree = SOURCE_ROOT; };
+		4F78DB5F13B6462B0032E0F3 /* AccessiblePeakMeter.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AccessiblePeakMeter.component; sourceTree = BUILT_PRODUCTS_DIR; };
+		4F79A34C146304CD00744AED /* IPlugProcessAS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugProcessAS.cpp; path = ../../WDL/IPlug/RTAS/IPlugProcessAS.cpp; sourceTree = "<group>"; };
+		4F79A34D146304CD00744AED /* IPlugProcessAS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugProcessAS.h; path = ../../WDL/IPlug/RTAS/IPlugProcessAS.h; sourceTree = "<group>"; };
+		4F7E1EB116792F6000907FCF /* bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = bg.png; path = resources/img/bg.png; sourceTree = "<group>"; };
+		4F7F5C0C13E95DDC002918FD /* AccessiblePeakMeter-RTAS-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "AccessiblePeakMeter-RTAS-Info.plist"; path = "resources/AccessiblePeakMeter-RTAS-Info.plist"; sourceTree = "<group>"; };
+		4F7F5C6813E95EC8002918FD /* AccessiblePeakMeter.dpm */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AccessiblePeakMeter.dpm; sourceTree = BUILT_PRODUCTS_DIR; };
+		4F7F5C6F13E95FB2002918FD /* IPlugRTAS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugRTAS.cpp; path = ../../WDL/IPlug/IPlugRTAS.cpp; sourceTree = SOURCE_ROOT; };
+		4F7F5C7013E95FB2002918FD /* IPlugRTAS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugRTAS.h; path = ../../WDL/IPlug/IPlugRTAS.h; sourceTree = SOURCE_ROOT; };
+		4F7F5C9B13E9607A002918FD /* digicode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = digicode.h; path = ../../WDL/IPlug/RTAS/digicode.h; sourceTree = "<group>"; };
+		4F7F5C9C13E9607A002918FD /* digicode1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = digicode1.cpp; path = ../../WDL/IPlug/RTAS/digicode1.cpp; sourceTree = "<group>"; };
+		4F7F5C9D13E9607A002918FD /* digicode2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = digicode2.cpp; path = ../../WDL/IPlug/RTAS/digicode2.cpp; sourceTree = "<group>"; };
+		4F7F5C9E13E9607A002918FD /* digicode3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = digicode3.cpp; path = ../../WDL/IPlug/RTAS/digicode3.cpp; sourceTree = "<group>"; };
+		4F7F5C9F13E9607A002918FD /* EditorInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditorInterface.h; path = ../../WDL/IPlug/RTAS/EditorInterface.h; sourceTree = "<group>"; };
+		4F7F5CA013E9607A002918FD /* IPlugCustomUI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugCustomUI.cpp; path = ../../WDL/IPlug/RTAS/IPlugCustomUI.cpp; sourceTree = "<group>"; };
+		4F7F5CA113E9607A002918FD /* IPlugCustomUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugCustomUI.h; path = ../../WDL/IPlug/RTAS/IPlugCustomUI.h; sourceTree = "<group>"; };
+		4F7F5CA213E9607A002918FD /* IPlugDigiView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugDigiView.h; path = ../../WDL/IPlug/RTAS/IPlugDigiView.h; sourceTree = "<group>"; };
+		4F7F5CA313E9607A002918FD /* IPlugGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugGroup.cpp; path = ../../WDL/IPlug/RTAS/IPlugGroup.cpp; sourceTree = "<group>"; };
+		4F7F5CA413E9607A002918FD /* IPlugGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugGroup.h; path = ../../WDL/IPlug/RTAS/IPlugGroup.h; sourceTree = "<group>"; };
+		4F7F5CA513E9607A002918FD /* IPlugProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugProcess.cpp; path = ../../WDL/IPlug/RTAS/IPlugProcess.cpp; sourceTree = "<group>"; };
+		4F7F5CA613E9607A002918FD /* IPlugProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugProcess.h; path = ../../WDL/IPlug/RTAS/IPlugProcess.h; sourceTree = "<group>"; };
+		4F7F5CA713E9607A002918FD /* IPlugProcessRTAS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugProcessRTAS.cpp; path = ../../WDL/IPlug/RTAS/IPlugProcessRTAS.cpp; sourceTree = "<group>"; };
+		4F7F5CA813E9607A002918FD /* IPlugProcessRTAS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IPlugProcessRTAS.h; path = ../../WDL/IPlug/RTAS/IPlugProcessRTAS.h; sourceTree = "<group>"; };
+		4F7F5CAA13E9607A002918FD /* ProcessInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProcessInterface.h; path = ../../WDL/IPlug/RTAS/ProcessInterface.h; sourceTree = "<group>"; };
+		4F7F5CAB13E9607A002918FD /* CommonDebugSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonDebugSettings.xcconfig; path = ../../PT9_SDK/AlturaPorts/TDMPlugIns/common/Mac/CommonDebugSettings.xcconfig; sourceTree = SOURCE_ROOT; };
+		4F7F5CAC13E9607A002918FD /* CommonReleaseSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonReleaseSettings.xcconfig; path = ../../PT9_SDK/AlturaPorts/TDMPlugIns/common/Mac/CommonReleaseSettings.xcconfig; sourceTree = SOURCE_ROOT; };
+		4F7F5CF613E96564002918FD /* System.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = System.framework; path = /System/Library/Frameworks/System.framework; sourceTree = "<absolute>"; };
+		4F7F5D2413E9681E002918FD /* IPlugRTAS.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; name = IPlugRTAS.r; path = ../../WDL/IPlug/RTAS/IPlugRTAS.r; sourceTree = "<group>"; };
+		4F8B6747158B4F53002FC25B /* PluginLibrary.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PluginLibrary.xcodeproj; path = ../../PT9_SDK/AlturaPorts/TDMPlugIns/PlugInLibrary/MacBuild/PluginLibrary.xcodeproj; sourceTree = SOURCE_ROOT; };
+		4F8D4BC413E97664004F7633 /* lice.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = lice.xcodeproj; path = ../../WDL/lice/lice.xcodeproj; sourceTree = SOURCE_ROOT; };
+		4F9828E0140A9EB700F3FCC1 /* AccessiblePeakMeter.vst3 */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AccessiblePeakMeter.vst3; sourceTree = BUILT_PRODUCTS_DIR; };
+		4FA88B901444E4C4006CB8DA /* dfx-au-utilities.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "dfx-au-utilities.c"; path = "../../WDL/IPlug/dfx/dfx-au-utilities.c"; sourceTree = SOURCE_ROOT; };
+		4FA88B911444E4C4006CB8DA /* dfx-au-utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "dfx-au-utilities.h"; path = "../../WDL/IPlug/dfx/dfx-au-utilities.h"; sourceTree = SOURCE_ROOT; };
+		4FB3624E13B648FE00DB6B76 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = app_wrapper/main.mm; sourceTree = "<group>"; };
+		4FB600331567CB0A0020189A /* AccessiblePeakMeter.aaxplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AccessiblePeakMeter.aaxplugin; sourceTree = BUILT_PRODUCTS_DIR; };
+		4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = AccessiblePeakMeter.xcconfig; sourceTree = "<group>"; };
+		4FD16A0913B63081001D0217 /* AccessiblePeakMeter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AccessiblePeakMeter.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		4FD16C9E13B6327C001D0217 /* app_resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = app_resource.h; path = app_wrapper/app_resource.h; sourceTree = "<group>"; };
+		4FD16C9F13B6327C001D0217 /* app_main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = app_main.h; path = app_wrapper/app_main.h; sourceTree = "<group>"; };
+		4FD16CA013B6327C001D0217 /* app_main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = app_main.cpp; path = app_wrapper/app_main.cpp; sourceTree = "<group>"; };
+		4FD16CA113B6327C001D0217 /* app_dialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = app_dialog.cpp; path = app_wrapper/app_dialog.cpp; sourceTree = "<group>"; };
+		4FD16CFB13B63468001D0217 /* swell-appstub.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-appstub.mm"; path = "../../WDL/swell/swell-appstub.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D0213B63489001D0217 /* swell-menugen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "swell-menugen.h"; path = "../../WDL/swell/swell-menugen.h"; sourceTree = SOURCE_ROOT; };
+		4FD16D0313B63494001D0217 /* swell-dlggen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "swell-dlggen.h"; path = "../../WDL/swell/swell-dlggen.h"; sourceTree = SOURCE_ROOT; };
+		4FD16D0413B634AA001D0217 /* swell-dlg.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-dlg.mm"; path = "../../WDL/swell/swell-dlg.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D0B13B634BF001D0217 /* swell-gdi.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-gdi.mm"; path = "../../WDL/swell/swell-gdi.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D1513B634D2001D0217 /* swell-ini.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "swell-ini.cpp"; path = "../../WDL/swell/swell-ini.cpp"; sourceTree = SOURCE_ROOT; };
+		4FD16D1713B634E5001D0217 /* swell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = swell.h; path = ../../WDL/swell/swell.h; sourceTree = SOURCE_ROOT; };
+		4FD16D2213B6351C001D0217 /* swell-functions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "swell-functions.h"; path = "../../WDL/swell/swell-functions.h"; sourceTree = SOURCE_ROOT; };
+		4FD16D2B13B6353C001D0217 /* swell-internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "swell-internal.h"; path = "../../WDL/swell/swell-internal.h"; sourceTree = SOURCE_ROOT; };
+		4FD16D3013B6355A001D0217 /* swell-types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "swell-types.h"; path = "../../WDL/swell/swell-types.h"; sourceTree = SOURCE_ROOT; };
+		4FD16D3913B63582001D0217 /* swell-kb.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-kb.mm"; path = "../../WDL/swell/swell-kb.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D3B13B6358C001D0217 /* swell-miscdlg.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-miscdlg.mm"; path = "../../WDL/swell/swell-miscdlg.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D3D13B63595001D0217 /* swell-menu.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-menu.mm"; path = "../../WDL/swell/swell-menu.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D3F13B635A0001D0217 /* swell-misc.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-misc.mm"; path = "../../WDL/swell/swell-misc.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D4113B635AB001D0217 /* swell-wnd.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "swell-wnd.mm"; path = "../../WDL/swell/swell-wnd.mm"; sourceTree = SOURCE_ROOT; };
+		4FD16D4313B635B2001D0217 /* swell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = swell.cpp; path = ../../WDL/swell/swell.cpp; sourceTree = SOURCE_ROOT; };
+		4FD16D4513B635C8001D0217 /* swellappmain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = swellappmain.h; path = ../../WDL/swell/swellappmain.h; sourceTree = SOURCE_ROOT; };
+		4FD16D4613B635C8001D0217 /* swellappmain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = swellappmain.mm; path = ../../WDL/swell/swellappmain.mm; sourceTree = SOURCE_ROOT; };
+		4FD290A8137C34D700CEBE7E /* AccessiblePeakMeter.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = AccessiblePeakMeter.icns; path = resources/AccessiblePeakMeter.icns; sourceTree = "<group>"; };
+		4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IBitmapMonoText.cpp; path = ../../WDL/IPlug/IBitmapMonoText.cpp; sourceTree = SOURCE_ROOT; };
+		4FDA440613F3E4F2000B4551 /* IBitmapMonoText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IBitmapMonoText.h; path = ../../WDL/IPlug/IBitmapMonoText.h; sourceTree = SOURCE_ROOT; };
+		4FF016F4134E14E2001447BA /* mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mutex.h; path = ../../WDL/mutex.h; sourceTree = SOURCE_ROOT; };
+		4FF016F5134E14E2001447BA /* ptrlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ptrlist.h; path = ../../WDL/ptrlist.h; sourceTree = SOURCE_ROOT; };
+		4FF016F6134E14E2001447BA /* wdlstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wdlstring.h; path = ../../WDL/wdlstring.h; sourceTree = SOURCE_ROOT; };
+		4FF01719134E153A001447BA /* heapbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = heapbuf.h; path = ../../WDL/heapbuf.h; sourceTree = SOURCE_ROOT; };
+		4FF7B0D4156A825000E6CB12 /* common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = common.xcconfig; path = ../../common.xcconfig; sourceTree = SOURCE_ROOT; };
+		4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AAXLibrary.xcodeproj; path = ../../AAX_SDK/Libs/AAXLibrary/MacBuild/AAXLibrary.xcodeproj; sourceTree = SOURCE_ROOT; };
+		526F9C010D7DC7D700562CF8 /* AccessiblePeakMeter.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = AccessiblePeakMeter.exp; sourceTree = "<group>"; };
+		52C4DB180D0E51270007A920 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+		52E41CB90D14C2A900A0943B /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
+		52E41CC40D14C2B000A0943B /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
+		52E41D7E0D14C2D100A0943B /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
+		52E41D920D14C2D600A0943B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
+		52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = AccessiblePeakMeter.cpp; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
+		52FBBED20D0CF13D001C8B8A /* AccessiblePeakMeter.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = AccessiblePeakMeter.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
+		52FBBED30D0CF143001C8B8A /* resource.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
+		5EDC2A771A93B020004EFD46 /* ADSR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ADSR.h; sourceTree = "<group>"; };
+		5EDC2A781A93B020004EFD46 /* Envelope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Envelope.h; sourceTree = "<group>"; };
+		5EDC2A791A93B020004EFD46 /* Generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Generator.h; sourceTree = "<group>"; };
+		5EDC2A7A1A93B020004EFD46 /* SineWave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SineWave.h; sourceTree = "<group>"; };
+		5EDC2A7B1A93B020004EFD46 /* Stk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stk.h; sourceTree = "<group>"; };
+		5EDC2A7D1A93B020004EFD46 /* ADSR.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ADSR.cpp; sourceTree = "<group>"; };
+		5EDC2A7E1A93B020004EFD46 /* Envelope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Envelope.cpp; sourceTree = "<group>"; };
+		5EDC2A7F1A93B020004EFD46 /* SineWave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SineWave.cpp; sourceTree = "<group>"; };
+		5EDC2A801A93B020004EFD46 /* Stk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stk.cpp; sourceTree = "<group>"; };
+		5EDC2A921A93B337004EFD46 /* fader.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = fader.png; path = resources/img/fader.png; sourceTree = "<group>"; };
+		5EDC2A951A93B343004EFD46 /* switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = switch.png; path = resources/img/switch.png; sourceTree = "<group>"; };
+		D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		4F20EF2C132C69FE0030E34C /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F8D4C2F13E97806004F7633 /* lice.a in Frameworks */,
+				4F20EF2D132C69FE0030E34C /* Cocoa.framework in Frameworks */,
+				4F20EF2E132C69FE0030E34C /* Carbon.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F3AE1D312C0E5E2001FD7A4 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F8D4C2813E9778D004F7633 /* lice.a in Frameworks */,
+				4F3AE1D412C0E5E2001FD7A4 /* Carbon.framework in Frameworks */,
+				4F3AE1D512C0E5E2001FD7A4 /* Cocoa.framework in Frameworks */,
+				4F3AE1D612C0E5E2001FD7A4 /* AudioToolbox.framework in Frameworks */,
+				4F3AE1D712C0E5E2001FD7A4 /* AudioUnit.framework in Frameworks */,
+				4F3AE1D812C0E5E2001FD7A4 /* CoreServices.framework in Frameworks */,
+				4F3AE1D912C0E5E2001FD7A4 /* CoreAudio.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F7F5C5F13E95EC8002918FD /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F8B6766158B4F74002FC25B /* libPluginLibrary.a in Frameworks */,
+				4F8D4C2913E97794004F7633 /* lice32.a in Frameworks */,
+				4F7F5C6213E95EC8002918FD /* Cocoa.framework in Frameworks */,
+				4F7F5C6313E95EC8002918FD /* Carbon.framework in Frameworks */,
+				4F7F5CF713E96564002918FD /* System.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F9828D7140A9EB700F3FCC1 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F9828F6140A9EEE00F3FCC1 /* lice.a in Frameworks */,
+				4F9828D8140A9EB700F3FCC1 /* libbase.a in Frameworks */,
+				4F9828DA140A9EB700F3FCC1 /* Cocoa.framework in Frameworks */,
+				4F9828DB140A9EB700F3FCC1 /* Carbon.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FB6002A1567CB0A0020189A /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F3B0B44158B50A5001B0CEF /* libAAXLibrary.a in Frameworks */,
+				4FB600551567CBF90020189A /* lice.a in Frameworks */,
+				4FB6002C1567CB0A0020189A /* Cocoa.framework in Frameworks */,
+				4FB6002D1567CB0A0020189A /* Carbon.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FD16A0713B63081001D0217 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F8D4BCD13E97671004F7633 /* lice.a in Frameworks */,
+				4F78D87513B637E50032E0F3 /* Carbon.framework in Frameworks */,
+				4F78D7D013B637790032E0F3 /* CoreMIDI.framework in Frameworks */,
+				4F78D70B13B637340032E0F3 /* CoreFoundation.framework in Frameworks */,
+				4F78D86E13B637A20032E0F3 /* CoreData.framework in Frameworks */,
+				4F78D87013B637A20032E0F3 /* CoreAudio.framework in Frameworks */,
+				4F78D87113B637A20032E0F3 /* Cocoa.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		089C166AFE841209C02AAC07 /* IPlugExample */ = {
+			isa = PBXGroup;
+			children = (
+				5EDC2A751A93B020004EFD46 /* stk */,
+				52FBBED30D0CF143001C8B8A /* resource.h */,
+				52FBBED20D0CF13D001C8B8A /* AccessiblePeakMeter.h */,
+				52FBBED00D0CF139001C8B8A /* AccessiblePeakMeter.cpp */,
+				089C167CFE841241C02AAC07 /* Resources */,
+				32C88E010371C26100C91783 /* Other Sources */,
+				089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
+				19C28FB8FE9D52D311CA2CBB /* Products */,
+			);
+			name = IPlugExample;
+			sourceTree = "<group>";
+		};
+		089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				4FF01613134E0BCD001447BA /* WDL */,
+				1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
+			);
+			name = "Frameworks and Libraries";
+			sourceTree = "<group>";
+		};
+		089C167CFE841241C02AAC07 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16A0213B6303B001D0217 /* img */,
+				4F23BA1413B647E50097A67E /* AccessiblePeakMeter-OSXAPP-Info.plist */,
+				4F23BA1513B647E50097A67E /* AccessiblePeakMeter-VST2-Info.plist */,
+				4F3E693A1409747300C4D749 /* AccessiblePeakMeter-VST3-Info.plist */,
+				4F23BA1313B647E50097A67E /* AccessiblePeakMeter-AU-Info.plist */,
+				4F7F5C0C13E95DDC002918FD /* AccessiblePeakMeter-RTAS-Info.plist */,
+				4F4CC3811549B8A700A9EA21 /* AccessiblePeakMeter-AAX-Info.plist */,
+				4FD290A8137C34D700CEBE7E /* AccessiblePeakMeter.icns */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				4F78DB2113B644E80032E0F3 /* App & Plugins */,
+				4F3E695B1409774100C4D749 /* VST3 Plugin */,
+				4F78DB2213B645060032E0F3 /* AU Plugin */,
+				4F7F5CEB13E9651F002918FD /* RTAS Plugin */,
+				4F05224015656DAD00AE0D2E /* AAX Plugin */,
+				4F78DB2013B644BD0032E0F3 /* App */,
+			);
+			name = "Linked Frameworks";
+			sourceTree = "<group>";
+		};
+		19C28FB8FE9D52D311CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16A0913B63081001D0217 /* AccessiblePeakMeter.app */,
+				4F20EF33132C69FE0030E34C /* AccessiblePeakMeter.vst */,
+				4F9828E0140A9EB700F3FCC1 /* AccessiblePeakMeter.vst3 */,
+				4F78DB5F13B6462B0032E0F3 /* AccessiblePeakMeter.component */,
+				4F7F5C6813E95EC8002918FD /* AccessiblePeakMeter.dpm */,
+				4FB600331567CB0A0020189A /* AccessiblePeakMeter.aaxplugin */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		32C88E010371C26100C91783 /* Other Sources */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16C9D13B6327C001D0217 /* OSX App Wrapper */,
+				526F9C010D7DC7D700562CF8 /* AccessiblePeakMeter.exp */,
+				4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */,
+				4FF7B0D4156A825000E6CB12 /* common.xcconfig */,
+			);
+			name = "Other Sources";
+			sourceTree = "<group>";
+		};
+		4F05224015656DAD00AE0D2E /* AAX Plugin */ = {
+			isa = PBXGroup;
+			children = (
+				4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */,
+			);
+			name = "AAX Plugin";
+			sourceTree = "<group>";
+		};
+		4F24EE731567A674006B889A /* RTAS_SDK */ = {
+			isa = PBXGroup;
+			children = (
+				4F7F5CAB13E9607A002918FD /* CommonDebugSettings.xcconfig */,
+				4F7F5CAC13E9607A002918FD /* CommonReleaseSettings.xcconfig */,
+				4F7F5C9B13E9607A002918FD /* digicode.h */,
+				4F7F5C9C13E9607A002918FD /* digicode1.cpp */,
+				4F7F5C9D13E9607A002918FD /* digicode2.cpp */,
+				4F7F5C9E13E9607A002918FD /* digicode3.cpp */,
+			);
+			name = RTAS_SDK;
+			sourceTree = "<group>";
+		};
+		4F24EE751567A6A6006B889A /* AAX_SDK */ = {
+			isa = PBXGroup;
+			children = (
+				4F4CC38C1549B92900A9EA21 /* CommonDebugSettings.xcconfig */,
+				4F4CC38D1549B92900A9EA21 /* CommonReleaseSettings.xcconfig */,
+				4F4CC38A1549B91100A9EA21 /* AAX_Exports.cpp */,
+			);
+			name = AAX_SDK;
+			sourceTree = "<group>";
+		};
+		4F3E69001409743C00C4D749 /* VST3 */ = {
+			isa = PBXGroup;
+			children = (
+				4F3E69041409746500C4D749 /* IPlugVST3.cpp */,
+				4F3E69051409746500C4D749 /* IPlugVST3.h */,
+			);
+			name = VST3;
+			sourceTree = "<group>";
+		};
+		4F3E695B1409774100C4D749 /* VST3 Plugin */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */,
+			);
+			name = "VST3 Plugin";
+			sourceTree = "<group>";
+		};
+		4F3E696A1409778C00C4D749 /* VST3_SDK */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFF2140996A10068A6D4 /* public.sdk */,
+				4F4AD014140996A10068A6D4 /* pluginterfaces */,
+			);
+			name = VST3_SDK;
+			sourceTree = "<group>";
+		};
+		4F4ACFF2140996A10068A6D4 /* public.sdk */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFF3140996A10068A6D4 /* source */,
+			);
+			name = public.sdk;
+			path = ../../VST3_SDK/public.sdk;
+			sourceTree = SOURCE_ROOT;
+		};
+		4F4ACFF3140996A10068A6D4 /* source */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFF4140996A10068A6D4 /* common */,
+				4F4ACFF9140996A10068A6D4 /* main */,
+				4F4ACFFE140996A10068A6D4 /* vst */,
+			);
+			path = source;
+			sourceTree = "<group>";
+		};
+		4F4ACFF4140996A10068A6D4 /* common */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFF5140996A10068A6D4 /* memorystream.cpp */,
+				4F4ACFF6140996A10068A6D4 /* memorystream.h */,
+				4F4ACFF7140996A10068A6D4 /* pluginview.cpp */,
+				4F4ACFF8140996A10068A6D4 /* pluginview.h */,
+			);
+			path = common;
+			sourceTree = "<group>";
+		};
+		4F4ACFF9140996A10068A6D4 /* main */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFFB140996A10068A6D4 /* macmain.cpp */,
+				4F4ACFFC140996A10068A6D4 /* pluginfactoryvst3.cpp */,
+				4F4ACFFD140996A10068A6D4 /* pluginfactoryvst3.h */,
+			);
+			path = main;
+			sourceTree = "<group>";
+		};
+		4F4ACFFE140996A10068A6D4 /* vst */ = {
+			isa = PBXGroup;
+			children = (
+				4F4ACFFF140996A10068A6D4 /* vstaudioeffect.cpp */,
+				4F4AD000140996A10068A6D4 /* vstaudioeffect.h */,
+				4F4AD001140996A10068A6D4 /* vstbus.cpp */,
+				4F4AD002140996A10068A6D4 /* vstbus.h */,
+				4F4AD003140996A10068A6D4 /* vstcomponent.cpp */,
+				4F4AD004140996A10068A6D4 /* vstcomponent.h */,
+				4F4AD005140996A10068A6D4 /* vstcomponentbase.cpp */,
+				4F4AD006140996A10068A6D4 /* vstcomponentbase.h */,
+				4F4AD009140996A10068A6D4 /* vstinitiids.cpp */,
+				4F4AD00A140996A10068A6D4 /* vstnoteexpressiontypes.cpp */,
+				4F4AD00B140996A10068A6D4 /* vstnoteexpressiontypes.h */,
+				4F4AD00C140996A10068A6D4 /* vstparameters.cpp */,
+				4F4AD00D140996A10068A6D4 /* vstparameters.h */,
+				4F4AD00E140996A10068A6D4 /* vstpresetfile.cpp */,
+				4F4AD00F140996A10068A6D4 /* vstpresetfile.h */,
+				4F4AD010140996A10068A6D4 /* vstrepresentation.cpp */,
+				4F4AD011140996A10068A6D4 /* vstrepresentation.h */,
+				4F4AD012140996A10068A6D4 /* vstsinglecomponenteffect.cpp */,
+				4F4AD013140996A10068A6D4 /* vstsinglecomponenteffect.h */,
+			);
+			path = vst;
+			sourceTree = "<group>";
+		};
+		4F4AD014140996A10068A6D4 /* pluginterfaces */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD015140996A10068A6D4 /* base */,
+				4F4AD02A140996A10068A6D4 /* gui */,
+				4F4AD02C140996A10068A6D4 /* vst */,
+			);
+			name = pluginterfaces;
+			path = ../../VST3_SDK/pluginterfaces;
+			sourceTree = SOURCE_ROOT;
+		};
+		4F4AD015140996A10068A6D4 /* base */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD016140996A10068A6D4 /* conststringtable.cpp */,
+				4F4AD017140996A10068A6D4 /* conststringtable.h */,
+				4F4AD018140996A10068A6D4 /* falignpop.h */,
+				4F4AD019140996A10068A6D4 /* falignpush.h */,
+				4F4AD01A140996A10068A6D4 /* fplatform.h */,
+				4F4AD01B140996A10068A6D4 /* fstrdefs.h */,
+				4F4AD01C140996A10068A6D4 /* ftypes.h */,
+				4F4AD01D140996A10068A6D4 /* funknown.cpp */,
+				4F4AD01E140996A10068A6D4 /* funknown.h */,
+				4F4AD01F140996A10068A6D4 /* futils.h */,
+				4F4AD020140996A10068A6D4 /* ibstream.h */,
+				4F4AD021140996A10068A6D4 /* icloneable.h */,
+				4F4AD022140996A10068A6D4 /* ierrorcontext.h */,
+				4F4AD023140996A10068A6D4 /* ipersistent.h */,
+				4F4AD024140996A10068A6D4 /* ipluginbase.h */,
+				4F4AD025140996A10068A6D4 /* istringresult.h */,
+				4F4AD026140996A10068A6D4 /* iupdatehandler.h */,
+				4F4AD027140996A10068A6D4 /* keycodes.h */,
+				4F4AD028140996A10068A6D4 /* ustring.cpp */,
+				4F4AD029140996A10068A6D4 /* ustring.h */,
+			);
+			path = base;
+			sourceTree = "<group>";
+		};
+		4F4AD02A140996A10068A6D4 /* gui */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD02B140996A10068A6D4 /* iplugview.h */,
+			);
+			path = gui;
+			sourceTree = "<group>";
+		};
+		4F4AD02C140996A10068A6D4 /* vst */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD02D140996A10068A6D4 /* ivstattributes.h */,
+				4F4AD02E140996A10068A6D4 /* ivstaudioprocessor.h */,
+				4F4AD02F140996A10068A6D4 /* ivstcomponent.h */,
+				4F4AD030140996A10068A6D4 /* ivstcontextmenu.h */,
+				4F4AD031140996A10068A6D4 /* ivsteditcontroller.h */,
+				4F4AD032140996A10068A6D4 /* ivstevents.h */,
+				4F4AD033140996A10068A6D4 /* ivsthostapplication.h */,
+				4F4AD034140996A10068A6D4 /* ivstmessage.h */,
+				4F4AD035140996A10068A6D4 /* ivstmidicontrollers.h */,
+				4F4AD036140996A10068A6D4 /* ivstnoteexpression.h */,
+				4F4AD037140996A10068A6D4 /* ivstparameterchanges.h */,
+				4F4AD038140996A10068A6D4 /* ivstplugview.h */,
+				4F4AD039140996A10068A6D4 /* ivstprocesscontext.h */,
+				4F4AD03A140996A10068A6D4 /* ivstrepresentation.h */,
+				4F4AD03B140996A10068A6D4 /* ivstunits.h */,
+				4F4AD03C140996A10068A6D4 /* vstpresetkeys.h */,
+				4F4AD03D140996A10068A6D4 /* vstpshpack4.h */,
+				4F4AD03E140996A10068A6D4 /* vsttypes.h */,
+			);
+			path = vst;
+			sourceTree = "<group>";
+		};
+		4F4AD1F21409A56A0068A6D4 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4F4AD1F61409A56A0068A6D4 /* libbase.a */,
+				4FA708BF158B47F000BFC572 /* libbase32.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		4F4CC4241549BEBF00A9EA21 /* AAX */ = {
+			isa = PBXGroup;
+			children = (
+				4F4CC4251549BED600A9EA21 /* IPlugAAX.cpp */,
+				4F4CC4261549BED600A9EA21 /* IPlugAAX.h */,
+				4F017360154D4BFC0034BE1A /* AAX_CIPlugParameters.cpp */,
+				4F017361154D4BFC0034BE1A /* AAX_CIPlugParameters.h */,
+				4F4F73791576739300C124E3 /* AAX_CIPlugTaperDelegate.h */,
+				4F4CC4401549C15500A9EA21 /* IPlugAAX_Describe.cpp */,
+			);
+			name = AAX;
+			sourceTree = "<group>";
+		};
+		4F75900813B7A91A00DA399F /* MACGUI */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D8EE13B63BA50032E0F3 /* IGraphicsMac.h */,
+				4F78D8F513B63BA50032E0F3 /* IGraphicsMac.mm */,
+				4F78D90713B63BA50032E0F3 /* IGraphicsCarbon.h */,
+				4F78D8F713B63BA50032E0F3 /* IGraphicsCarbon.cpp */,
+				4F78D8F813B63BA50032E0F3 /* IGraphicsCocoa.mm */,
+				4F78D8F913B63BA50032E0F3 /* IGraphicsCocoa.h */,
+			);
+			name = MACGUI;
+			sourceTree = "<group>";
+		};
+		4F78D89413B639100032E0F3 /* English.lproj */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D89513B639100032E0F3 /* InfoPlist.strings */,
+				4F78D89713B639100032E0F3 /* MainMenu.xib */,
+			);
+			name = English.lproj;
+			path = resources/English.lproj;
+			sourceTree = "<group>";
+		};
+		4F78D8BE13B63A700032E0F3 /* rtaudiomidi */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D8BF13B63A700032E0F3 /* RtAudio.cpp */,
+				4F78D8C013B63A700032E0F3 /* RtAudio.h */,
+				4F78D8C113B63A700032E0F3 /* RtError.h */,
+				4F78D8C213B63A700032E0F3 /* RtMidi.cpp */,
+				4F78D8C313B63A700032E0F3 /* RtMidi.h */,
+			);
+			name = rtaudiomidi;
+			path = ../../WDL/rtaudiomidi;
+			sourceTree = SOURCE_ROOT;
+		};
+		4F78D8D013B63B390032E0F3 /* IPlug */ = {
+			isa = PBXGroup;
+			children = (
+				4F4CC4241549BEBF00A9EA21 /* AAX */,
+				4F7F5C7213E95FB8002918FD /* RTAS */,
+				4F78D9FA13B63CA10032E0F3 /* APP */,
+				4F78D9F913B63C920032E0F3 /* AU */,
+				4F3E69001409743C00C4D749 /* VST3 */,
+				4F78D9F713B63C710032E0F3 /* VST */,
+				4F75900813B7A91A00DA399F /* MACGUI */,
+				4F78DAEC13B6427D0032E0F3 /* WINGUI */,
+				4F3EE94513B65A350097B791 /* IPlugOSDetect.h */,
+				4F78D90813B63BA50032E0F3 /* IGraphics.h */,
+				4F78D8F613B63BA50032E0F3 /* IGraphics.cpp */,
+				4FDA440513F3E4F2000B4551 /* IBitmapMonoText.cpp */,
+				4FDA440613F3E4F2000B4551 /* IBitmapMonoText.h */,
+				4F78D8E613B63BA40032E0F3 /* IPlug_include_in_plug_hdr.h */,
+				4F78D8E813B63BA40032E0F3 /* IPlug_include_in_plug_src.h */,
+				4F78D8EC13B63BA40032E0F3 /* IPlugBase.h */,
+				4F78D8ED13B63BA40032E0F3 /* IPlugBase.cpp */,
+				4F78D8EF13B63BA50032E0F3 /* IPlugStructs.cpp */,
+				4F78D8FE13B63BA50032E0F3 /* IPlugStructs.h */,
+				4F78D90313B63BA50032E0F3 /* IParam.h */,
+				4F78D90413B63BA50032E0F3 /* IParam.cpp */,
+				4F78D8E913B63BA40032E0F3 /* IControl.h */,
+				4F78D90913B63BA50032E0F3 /* IControl.cpp */,
+				4F78D8EA13B63BA40032E0F3 /* IKeyboardControl.h */,
+				4F78D8F113B63BA50032E0F3 /* Containers.h */,
+				4F78D8F213B63BA50032E0F3 /* Hosts.h */,
+				4F78D8F313B63BA50032E0F3 /* Hosts.cpp */,
+				4F78D8FC13B63BA50032E0F3 /* IPopupMenu.h */,
+				4F78D8FD13B63BA50032E0F3 /* IPopupMenu.cpp */,
+				4F78D90213B63BA50032E0F3 /* IPlug_Prefix.pch */,
+				4F78D90513B63BA50032E0F3 /* IMidiQueue.h */,
+				4F78D8FA13B63BA50032E0F3 /* Log.h */,
+				4F78D8FB13B63BA50032E0F3 /* Log.cpp */,
+			);
+			name = IPlug;
+			sourceTree = "<group>";
+		};
+		4F78D8D113B63B5D0032E0F3 /* VST2_SDK */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D8D213B63B5D0032E0F3 /* aeffect.h */,
+				4F78D8D313B63B5D0032E0F3 /* aeffectx.h */,
+			);
+			name = VST2_SDK;
+			path = ../../VST_SDK;
+			sourceTree = SOURCE_ROOT;
+		};
+		4F78D9F713B63C710032E0F3 /* VST */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D9EC13B63C6A0032E0F3 /* IPlugVST.cpp */,
+				4F78D9ED13B63C6A0032E0F3 /* IPlugVST.h */,
+			);
+			name = VST;
+			sourceTree = "<group>";
+		};
+		4F78D9F913B63C920032E0F3 /* AU */ = {
+			isa = PBXGroup;
+			children = (
+				4FA88B901444E4C4006CB8DA /* dfx-au-utilities.c */,
+				4FA88B911444E4C4006CB8DA /* dfx-au-utilities.h */,
+				4F78D9FB13B63CD90032E0F3 /* IPlugAU.h */,
+				4F78D9FC13B63CD90032E0F3 /* IPlugAU.cpp */,
+				4F78D9FD13B63CD90032E0F3 /* IPlugAU.r */,
+				4F78D9FE13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm */,
+			);
+			name = AU;
+			sourceTree = "<group>";
+		};
+		4F78D9FA13B63CA10032E0F3 /* APP */ = {
+			isa = PBXGroup;
+			children = (
+				4F78D9EA13B63BE90032E0F3 /* IPlugStandalone.h */,
+				4F78D8EB13B63BA40032E0F3 /* IPlugStandalone.cpp */,
+			);
+			name = APP;
+			sourceTree = "<group>";
+		};
+		4F78DAE913B6423C0032E0F3 /* 3rd Party */ = {
+			isa = PBXGroup;
+			children = (
+				4F24EE751567A6A6006B889A /* AAX_SDK */,
+				4F24EE731567A674006B889A /* RTAS_SDK */,
+				4F3E696A1409778C00C4D749 /* VST3_SDK */,
+				4F78D8D113B63B5D0032E0F3 /* VST2_SDK */,
+				4F78D8BE13B63A700032E0F3 /* rtaudiomidi */,
+			);
+			name = "3rd Party";
+			sourceTree = "<group>";
+		};
+		4F78DAEC13B6427D0032E0F3 /* WINGUI */ = {
+			isa = PBXGroup;
+			children = (
+				4F78DAEA13B642790032E0F3 /* IGraphicsWin.cpp */,
+				4F78DAEB13B642790032E0F3 /* IGraphicsWin.h */,
+			);
+			comments = "Not actually included in builds";
+			name = WINGUI;
+			sourceTree = "<group>";
+		};
+		4F78DB2013B644BD0032E0F3 /* App */ = {
+			isa = PBXGroup;
+			children = (
+				089C167FFE841241C02AAC07 /* AppKit.framework */,
+				4F78D7CF13B637790032E0F3 /* CoreMIDI.framework */,
+				52E41CB90D14C2A900A0943B /* CoreAudio.framework */,
+			);
+			name = App;
+			sourceTree = "<group>";
+		};
+		4F78DB2113B644E80032E0F3 /* App & Plugins */ = {
+			isa = PBXGroup;
+			children = (
+				4F8D4BC413E97664004F7633 /* lice.xcodeproj */,
+				4F78D62313B637200032E0F3 /* CoreFoundation.framework */,
+				D2F7E65807B2D6F200F64583 /* CoreData.framework */,
+				089C1672FE841209C02AAC07 /* Foundation.framework */,
+				52E41CC40D14C2B000A0943B /* CoreServices.framework */,
+				52C4DB180D0E51270007A920 /* Carbon.framework */,
+				1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
+			);
+			name = "App & Plugins";
+			sourceTree = "<group>";
+		};
+		4F78DB2213B645060032E0F3 /* AU Plugin */ = {
+			isa = PBXGroup;
+			children = (
+				52E41D920D14C2D600A0943B /* AudioToolbox.framework */,
+				52E41D7E0D14C2D100A0943B /* AudioUnit.framework */,
+			);
+			name = "AU Plugin";
+			sourceTree = "<group>";
+		};
+		4F7F5C7213E95FB8002918FD /* RTAS */ = {
+			isa = PBXGroup;
+			children = (
+				4F7F5C6F13E95FB2002918FD /* IPlugRTAS.cpp */,
+				4F7F5C7013E95FB2002918FD /* IPlugRTAS.h */,
+				4F7F5D2413E9681E002918FD /* IPlugRTAS.r */,
+				4F7F5C9F13E9607A002918FD /* EditorInterface.h */,
+				4F7F5CA013E9607A002918FD /* IPlugCustomUI.cpp */,
+				4F7F5CA113E9607A002918FD /* IPlugCustomUI.h */,
+				4F7F5CA213E9607A002918FD /* IPlugDigiView.h */,
+				4F7F5CA313E9607A002918FD /* IPlugGroup.cpp */,
+				4F7F5CA413E9607A002918FD /* IPlugGroup.h */,
+				4F7F5CA513E9607A002918FD /* IPlugProcess.cpp */,
+				4F7F5CA613E9607A002918FD /* IPlugProcess.h */,
+				4F79A34C146304CD00744AED /* IPlugProcessAS.cpp */,
+				4F79A34D146304CD00744AED /* IPlugProcessAS.h */,
+				4F7F5CA713E9607A002918FD /* IPlugProcessRTAS.cpp */,
+				4F7F5CA813E9607A002918FD /* IPlugProcessRTAS.h */,
+				4F7F5CAA13E9607A002918FD /* ProcessInterface.h */,
+			);
+			name = RTAS;
+			sourceTree = "<group>";
+		};
+		4F7F5CEB13E9651F002918FD /* RTAS Plugin */ = {
+			isa = PBXGroup;
+			children = (
+				4F8B6747158B4F53002FC25B /* PluginLibrary.xcodeproj */,
+				4F7F5CF613E96564002918FD /* System.framework */,
+			);
+			name = "RTAS Plugin";
+			sourceTree = "<group>";
+		};
+		4F8B671E158B4EB2002FC25B /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4F8B6723158B4EB2002FC25B /* libAAXLibrary.a */,
+				4F8B6725158B4EB2002FC25B /* AAXLibrary_UnitTest */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		4F8B6748158B4F53002FC25B /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4F8B674F158B4F53002FC25B /* libPluginLibrary.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		4F8D4BC513E97664004F7633 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4F8D4BCC13E97664004F7633 /* lice.a */,
+				4F8D4C1713E976A7004F7633 /* lice32.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		4FD16A0213B6303B001D0217 /* img */ = {
+			isa = PBXGroup;
+			children = (
+				5EDC2A951A93B343004EFD46 /* switch.png */,
+				5EDC2A921A93B337004EFD46 /* fader.png */,
+				4F7E1EB116792F6000907FCF /* bg.png */,
+				4F23B9E413B647A00097A67E /* knob.png */,
+			);
+			name = img;
+			sourceTree = "<group>";
+		};
+		4FD16C9D13B6327C001D0217 /* OSX App Wrapper */ = {
+			isa = PBXGroup;
+			children = (
+				4FB3624E13B648FE00DB6B76 /* main.mm */,
+				4F78D89413B639100032E0F3 /* English.lproj */,
+				4FD16C9E13B6327C001D0217 /* app_resource.h */,
+				4FD16C9F13B6327C001D0217 /* app_main.h */,
+				4FD16CA013B6327C001D0217 /* app_main.cpp */,
+				4FD16CA113B6327C001D0217 /* app_dialog.cpp */,
+			);
+			name = "OSX App Wrapper";
+			sourceTree = "<group>";
+		};
+		4FD16CF713B6343B001D0217 /* SWELL */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16D3513B63566001D0217 /* Used by App */,
+				4FD16D1C13B634FB001D0217 /* Used by App & Plugins */,
+			);
+			name = SWELL;
+			sourceTree = "<group>";
+		};
+		4FD16D1C13B634FB001D0217 /* Used by App & Plugins */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16D2B13B6353C001D0217 /* swell-internal.h */,
+				4FD16D3013B6355A001D0217 /* swell-types.h */,
+				4FD16D2213B6351C001D0217 /* swell-functions.h */,
+				4FD16D0B13B634BF001D0217 /* swell-gdi.mm */,
+				4FD16D1713B634E5001D0217 /* swell.h */,
+			);
+			name = "Used by App & Plugins";
+			sourceTree = "<group>";
+		};
+		4FD16D3513B63566001D0217 /* Used by App */ = {
+			isa = PBXGroup;
+			children = (
+				4FD16D0213B63489001D0217 /* swell-menugen.h */,
+				4FD16D0313B63494001D0217 /* swell-dlggen.h */,
+				4FD16D4513B635C8001D0217 /* swellappmain.h */,
+				4FD16D4613B635C8001D0217 /* swellappmain.mm */,
+				4FD16CFB13B63468001D0217 /* swell-appstub.mm */,
+				4FD16D0413B634AA001D0217 /* swell-dlg.mm */,
+				4FD16D1513B634D2001D0217 /* swell-ini.cpp */,
+				4FD16D3913B63582001D0217 /* swell-kb.mm */,
+				4FD16D3B13B6358C001D0217 /* swell-miscdlg.mm */,
+				4FD16D3D13B63595001D0217 /* swell-menu.mm */,
+				4FD16D3F13B635A0001D0217 /* swell-misc.mm */,
+				4FD16D4113B635AB001D0217 /* swell-wnd.mm */,
+				4FD16D4313B635B2001D0217 /* swell.cpp */,
+			);
+			name = "Used by App";
+			sourceTree = "<group>";
+		};
+		4FF01613134E0BCD001447BA /* WDL */ = {
+			isa = PBXGroup;
+			children = (
+				4F78DAE913B6423C0032E0F3 /* 3rd Party */,
+				4F78D8D013B63B390032E0F3 /* IPlug */,
+				4FD16CF713B6343B001D0217 /* SWELL */,
+				4F1F1BE9135B1F60003A5BB2 /* wdlendian.h */,
+				4FF01719134E153A001447BA /* heapbuf.h */,
+				4FF016F4134E14E2001447BA /* mutex.h */,
+				4FF016F5134E14E2001447BA /* ptrlist.h */,
+				4FF016F6134E14E2001447BA /* wdlstring.h */,
+				4F78D8BD13B63A4E0032E0F3 /* wdltypes.h */,
+			);
+			name = WDL;
+			sourceTree = "<group>";
+		};
+		5EDC2A751A93B020004EFD46 /* stk */ = {
+			isa = PBXGroup;
+			children = (
+				5EDC2A761A93B020004EFD46 /* include */,
+				5EDC2A7C1A93B020004EFD46 /* src */,
+			);
+			path = stk;
+			sourceTree = "<group>";
+		};
+		5EDC2A761A93B020004EFD46 /* include */ = {
+			isa = PBXGroup;
+			children = (
+				5EDC2A771A93B020004EFD46 /* ADSR.h */,
+				5EDC2A781A93B020004EFD46 /* Envelope.h */,
+				5EDC2A791A93B020004EFD46 /* Generator.h */,
+				5EDC2A7A1A93B020004EFD46 /* SineWave.h */,
+				5EDC2A7B1A93B020004EFD46 /* Stk.h */,
+			);
+			path = include;
+			sourceTree = "<group>";
+		};
+		5EDC2A7C1A93B020004EFD46 /* src */ = {
+			isa = PBXGroup;
+			children = (
+				5EDC2A7D1A93B020004EFD46 /* ADSR.cpp */,
+				5EDC2A7E1A93B020004EFD46 /* Envelope.cpp */,
+				5EDC2A7F1A93B020004EFD46 /* SineWave.cpp */,
+				5EDC2A801A93B020004EFD46 /* Stk.cpp */,
+			);
+			path = src;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+		4F3AE17912C0E5E2001FD7A4 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F3AE17B12C0E5E2001FD7A4 /* resource.h in Headers */,
+				4F3AE17C12C0E5E2001FD7A4 /* AccessiblePeakMeter.h in Headers */,
+				4FF016F7134E14E2001447BA /* mutex.h in Headers */,
+				4FF016F8134E14E2001447BA /* ptrlist.h in Headers */,
+				4FF016F9134E14E2001447BA /* wdlstring.h in Headers */,
+				4FD16D1913B634E5001D0217 /* swell.h in Headers */,
+				4FD16D2413B6351C001D0217 /* swell-functions.h in Headers */,
+				4FD16D2D13B6353C001D0217 /* swell-internal.h in Headers */,
+				5EDC2A841A93B020004EFD46 /* SineWave.h in Headers */,
+				4FD16D3213B6355A001D0217 /* swell-types.h in Headers */,
+				4F78D8D913B63B5D0032E0F3 /* aeffect.h in Headers */,
+				4F78D8DA13B63B5D0032E0F3 /* aeffectx.h in Headers */,
+				4FF0171A134E153A001447BA /* heapbuf.h in Headers */,
+				4F1F1BEA135B1F60003A5BB2 /* wdlendian.h in Headers */,
+				4F78D93E13B63BA50032E0F3 /* IPlug_include_in_plug_hdr.h in Headers */,
+				4F78D94013B63BA50032E0F3 /* IPlug_include_in_plug_src.h in Headers */,
+				4F78D94113B63BA50032E0F3 /* IControl.h in Headers */,
+				4F78D94213B63BA50032E0F3 /* IKeyboardControl.h in Headers */,
+				4F78D94413B63BA50032E0F3 /* IPlugBase.h in Headers */,
+				4F78D94613B63BA50032E0F3 /* IGraphicsMac.h in Headers */,
+				4F78D94913B63BA50032E0F3 /* Containers.h in Headers */,
+				4F78D94A13B63BA50032E0F3 /* Hosts.h in Headers */,
+				4F78D95113B63BA50032E0F3 /* IGraphicsCocoa.h in Headers */,
+				4F78D95213B63BA50032E0F3 /* Log.h in Headers */,
+				4F78D95413B63BA50032E0F3 /* IPopupMenu.h in Headers */,
+				4F78D95613B63BA50032E0F3 /* IPlugStructs.h in Headers */,
+				4F78D95A13B63BA50032E0F3 /* IPlug_Prefix.pch in Headers */,
+				4F78D95B13B63BA50032E0F3 /* IParam.h in Headers */,
+				4F78D95D13B63BA50032E0F3 /* IMidiQueue.h in Headers */,
+				4F78D95F13B63BA50032E0F3 /* IGraphicsCarbon.h in Headers */,
+				5EDC2A851A93B020004EFD46 /* Stk.h in Headers */,
+				5EDC2A831A93B020004EFD46 /* Generator.h in Headers */,
+				4F78D96013B63BA50032E0F3 /* IGraphics.h in Headers */,
+				5EDC2A821A93B020004EFD46 /* Envelope.h in Headers */,
+				5EDC2A811A93B020004EFD46 /* ADSR.h in Headers */,
+				4F78DA0713B63CD90032E0F3 /* IPlugAU.h in Headers */,
+				4F3EE94913B65A350097B791 /* IPlugOSDetect.h in Headers */,
+				4FDA440913F3E4F2000B4551 /* IBitmapMonoText.h in Headers */,
+				4FA88B931444E4C4006CB8DA /* dfx-au-utilities.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F78DAAC13B640450032E0F3 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F78DABB13B640620032E0F3 /* IPlugStandalone.h in Headers */,
+				4F78DAB813B640530032E0F3 /* RtAudio.h in Headers */,
+				4F78DAB913B640530032E0F3 /* RtError.h in Headers */,
+				4F78DABA13B640530032E0F3 /* RtMidi.h in Headers */,
+				4F78DAB113B640470032E0F3 /* swell-menugen.h in Headers */,
+				4F78DAB213B640470032E0F3 /* swell-dlggen.h in Headers */,
+				4F78DAB313B640470032E0F3 /* swellappmain.h in Headers */,
+				4F78DA7713B640050032E0F3 /* resource.h in Headers */,
+				4F78DA7813B640050032E0F3 /* AccessiblePeakMeter.h in Headers */,
+				4F78DA8A13B640050032E0F3 /* mutex.h in Headers */,
+				4F78DA8B13B640050032E0F3 /* ptrlist.h in Headers */,
+				4F78DA8C13B640050032E0F3 /* wdlstring.h in Headers */,
+				4F78DA8D13B640050032E0F3 /* heapbuf.h in Headers */,
+				4F78DA8E13B640050032E0F3 /* wdlendian.h in Headers */,
+				4F78DA8F13B640050032E0F3 /* swell.h in Headers */,
+				4F78DA9013B640050032E0F3 /* swell-functions.h in Headers */,
+				4F78DA9113B640050032E0F3 /* swell-internal.h in Headers */,
+				4F78DA9213B640050032E0F3 /* swell-types.h in Headers */,
+				4F78DA9313B640050032E0F3 /* aeffect.h in Headers */,
+				4F78DA9413B640050032E0F3 /* aeffectx.h in Headers */,
+				4F78DA9513B640050032E0F3 /* IPlug_include_in_plug_hdr.h in Headers */,
+				4F78DA9613B640050032E0F3 /* IPlug_include_in_plug_src.h in Headers */,
+				4F78DA9713B640050032E0F3 /* IControl.h in Headers */,
+				4F78DA9813B640050032E0F3 /* IKeyboardControl.h in Headers */,
+				4F78DA9913B640050032E0F3 /* IPlugBase.h in Headers */,
+				4F78DA9A13B640050032E0F3 /* IGraphicsMac.h in Headers */,
+				4F78DA9C13B640050032E0F3 /* Containers.h in Headers */,
+				4F78DA9D13B640050032E0F3 /* Hosts.h in Headers */,
+				4F78DA9E13B640050032E0F3 /* IGraphicsCocoa.h in Headers */,
+				4F78DA9F13B640050032E0F3 /* Log.h in Headers */,
+				4F78DAA013B640050032E0F3 /* IPopupMenu.h in Headers */,
+				4F78DAA113B640050032E0F3 /* IPlugStructs.h in Headers */,
+				4F78DAA213B640050032E0F3 /* IPlug_Prefix.pch in Headers */,
+				4F78DAA313B640050032E0F3 /* IParam.h in Headers */,
+				4F78DAA413B640050032E0F3 /* IMidiQueue.h in Headers */,
+				4F78DAA513B640050032E0F3 /* IGraphicsCarbon.h in Headers */,
+				4F78DAA613B640050032E0F3 /* IGraphics.h in Headers */,
+				4F3EE94613B65A350097B791 /* IPlugOSDetect.h in Headers */,
+				4FDA440F13F3E4F2000B4551 /* IBitmapMonoText.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+		4F20EEC8132C69FE0030E34C /* VST2 */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4F20EF2F132C69FE0030E34C /* Build configuration list for PBXNativeTarget "VST2" */;
+			buildPhases = (
+				4F20EEC9132C69FE0030E34C /* Resources */,
+				4F20EECA132C69FE0030E34C /* Sources */,
+				4F20EF2C132C69FE0030E34C /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4F8D4C2D13E977CD004F7633 /* PBXTargetDependency */,
+			);
+			name = VST2;
+			productInstallPath = "$(HOME)/Library/Bundles";
+			productName = IPlugExample;
+			productReference = 4F20EF33132C69FE0030E34C /* AccessiblePeakMeter.vst */;
+			productType = "com.apple.product-type.bundle";
+		};
+		4F3AE17812C0E5E2001FD7A4 /* AU */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4F3AE1DC12C0E5E2001FD7A4 /* Build configuration list for PBXNativeTarget "AU" */;
+			buildPhases = (
+				4F3AE17912C0E5E2001FD7A4 /* Headers */,
+				4F3AE1A212C0E5E2001FD7A4 /* Sources */,
+				4F25BECE12C61F47005D51F7 /* Resources */,
+				4F3AE1D312C0E5E2001FD7A4 /* Frameworks */,
+				4F3AE1DA12C0E5E2001FD7A4 /* Rez */,
+				4F744D4C14005ADA002FAD90 /* ShellScript */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4F8D4C3A13E97859004F7633 /* PBXTargetDependency */,
+			);
+			name = AU;
+			productName = IPlugExampleAU;
+			productReference = 4F78DB5F13B6462B0032E0F3 /* AccessiblePeakMeter.component */;
+			productType = "com.apple.product-type.bundle";
+		};
+		4F7F5C4213E95EC8002918FD /* RTAS */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4F7F5C6413E95EC8002918FD /* Build configuration list for PBXNativeTarget "RTAS" */;
+			buildPhases = (
+				4F7F5C4813E95EC8002918FD /* Sources */,
+				4F7F5C5F13E95EC8002918FD /* Frameworks */,
+				4F7F5D3113E9688A002918FD /* Rez */,
+				4F7F5C4313E95EC8002918FD /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4F8D4C3813E9783A004F7633 /* PBXTargetDependency */,
+				4F8B6765158B4F67002FC25B /* PBXTargetDependency */,
+			);
+			name = RTAS;
+			productInstallPath = "$(HOME)/Library/Bundles";
+			productName = IPlugExample;
+			productReference = 4F7F5C6813E95EC8002918FD /* AccessiblePeakMeter.dpm */;
+			productType = "com.apple.product-type.bundle";
+		};
+		4F9828AA140A9EB700F3FCC1 /* VST3 */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4F9828DC140A9EB700F3FCC1 /* Build configuration list for PBXNativeTarget "VST3" */;
+			buildPhases = (
+				4F9828AF140A9EB700F3FCC1 /* Resources */,
+				4F9828B5140A9EB700F3FCC1 /* Sources */,
+				4F9828D7140A9EB700F3FCC1 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4F9828AD140A9EB700F3FCC1 /* PBXTargetDependency */,
+				4F9828F3140A9ED500F3FCC1 /* PBXTargetDependency */,
+			);
+			name = VST3;
+			productInstallPath = "$(HOME)/Library/Bundles";
+			productName = IPlugExample;
+			productReference = 4F9828E0140A9EB700F3FCC1 /* AccessiblePeakMeter.vst3 */;
+			productType = "com.apple.product-type.bundle";
+		};
+		4FB600121567CB0A0020189A /* AAX */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4FB6002F1567CB0A0020189A /* Build configuration list for PBXNativeTarget "AAX" */;
+			buildPhases = (
+				4FB600151567CB0A0020189A /* Resources */,
+				4FB600171567CB0A0020189A /* Sources */,
+				4FB6002A1567CB0A0020189A /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4FB600501567CB990020189A /* PBXTargetDependency */,
+				4F3B0B43158B509A001B0CEF /* PBXTargetDependency */,
+			);
+			name = AAX;
+			productInstallPath = "$(HOME)/Library/Bundles";
+			productName = IPlugExample;
+			productReference = 4FB600331567CB0A0020189A /* AccessiblePeakMeter.aaxplugin */;
+			productType = "com.apple.product-type.bundle";
+		};
+		4FD16A0813B63081001D0217 /* APP */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4FD16A0F13B63082001D0217 /* Build configuration list for PBXNativeTarget "APP" */;
+			buildPhases = (
+				4F78DAAC13B640450032E0F3 /* Headers */,
+				4FD16A0513B63081001D0217 /* Resources */,
+				4FD16A0613B63081001D0217 /* Sources */,
+				4FD16A0713B63081001D0217 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4F678B6D13E984B200A6A9BB /* PBXTargetDependency */,
+			);
+			name = APP;
+			productName = "OSXAPP_32&64_intel";
+			productReference = 4FD16A0913B63081001D0217 /* AccessiblePeakMeter.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		089C1669FE841209C02AAC07 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				BuildIndependentTargetsInParallel = YES;
+			};
+			buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "AccessiblePeakMeter" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+			);
+			mainGroup = 089C166AFE841209C02AAC07 /* IPlugExample */;
+			projectDirPath = "";
+			projectReferences = (
+				{
+					ProductGroup = 4F8B671E158B4EB2002FC25B /* Products */;
+					ProjectRef = 4FF7B0F3156A831000E6CB12 /* AAXLibrary.xcodeproj */;
+				},
+				{
+					ProductGroup = 4F4AD1F21409A56A0068A6D4 /* Products */;
+					ProjectRef = 4F4AD1F11409A56A0068A6D4 /* base.xcodeproj */;
+				},
+				{
+					ProductGroup = 4F8D4BC513E97664004F7633 /* Products */;
+					ProjectRef = 4F8D4BC413E97664004F7633 /* lice.xcodeproj */;
+				},
+				{
+					ProductGroup = 4F8B6748158B4F53002FC25B /* Products */;
+					ProjectRef = 4F8B6747158B4F53002FC25B /* PluginLibrary.xcodeproj */;
+				},
+			);
+			projectRoot = "";
+			targets = (
+				4F78DAF113B643600032E0F3 /* All */,
+				4FD16A0813B63081001D0217 /* APP */,
+				4F20EEC8132C69FE0030E34C /* VST2 */,
+				4F9828AA140A9EB700F3FCC1 /* VST3 */,
+				4F3AE17812C0E5E2001FD7A4 /* AU */,
+				4F7F5C4213E95EC8002918FD /* RTAS */,
+				4FB600121567CB0A0020189A /* AAX */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+		4F4AD1F61409A56A0068A6D4 /* libbase.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libbase.a;
+			remoteRef = 4F4AD1F51409A56A0068A6D4 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4F8B6723158B4EB2002FC25B /* libAAXLibrary.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libAAXLibrary.a;
+			remoteRef = 4F8B6722158B4EB2002FC25B /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4F8B6725158B4EB2002FC25B /* AAXLibrary_UnitTest */ = {
+			isa = PBXReferenceProxy;
+			fileType = "compiled.mach-o.executable";
+			path = AAXLibrary_UnitTest;
+			remoteRef = 4F8B6724158B4EB2002FC25B /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4F8B674F158B4F53002FC25B /* libPluginLibrary.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libPluginLibrary.a;
+			remoteRef = 4F8B674E158B4F53002FC25B /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4F8D4BCC13E97664004F7633 /* lice.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = lice.a;
+			remoteRef = 4F8D4BCB13E97664004F7633 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4F8D4C1713E976A7004F7633 /* lice32.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = lice32.a;
+			remoteRef = 4F8D4C1613E976A7004F7633 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		4FA708BF158B47F000BFC572 /* libbase32.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libbase32.a;
+			remoteRef = 4FA708BE158B47F000BFC572 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+		4F20EEC9132C69FE0030E34C /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5EDC2A971A93BA2E004EFD46 /* switch.png in Resources */,
+				4F23B9F313B647A00097A67E /* knob.png in Resources */,
+				5EDC2A9D1A93BA33004EFD46 /* fader.png in Resources */,
+				4F7E1EC516792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F25BECE12C61F47005D51F7 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5EDC2A991A93BA2F004EFD46 /* switch.png in Resources */,
+				4F23BA0C13B647A00097A67E /* knob.png in Resources */,
+				5EDC2A9F1A93BA34004EFD46 /* fader.png in Resources */,
+				4F7E1EBD16792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F7F5C4313E95EC8002918FD /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5EDC2A9A1A93BA30004EFD46 /* switch.png in Resources */,
+				4F7F5C4613E95EC8002918FD /* knob.png in Resources */,
+				5EDC2AA01A93BA34004EFD46 /* fader.png in Resources */,
+				4F7E1EB516792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F9828AF140A9EB700F3FCC1 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5EDC2A981A93BA2F004EFD46 /* switch.png in Resources */,
+				4F9828B1140A9EB700F3FCC1 /* knob.png in Resources */,
+				5EDC2A9E1A93BA34004EFD46 /* fader.png in Resources */,
+				4F7E1EC116792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FB600151567CB0A0020189A /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5EDC2A9B1A93BA30004EFD46 /* switch.png in Resources */,
+				4FB600161567CB0A0020189A /* knob.png in Resources */,
+				5EDC2AA11A93BA35004EFD46 /* fader.png in Resources */,
+				4F7E1EB916792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FD16A0513B63081001D0217 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F78D88613B6382B0032E0F3 /* AccessiblePeakMeter.icns in Resources */,
+				4F78D89913B639100032E0F3 /* InfoPlist.strings in Resources */,
+				4F78D89A13B639100032E0F3 /* MainMenu.xib in Resources */,
+				5EDC2A961A93BA2E004EFD46 /* switch.png in Resources */,
+				5EDC2A9C1A93BA33004EFD46 /* fader.png in Resources */,
+				4F23B9FD13B647A00097A67E /* knob.png in Resources */,
+				4F7E1EC916792F6000907FCF /* bg.png in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+		4F3AE1DA12C0E5E2001FD7A4 /* Rez */ = {
+			isa = PBXRezBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F78DA0913B63CD90032E0F3 /* IPlugAU.r in Rez */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F7F5D3113E9688A002918FD /* Rez */ = {
+			isa = PBXRezBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F7F5D2C13E9686E002918FD /* IPlugRTAS.r in Rez */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		4F744D4C14005ADA002FAD90 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			comments = "reset audiounit caches";
+			files = (
+			);
+			inputPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "if [ -f \"$HOME/Library/Application Support/AU Lab/com.apple.audio.aulab_componentcache.plist\" ]\n  then\n\trm \"$HOME/Library/Application Support/AU Lab/com.apple.audio.aulab_componentcache.plist\"\nfi\n\nif [ -f \"$HOME/Library/Caches/com.apple.audiounits.cache\" ]\n  then\n\trm \"$HOME/Library/Caches/com.apple.audiounits.cache\"\nfi";
+			showEnvVarsInLog = 0;
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		4F20EECA132C69FE0030E34C /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F20EECB132C69FE0030E34C /* AccessiblePeakMeter.cpp in Sources */,
+				4FD16D1213B634BF001D0217 /* swell-gdi.mm in Sources */,
+				4F78D9BB13B63BA50032E0F3 /* IPlugBase.cpp in Sources */,
+				5EDC2A881A93B020004EFD46 /* Envelope.cpp in Sources */,
+				5EDC2A861A93B020004EFD46 /* ADSR.cpp in Sources */,
+				5EDC2A8A1A93B020004EFD46 /* SineWave.cpp in Sources */,
+				4F78D9BC13B63BA50032E0F3 /* IPlugStructs.cpp in Sources */,
+				4F78D9BD13B63BA50032E0F3 /* Hosts.cpp in Sources */,
+				4F78D9BF13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */,
+				4F78D9C013B63BA50032E0F3 /* IGraphics.cpp in Sources */,
+				4F78D9C113B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */,
+				5EDC2A8C1A93B020004EFD46 /* Stk.cpp in Sources */,
+				4F78D9C213B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */,
+				4F78D9C313B63BA50032E0F3 /* Log.cpp in Sources */,
+				4F78D9C413B63BA50032E0F3 /* IPopupMenu.cpp in Sources */,
+				4F78D9C813B63BA50032E0F3 /* IParam.cpp in Sources */,
+				4F78D9C913B63BA50032E0F3 /* IControl.cpp in Sources */,
+				4F78D9F313B63C6A0032E0F3 /* IPlugVST.cpp in Sources */,
+				4FDA440C13F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F3AE1A212C0E5E2001FD7A4 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F3AE1A312C0E5E2001FD7A4 /* AccessiblePeakMeter.cpp in Sources */,
+				4FD16D0E13B634BF001D0217 /* swell-gdi.mm in Sources */,
+				4F78D94513B63BA50032E0F3 /* IPlugBase.cpp in Sources */,
+				5EDC2A8D1A93B020004EFD46 /* Stk.cpp in Sources */,
+				5EDC2A8B1A93B020004EFD46 /* SineWave.cpp in Sources */,
+				4F78D94713B63BA50032E0F3 /* IPlugStructs.cpp in Sources */,
+				4F78D94B13B63BA50032E0F3 /* Hosts.cpp in Sources */,
+				4F78D94D13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */,
+				4F78D94E13B63BA50032E0F3 /* IGraphics.cpp in Sources */,
+				5EDC2A891A93B020004EFD46 /* Envelope.cpp in Sources */,
+				4F78D94F13B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */,
+				4F78D95013B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */,
+				5EDC2A871A93B020004EFD46 /* ADSR.cpp in Sources */,
+				4F78D95313B63BA50032E0F3 /* Log.cpp in Sources */,
+				4F78D95513B63BA50032E0F3 /* IPopupMenu.cpp in Sources */,
+				4F78D95C13B63BA50032E0F3 /* IParam.cpp in Sources */,
+				4F78D96113B63BA50032E0F3 /* IControl.cpp in Sources */,
+				4F78DA0813B63CD90032E0F3 /* IPlugAU.cpp in Sources */,
+				4F78DA0A13B63CD90032E0F3 /* IPlugAU_ViewFactory.mm in Sources */,
+				4FDA440813F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */,
+				4F296BDA1678E6C800C0F5C2 /* dfx-au-utilities.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F7F5C4813E95EC8002918FD /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F7F5C4913E95EC8002918FD /* AccessiblePeakMeter.cpp in Sources */,
+				4F7F5C5013E95EC8002918FD /* swell-gdi.mm in Sources */,
+				4F7F5C5113E95EC8002918FD /* IPlugBase.cpp in Sources */,
+				4F7F5C5213E95EC8002918FD /* IPlugStructs.cpp in Sources */,
+				4F7F5C5313E95EC8002918FD /* Hosts.cpp in Sources */,
+				4F7F5C5413E95EC8002918FD /* IGraphicsMac.mm in Sources */,
+				4F7F5C5513E95EC8002918FD /* IGraphics.cpp in Sources */,
+				4F7F5C5613E95EC8002918FD /* IGraphicsCarbon.cpp in Sources */,
+				4F7F5C5713E95EC8002918FD /* IGraphicsCocoa.mm in Sources */,
+				4F7F5C5813E95EC8002918FD /* Log.cpp in Sources */,
+				4F7F5C5913E95EC8002918FD /* IPopupMenu.cpp in Sources */,
+				4F7F5C5A13E95EC8002918FD /* IParam.cpp in Sources */,
+				4F7F5C5B13E95EC8002918FD /* IControl.cpp in Sources */,
+				4F7F5C7113E95FB2002918FD /* IPlugRTAS.cpp in Sources */,
+				4F7F5CAD13E9607A002918FD /* digicode1.cpp in Sources */,
+				4F7F5CAE13E9607A002918FD /* digicode2.cpp in Sources */,
+				4F7F5CAF13E9607A002918FD /* digicode3.cpp in Sources */,
+				4F7F5CB013E9607A002918FD /* IPlugCustomUI.cpp in Sources */,
+				4F7F5CB113E9607A002918FD /* IPlugGroup.cpp in Sources */,
+				4F7F5CB213E9607A002918FD /* IPlugProcess.cpp in Sources */,
+				4F7F5CB313E9607A002918FD /* IPlugProcessRTAS.cpp in Sources */,
+				4FDA440713F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */,
+				4F79A34E146304CD00744AED /* IPlugProcessAS.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4F9828B5140A9EB700F3FCC1 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4F9828B6140A9EB700F3FCC1 /* AccessiblePeakMeter.cpp in Sources */,
+				4F9828B7140A9EB700F3FCC1 /* swell-gdi.mm in Sources */,
+				4F9828B8140A9EB700F3FCC1 /* IPlugBase.cpp in Sources */,
+				4F9828B9140A9EB700F3FCC1 /* IPlugStructs.cpp in Sources */,
+				4F9828BA140A9EB700F3FCC1 /* Hosts.cpp in Sources */,
+				4F9828BB140A9EB700F3FCC1 /* IGraphicsMac.mm in Sources */,
+				4F9828BC140A9EB700F3FCC1 /* IGraphics.cpp in Sources */,
+				4F9828BD140A9EB700F3FCC1 /* IGraphicsCarbon.cpp in Sources */,
+				4F9828BE140A9EB700F3FCC1 /* IGraphicsCocoa.mm in Sources */,
+				4F9828BF140A9EB700F3FCC1 /* Log.cpp in Sources */,
+				4F9828C0140A9EB700F3FCC1 /* IPopupMenu.cpp in Sources */,
+				4F9828C1140A9EB700F3FCC1 /* IParam.cpp in Sources */,
+				4F9828C2140A9EB700F3FCC1 /* IControl.cpp in Sources */,
+				4F9828C3140A9EB700F3FCC1 /* IBitmapMonoText.cpp in Sources */,
+				4F9828C4140A9EB700F3FCC1 /* IPlugVST3.cpp in Sources */,
+				4F9828C5140A9EB700F3FCC1 /* memorystream.cpp in Sources */,
+				4F9828C6140A9EB700F3FCC1 /* pluginview.cpp in Sources */,
+				4F9828C7140A9EB700F3FCC1 /* macmain.cpp in Sources */,
+				4F9828C8140A9EB700F3FCC1 /* pluginfactoryvst3.cpp in Sources */,
+				4F9828C9140A9EB700F3FCC1 /* vstaudioeffect.cpp in Sources */,
+				4F9828CA140A9EB700F3FCC1 /* vstbus.cpp in Sources */,
+				4F9828CB140A9EB700F3FCC1 /* vstcomponent.cpp in Sources */,
+				4F9828CC140A9EB700F3FCC1 /* vstcomponentbase.cpp in Sources */,
+				4F9828CE140A9EB700F3FCC1 /* vstinitiids.cpp in Sources */,
+				4F9828CF140A9EB700F3FCC1 /* vstnoteexpressiontypes.cpp in Sources */,
+				4F9828D0140A9EB700F3FCC1 /* vstparameters.cpp in Sources */,
+				4F9828D1140A9EB700F3FCC1 /* vstpresetfile.cpp in Sources */,
+				4F9828D2140A9EB700F3FCC1 /* vstrepresentation.cpp in Sources */,
+				4F9828D3140A9EB700F3FCC1 /* vstsinglecomponenteffect.cpp in Sources */,
+				4F9828D4140A9EB700F3FCC1 /* conststringtable.cpp in Sources */,
+				4F9828D5140A9EB700F3FCC1 /* funknown.cpp in Sources */,
+				4F9828D6140A9EB700F3FCC1 /* ustring.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FB600171567CB0A0020189A /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4FB600181567CB0A0020189A /* AccessiblePeakMeter.cpp in Sources */,
+				4FB600191567CB0A0020189A /* swell-gdi.mm in Sources */,
+				4FB6001A1567CB0A0020189A /* IPlugBase.cpp in Sources */,
+				4FB6001B1567CB0A0020189A /* IPlugStructs.cpp in Sources */,
+				4FB6001C1567CB0A0020189A /* Hosts.cpp in Sources */,
+				4FB6001D1567CB0A0020189A /* IGraphicsMac.mm in Sources */,
+				4FB6001E1567CB0A0020189A /* IGraphics.cpp in Sources */,
+				4FB6001F1567CB0A0020189A /* IGraphicsCarbon.cpp in Sources */,
+				4FB600201567CB0A0020189A /* IGraphicsCocoa.mm in Sources */,
+				4FB600211567CB0A0020189A /* Log.cpp in Sources */,
+				4FB600221567CB0A0020189A /* IPopupMenu.cpp in Sources */,
+				4FB600231567CB0A0020189A /* IParam.cpp in Sources */,
+				4FB600241567CB0A0020189A /* IControl.cpp in Sources */,
+				4FB600251567CB0A0020189A /* IBitmapMonoText.cpp in Sources */,
+				4FB600261567CB0A0020189A /* AAX_Exports.cpp in Sources */,
+				4FB600271567CB0A0020189A /* IPlugAAX.cpp in Sources */,
+				4FB600281567CB0A0020189A /* IPlugAAX_Describe.cpp in Sources */,
+				4FB600291567CB0A0020189A /* AAX_CIPlugParameters.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4FD16A0613B63081001D0217 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4FD16CFC13B63468001D0217 /* swell-appstub.mm in Sources */,
+				4FD16D0513B634AA001D0217 /* swell-dlg.mm in Sources */,
+				4FD16D0C13B634BF001D0217 /* swell-gdi.mm in Sources */,
+				4FD16D1613B634D2001D0217 /* swell-ini.cpp in Sources */,
+				4FD16D3A13B63582001D0217 /* swell-kb.mm in Sources */,
+				4FD16D3C13B6358C001D0217 /* swell-miscdlg.mm in Sources */,
+				4FD16D3E13B63595001D0217 /* swell-menu.mm in Sources */,
+				4FD16D4013B635A0001D0217 /* swell-misc.mm in Sources */,
+				4FD16D4213B635AB001D0217 /* swell-wnd.mm in Sources */,
+				4FD16D4413B635B2001D0217 /* swell.cpp in Sources */,
+				4FD16D4713B635C8001D0217 /* swellappmain.mm in Sources */,
+				4F78D8C413B63A700032E0F3 /* RtAudio.cpp in Sources */,
+				4F78D8C513B63A700032E0F3 /* RtMidi.cpp in Sources */,
+				4F78D90A13B63BA50032E0F3 /* IPlugStandalone.cpp in Sources */,
+				4F78D90B13B63BA50032E0F3 /* IPlugBase.cpp in Sources */,
+				4F78D90C13B63BA50032E0F3 /* IPlugStructs.cpp in Sources */,
+				4F78D90D13B63BA50032E0F3 /* Hosts.cpp in Sources */,
+				4F78D90F13B63BA50032E0F3 /* IGraphicsMac.mm in Sources */,
+				4F78D91013B63BA50032E0F3 /* IGraphics.cpp in Sources */,
+				4F78D91113B63BA50032E0F3 /* IGraphicsCarbon.cpp in Sources */,
+				4F78D91213B63BA50032E0F3 /* IGraphicsCocoa.mm in Sources */,
+				4F78D91313B63BA50032E0F3 /* Log.cpp in Sources */,
+				4F78D91413B63BA50032E0F3 /* IPopupMenu.cpp in Sources */,
+				4F78D91813B63BA50032E0F3 /* IParam.cpp in Sources */,
+				4F78D91913B63BA50032E0F3 /* IControl.cpp in Sources */,
+				4F78DA5A13B63F150032E0F3 /* AccessiblePeakMeter.cpp in Sources */,
+				4FD16CA213B6327D001D0217 /* app_main.cpp in Sources */,
+				4FD16CA313B6327D001D0217 /* app_dialog.cpp in Sources */,
+				4FB3624F13B648FE00DB6B76 /* main.mm in Sources */,
+				4FDA440E13F3E4F2000B4551 /* IBitmapMonoText.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		4F3B0B43158B509A001B0CEF /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = AAXLibrary;
+			targetProxy = 4F3B0B42158B509A001B0CEF /* PBXContainerItemProxy */;
+		};
+		4F678B6D13E984B200A6A9BB /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "lice_32&64_intel";
+			targetProxy = 4F678B6C13E984B200A6A9BB /* PBXContainerItemProxy */;
+		};
+		4F789ED016763E47009EF688 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4FB600121567CB0A0020189A /* AAX */;
+			targetProxy = 4F789ECF16763E47009EF688 /* PBXContainerItemProxy */;
+		};
+		4F78DAF613B6436B0032E0F3 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4FD16A0813B63081001D0217 /* APP */;
+			targetProxy = 4F78DAF513B6436B0032E0F3 /* PBXContainerItemProxy */;
+		};
+		4F78DAF813B6436B0032E0F3 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4F20EEC8132C69FE0030E34C /* VST2 */;
+			targetProxy = 4F78DAF713B6436B0032E0F3 /* PBXContainerItemProxy */;
+		};
+		4F78DAFA13B6436B0032E0F3 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4F3AE17812C0E5E2001FD7A4 /* AU */;
+			targetProxy = 4F78DAF913B6436B0032E0F3 /* PBXContainerItemProxy */;
+		};
+		4F8B6765158B4F67002FC25B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "Plugin Library";
+			targetProxy = 4F8B6764158B4F67002FC25B /* PBXContainerItemProxy */;
+		};
+		4F8D4C2D13E977CD004F7633 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "lice_32&64_intel";
+			targetProxy = 4F8D4C2C13E977CD004F7633 /* PBXContainerItemProxy */;
+		};
+		4F8D4C3813E9783A004F7633 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = lice_32_intel;
+			targetProxy = 4F8D4C3713E9783A004F7633 /* PBXContainerItemProxy */;
+		};
+		4F8D4C3A13E97859004F7633 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "lice_32&64_intel";
+			targetProxy = 4F8D4C3913E97859004F7633 /* PBXContainerItemProxy */;
+		};
+		4F8D4C6313E97B3D004F7633 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4F7F5C4213E95EC8002918FD /* RTAS */;
+			targetProxy = 4F8D4C6213E97B3D004F7633 /* PBXContainerItemProxy */;
+		};
+		4F9828AD140A9EB700F3FCC1 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = base;
+			targetProxy = 4F9828AE140A9EB700F3FCC1 /* PBXContainerItemProxy */;
+		};
+		4F9828F3140A9ED500F3FCC1 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "lice_32&64_intel";
+			targetProxy = 4F9828F2140A9ED500F3FCC1 /* PBXContainerItemProxy */;
+		};
+		4F9828F8140A9F0200F3FCC1 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4F9828AA140A9EB700F3FCC1 /* VST3 */;
+			targetProxy = 4F9828F7140A9F0200F3FCC1 /* PBXContainerItemProxy */;
+		};
+		4FB600501567CB990020189A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "lice_32&64_intel";
+			targetProxy = 4FB6004F1567CB990020189A /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		4F78D89513B639100032E0F3 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				4F78D89613B639100032E0F3 /* English */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		4F78D89713B639100032E0F3 /* MainMenu.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				4F78D89813B639100032E0F3 /* English */,
+			);
+			name = MainMenu.xib;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		1DEB913F08733D840010E9CD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				COPY_PHASE_STRIP = NO;
+				DEPLOYMENT_LOCATION = YES;
+				EXECUTABLE_EXTENSION = "";
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_OPTIMIZATION_LEVEL = "$(DEBUG_OPTIMIZE)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = "$(DEBUG_DEFS)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(COCOA_DEFS)";
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PKGINFO_FILE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+				);
+				INFOPLIST_EXPAND_BUILD_SETTINGS = YES;
+				INFOPLIST_PREPROCESS = NO;
+				INSTALL_GROUP = admin;
+				INSTALL_OWNER = root;
+				INSTALL_PATH = /;
+				LIBRARY_SEARCH_PATHS = "$(ADDITIONAL_LIBRARY_PATHS)";
+				ONLY_ACTIVE_ARCH = YES;
+				OTHER_CPLUSPLUSFLAGS = (
+					"$(OTHER_CFLAGS)",
+					"$(GCC_CFLAGS)",
+				);
+				PREBINDING = NO;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				PRODUCT_NAME = "$(BINARY_NAME)";
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				STRIP_INSTALLED_PRODUCT = NO;
+				SYMROOT = "build-mac";
+				VALID_ARCHS = "i386 x86_64";
+				WRAPPER_EXTENSION = "";
+			};
+			name = Debug;
+		};
+		1DEB914008733D840010E9CD /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				DEPLOYMENT_LOCATION = YES;
+				EXECUTABLE_EXTENSION = "";
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = "$(RELEASE_OPTIMIZE)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = "$(RELEASE_DEFS)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(COCOA_DEFS)";
+				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PKGINFO_FILE = YES;
+				GENERATE_PROFILING_CODE = "$(PROFILE)";
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+				);
+				INFOPLIST_EXPAND_BUILD_SETTINGS = YES;
+				INFOPLIST_PREPROCESS = NO;
+				INSTALL_GROUP = admin;
+				INSTALL_OWNER = root;
+				INSTALL_PATH = /;
+				LIBRARY_SEARCH_PATHS = "$(ADDITIONAL_LIBRARY_PATHS)";
+				OTHER_CPLUSPLUSFLAGS = (
+					"$(OTHER_CFLAGS)",
+					"$(GCC_CFLAGS)",
+				);
+				PREBINDING = NO;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				PRODUCT_NAME = "$(BINARY_NAME)";
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				SYMROOT = "build-mac";
+				VALID_ARCHS = "i386 x86_64";
+				WRAPPER_EXTENSION = "";
+			};
+			name = Release;
+		};
+		4F20EF30132C69FE0030E34C /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST2-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst;
+			};
+			name = Debug;
+		};
+		4F20EF31132C69FE0030E34C /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST2-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst;
+			};
+			name = Release;
+		};
+		4F20EF32132C69FE0030E34C /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST2-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst;
+			};
+			name = Tracer;
+		};
+		4F3AE1DD12C0E5E2001FD7A4 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(AU_FOLDER)";
+				EXPORTED_SYMBOLS_FILE = AccessiblePeakMeter.exp;
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AU_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AU-Info.plist";
+				OTHER_LDFLAGS = "-bundle";
+				OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I $CA_SDK/AudioUnits/AUPublic/AUBase";
+				PREBINDING = YES;
+				REZ_SEARCH_PATHS = (
+					/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers,
+					$CA_SDK/AudioUnits/AUPublic/AUBase,
+				);
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = component;
+			};
+			name = Debug;
+		};
+		4F3AE1DE12C0E5E2001FD7A4 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(AU_FOLDER)";
+				EXPORTED_SYMBOLS_FILE = AccessiblePeakMeter.exp;
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AU_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AU-Info.plist";
+				OTHER_LDFLAGS = "-bundle";
+				OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I $CA_SDK/AudioUnits/AUPublic/AUBase";
+				PREBINDING = YES;
+				REZ_SEARCH_PATHS = (
+					/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers,
+					$CA_SDK/AudioUnits/AUPublic/AUBase,
+				);
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = component;
+			};
+			name = Release;
+		};
+		4F3AE1DF12C0E5E2001FD7A4 /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(AU_FOLDER)";
+				EXPORTED_SYMBOLS_FILE = AccessiblePeakMeter.exp;
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AU_DEFS)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AU-Info.plist";
+				OTHER_LDFLAGS = "-bundle";
+				OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I $CA_SDK/AudioUnits/AUPublic/AUBase";
+				PREBINDING = YES;
+				REZ_SEARCH_PATHS = (
+					/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers,
+					$CA_SDK/AudioUnits/AUPublic/AUBase,
+				);
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = component;
+			};
+			name = Tracer;
+		};
+		4F78DAF213B643610032E0F3 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = "$(DEBUG_OPTIMIZE)";
+				PRODUCT_NAME = "AllOSX_32&64_intel";
+			};
+			name = Debug;
+		};
+		4F78DAF313B643610032E0F3 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				PRODUCT_NAME = "AllOSX_32&64_intel";
+				ZERO_LINK = NO;
+			};
+			name = Release;
+		};
+		4F78DAF413B643610032E0F3 /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "AllOSX_32&64_intel";
+			};
+			name = Tracer;
+		};
+		4F7F5C6513E95EC8002918FD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F7F5CAB13E9607A002918FD /* CommonDebugSettings.xcconfig */;
+			buildSettings = {
+				ARCHS = i386;
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				DSTROOT = "$(RTAS_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					$DEBUG_DEFS,
+					"_DEBUG=1",
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(inherited)",
+					"$(RTAS_DEFS)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = NO;
+				GCC_WARN_UNUSED_VARIABLE = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-RTAS-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Debug\"",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Release\"",
+				);
+				MacBag = "$(PT9_SDK)/MacBag";
+				OBJROOT = "build-mac";
+				OTHER_CFLAGS = "-fno-inline";
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"\"-LlibPluginLibrary\"",
+				);
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				SYMROOT = "build-mac";
+				VALID_ARCHS = i386;
+				WARNING_CFLAGS = (
+					"-Wno-reorder",
+					"-Wno-four-char-constants",
+				);
+				WRAPPER_EXTENSION = dpm;
+			};
+			name = Debug;
+		};
+		4F7F5C6613E95EC8002918FD /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F7F5CAC13E9607A002918FD /* CommonReleaseSettings.xcconfig */;
+			buildSettings = {
+				ARCHS = i386;
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				DEPLOYMENT_POSTPROCESSING = NO;
+				DSTROOT = "$(RTAS_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(RTAS_DEFS)",
+					"$(inherited)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = NO;
+				GCC_WARN_UNUSED_VARIABLE = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-RTAS-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Release\"",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Debug\"",
+				);
+				MacBag = "$(PT9_SDK)/MacBag";
+				OBJROOT = "build-mac";
+				OTHER_CFLAGS = "";
+				OTHER_LDFLAGS = "$(inherited)";
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				SYMROOT = "build-mac";
+				VALID_ARCHS = i386;
+				WARNING_CFLAGS = (
+					"-Wno-reorder",
+					"-Wno-four-char-constants",
+				);
+				WRAPPER_EXTENSION = dpm;
+			};
+			name = Release;
+		};
+		4F7F5C6713E95EC8002918FD /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F7F5CAC13E9607A002918FD /* CommonReleaseSettings.xcconfig */;
+			buildSettings = {
+				ARCHS = i386;
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				DSTROOT = "$(RTAS_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(inherited)",
+					"$(RTAS_DEFS)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = NO;
+				GCC_WARN_UNUSED_VARIABLE = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-RTAS-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Release\"",
+					"\"$(SRCROOT)/../../PT9_SDK/MacBag/Libs/Debug\"",
+				);
+				MacBag = "$(PT9_SDK)/MacBag";
+				OBJROOT = "build-mac";
+				OTHER_CFLAGS = "";
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"\"-LlibPluginLibrary\"",
+				);
+				SDKROOT = "$(BASE_SDK)";
+				SYMROOT = "build-mac";
+				VALID_ARCHS = i386;
+				WARNING_CFLAGS = (
+					"-Wno-reorder",
+					"-Wno-four-char-constants",
+				);
+				WRAPPER_EXTENSION = dpm;
+			};
+			name = Tracer;
+		};
+		4F9828DD140A9EB700F3FCC1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST3_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST3_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(VST3_SDK)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST3-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst3;
+			};
+			name = Debug;
+		};
+		4F9828DE140A9EB700F3FCC1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST3_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST3_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(VST3_SDK)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST3-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst3;
+			};
+			name = Release;
+		};
+		4F9828DF140A9EB700F3FCC1 /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(VST3_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(VST3_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(VST3_SDK)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-VST3-Info.plist";
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = vst3;
+			};
+			name = Tracer;
+		};
+		4FB600301567CB0A0020189A /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F4CC38C1549B92900A9EA21 /* CommonDebugSettings.xcconfig */;
+			buildSettings = {
+				AAX_SDK_ROOT = "$(AAX_SDK)";
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				DEPLOYMENT_LOCATION = YES;
+				DSTROOT = "$(AAX_FOLDER)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					$DEBUG_DEFS,
+					"_DEBUG=1",
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AAX_DEFS)",
+					"$(inherited)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AAX-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"$(SRCROOT)/../../AAX_SDK/Libs/Debug",
+				);
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				WARNING_CFLAGS = (
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = aaxplugin;
+			};
+			name = Debug;
+		};
+		4FB600311567CB0A0020189A /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F4CC38D1549B92900A9EA21 /* CommonReleaseSettings.xcconfig */;
+			buildSettings = {
+				AAX_SDK_ROOT = "$(AAX_SDK)";
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				DEPLOYMENT_LOCATION = YES;
+				DEPLOYMENT_POSTPROCESSING = NO;
+				DSTROOT = "$(AAX_FOLDER)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					$RELEASE_DEFS,
+					"_NDEBUG=1",
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AAX_DEFS)",
+					"$(inherited)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AAX-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"$(SRCROOT)/../../AAX_SDK/Libs/Release",
+				);
+				PREBINDING = YES;
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				WARNING_CFLAGS = (
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = aaxplugin;
+			};
+			name = Release;
+		};
+		4FB600321567CB0A0020189A /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4F4CC38D1549B92900A9EA21 /* CommonReleaseSettings.xcconfig */;
+			buildSettings = {
+				AAX_SDK_ROOT = "$(AAX_SDK)";
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				DEPLOYMENT_LOCATION = YES;
+				DEPLOYMENT_POSTPROCESSING = NO;
+				DSTROOT = "$(AAX_FOLDER)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					$TRACER_DEFS,
+					"_NDEBUG=1",
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(AAX_DEFS)",
+					"$(inherited)",
+				);
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-AAX-Info.plist";
+				LIBRARY_SEARCH_PATHS = (
+					"$(ADDITIONAL_LIBRARY_PATHS)",
+					"$(SRCROOT)/../../AAX_SDK/Libs/Release",
+				);
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				WARNING_CFLAGS = (
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = aaxplugin;
+			};
+			name = Tracer;
+		};
+		4FD16A0C13B63082001D0217 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(APP_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(APP_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_APP_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-OSXAPP-Info.plist";
+				OTHER_LDFLAGS = (
+					"-framework",
+					Foundation,
+					"-framework",
+					AppKit,
+				);
+				PREBINDING = NO;
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		4FD16A0D13B63082001D0217 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(APP_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(APP_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_APP_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-OSXAPP-Info.plist";
+				OTHER_LDFLAGS = (
+					"-framework",
+					Foundation,
+					"-framework",
+					AppKit,
+				);
+				PREBINDING = NO;
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+		4FD16A0E13B63082001D0217 /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DSTROOT = "$(APP_FOLDER)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+					"$(APP_DEFS)",
+					"$(inherited)",
+				);
+				HEADER_SEARCH_PATHS = (
+					"$(ADDITIONAL_APP_INCLUDES)",
+					"$(inherited)",
+				);
+				INFOPLIST_FILE = "resources/AccessiblePeakMeter-OSXAPP-Info.plist";
+				OTHER_LDFLAGS = (
+					"-framework",
+					Foundation,
+					"-framework",
+					AppKit,
+				);
+				PREBINDING = NO;
+				SKIP_INSTALL = NO;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Tracer;
+		};
+		528359A90D7F0C3A00577159 /* Tracer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4FCF15AF133124D1009A6277 /* AccessiblePeakMeter.xcconfig */;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+				CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+				DEPLOYMENT_LOCATION = YES;
+				EXECUTABLE_EXTENSION = "";
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = "$(RELEASE_OPTIMIZE)";
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = $IPLUG_PATH/IPlug_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = "$(TRACER_DEFS)";
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(COCOA_DEFS)";
+				GCC_VERSION = "$(COMPILER)";
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PKGINFO_FILE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(IPLUG_PATH)",
+					"$(ADDITIONAL_INCLUDES)",
+				);
+				INFOPLIST_EXPAND_BUILD_SETTINGS = YES;
+				INFOPLIST_PREPROCESS = NO;
+				INSTALL_GROUP = admin;
+				INSTALL_OWNER = root;
+				INSTALL_PATH = /;
+				LIBRARY_SEARCH_PATHS = "$(ADDITIONAL_LIBRARY_PATHS)";
+				OTHER_CPLUSPLUSFLAGS = (
+					"$(OTHER_CFLAGS)",
+					"$(GCC_CFLAGS)",
+				);
+				PREBINDING = NO;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				PRODUCT_NAME = "$(BINARY_NAME)";
+				SDKROOT = "$(BASE_SDK)";
+				SKIP_INSTALL = NO;
+				SYMROOT = "build-mac";
+				VALID_ARCHS = "i386 x86_64";
+				WRAPPER_EXTENSION = "";
+			};
+			name = Tracer;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "AccessiblePeakMeter" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB913F08733D840010E9CD /* Debug */,
+				1DEB914008733D840010E9CD /* Release */,
+				528359A90D7F0C3A00577159 /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4F20EF2F132C69FE0030E34C /* Build configuration list for PBXNativeTarget "VST2" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4F20EF30132C69FE0030E34C /* Debug */,
+				4F20EF31132C69FE0030E34C /* Release */,
+				4F20EF32132C69FE0030E34C /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4F3AE1DC12C0E5E2001FD7A4 /* Build configuration list for PBXNativeTarget "AU" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4F3AE1DD12C0E5E2001FD7A4 /* Debug */,
+				4F3AE1DE12C0E5E2001FD7A4 /* Release */,
+				4F3AE1DF12C0E5E2001FD7A4 /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4F78DAFD13B643940032E0F3 /* Build configuration list for PBXAggregateTarget "All" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4F78DAF213B643610032E0F3 /* Debug */,
+				4F78DAF313B643610032E0F3 /* Release */,
+				4F78DAF413B643610032E0F3 /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4F7F5C6413E95EC8002918FD /* Build configuration list for PBXNativeTarget "RTAS" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4F7F5C6513E95EC8002918FD /* Debug */,
+				4F7F5C6613E95EC8002918FD /* Release */,
+				4F7F5C6713E95EC8002918FD /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4F9828DC140A9EB700F3FCC1 /* Build configuration list for PBXNativeTarget "VST3" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4F9828DD140A9EB700F3FCC1 /* Debug */,
+				4F9828DE140A9EB700F3FCC1 /* Release */,
+				4F9828DF140A9EB700F3FCC1 /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4FB6002F1567CB0A0020189A /* Build configuration list for PBXNativeTarget "AAX" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4FB600301567CB0A0020189A /* Debug */,
+				4FB600311567CB0A0020189A /* Release */,
+				4FB600321567CB0A0020189A /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4FD16A0F13B63082001D0217 /* Build configuration list for PBXNativeTarget "APP" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4FD16A0C13B63082001D0217 /* Debug */,
+				4FD16A0D13B63082001D0217 /* Release */,
+				4FD16A0E13B63082001D0217 /* Tracer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AccessiblePeakMeter_controls.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,186 @@
+// 
+// AccessiblePeakMeter_controls.h
+//
+// Author: Fiore Martin 
+// Started from IPlugMultiTargets example in WDL-OL, by Oli Larkin - https://github.com/olilarkin/wdl-ol
+//
+// Licensed under the Cockos WDL License, see README.txt
+//
+
+
+/* Knob with a text label and a text displaying the current value */
+class IKnobMultiControlText : public IKnobControl
+{
+private:
+  IRECT mDisplayRECT, mImgRECT, mNameRECT, mLabelRECT;
+  IBitmap mBitmap;
+
+public:
+  IKnobMultiControlText(IPlugBase* pPlug, IRECT pR, int paramIdx, IBitmap* pBitmap, IText* pText, int indent = 10)
+    : IKnobControl(pPlug, pR, paramIdx), mBitmap(*pBitmap)
+  {
+    mText = *pText;
+	/* mRECT is the bounding rectangle of the whole KnobMultiControlText */
+	mNameRECT = IRECT(mRECT.L, mRECT.T,mRECT.R, mRECT.T+16);
+    mDisplayRECT = IRECT(mRECT.L, mRECT.B-25, mRECT.R-21, mRECT.B); // left, top, right, bottom
+	mLabelRECT = mDisplayRECT;
+	mLabelRECT.L = mDisplayRECT.R; // shift it to the right of the diplay RECT
+	mLabelRECT.R = mLabelRECT.L+indent; // how much the display is indented 
+    mImgRECT = IRECT(mRECT.L, mRECT.T+16, &mBitmap);
+    mDisablePrompt = false;
+  }
+
+  ~IKnobMultiControlText() {}
+
+  bool Draw(IGraphics* pGraphics)
+  {
+    int i = 1 + int(0.5 + mValue * (double) (mBitmap.N - 1));
+    i = BOUNDED(i, 1, mBitmap.N);
+    
+	/* draw the knob */
+	pGraphics->DrawBitmap(&mBitmap, &mImgRECT, i, &mBlend);
+    
+	/* draw displayed value for host, that is the value as represented in the host */
+    char displayedValue[20];
+	mPlug->GetParam(mParamIdx)->GetDisplayForHost(displayedValue);
+
+	bool dispDrawn = true;
+	if (CSTR_NOT_EMPTY(displayedValue)) {
+		dispDrawn = pGraphics->DrawIText(&mText, displayedValue, &mDisplayRECT);
+    }
+
+	/* name of the parameter */
+	if (CSTR_NOT_EMPTY(mPlug->GetParam(mParamIdx)->GetNameForHost())){
+		char nameDisp[MAX_PARAM_NAME_LEN];
+		strcpy(nameDisp, mPlug->GetParam(mParamIdx)->GetNameForHost());
+
+		if (CSTR_NOT_EMPTY(mPlug->GetParam(mParamIdx)->GetLabelForHost())){
+			char label[MAX_PARAM_LABEL_LEN];
+			strcpy(label, mPlug->GetParam(mParamIdx)->GetLabelForHost());
+			pGraphics->DrawIText(&mText, label, &mLabelRECT);
+		}
+
+		return dispDrawn && pGraphics->DrawIText(&mText, nameDisp, &mNameRECT);
+	}
+
+    return dispDrawn;
+  }
+
+  void OnMouseDown(int x, int y, IMouseMod* pMod)
+  {
+	OnMouseDrag(x, y, 0, 0, pMod);	  
+  }
+
+  /* double click puts it back to default value */
+  void OnMouseDblClick(int x, int y, IMouseMod* pMod)
+  {
+    if (mDefaultValue >= 0.0)
+    {
+      mValue = mDefaultValue;
+      SetDirty();
+    }
+  }
+
+};
+
+/* Fader for the vertical peak level meter. It includes a text displaying the fader's current value in dB */
+class IFaderVertText : public IFaderControl
+{
+	ITextControl *mDisplayText;
+
+public :
+	IFaderVertText(IPlugBase *pPlug, int x, int y, int len, int paramIdx, IBitmap *pBitmap, ITextControl* pText)
+		: IFaderControl(pPlug, x, y, len, paramIdx, pBitmap), mDisplayText(pText)
+	{
+		makeDisplayText();
+	}
+
+	~IFaderVertText() {}
+
+	void OnMouseDown(int x, int y, IMouseMod* pMod)
+	{
+		// empty method override avoids IFaderControl::SnapToMouse(x, y);
+	}
+
+	void OnMouseDblClick(int x, int y, IMouseMod *pMod){
+		IFaderControl::OnMouseDblClick(x, y, pMod);
+		makeDisplayText();
+	}
+
+	void OnMouseDrag(int x, int y, int dX, int dY, IMouseMod* pMod){
+		IFaderControl::OnMouseDrag(x, y, dX, dY, pMod);
+		makeDisplayText();
+	}
+
+	/* changes the display text upon mouse dragging. If a value is passed 
+	   it is used for display else it's retrieved from the member value of this control.
+	   Passing an explicit value fixes an uncorrect update in SetValueFromPlug.
+	   The GUI update was in fact one step behind the update in the Daw.
+	*/
+	void makeDisplayText(const double* value = NULL) {
+		char textDisplay[MAX_PARAM_LABEL_LEN + MAX_PARAM_DISPLAY_LEN+1];
+
+		if (value == NULL){
+			mPlug->GetParam(mParamIdx)->GetDisplayForHost(textDisplay);
+		}
+		else{
+			mPlug->GetParam(mParamIdx)->GetDisplayForHost(*value, true, textDisplay, true);
+		}
+		strcat(textDisplay, " ");
+		strcat(textDisplay, mPlug->GetParam(mParamIdx)->GetLabelForHost());
+		mDisplayText->SetTextFromPlug(textDisplay);
+	}
+
+	/* This updates the GUI when the parameter is set from the Daw */
+	virtual void SetValueFromPlug(double value) {
+		IFaderControl::SetValueFromPlug(value);
+
+		makeDisplayText(&value);
+	}
+};
+
+/* Peak meter gauge. Doesn't control any parameter,
+   only shows the audio level in dB. Orientation is vertical 
+ */
+class IPeakMeterVert : public IControl
+{
+
+public:
+
+  IPeakMeterVert(IPlugBase* pPlug, IRECT pR, double defaultValueNormalized)
+	  : IControl(pPlug, pR)
+  {
+	mColor = IColor (255, 0, 35, 150);
+	mDefaultValue = defaultValueNormalized;
+  }
+
+  ~IPeakMeterVert() {}
+
+  
+
+  bool Draw(IGraphics* pGraphics)
+  {
+
+	/* big rectangle for the border */
+    IRECT paddedRect = mRECT.GetPadded(1);
+	pGraphics->DrawRect(&COLOR_GRAY, &(paddedRect));
+
+	/* now fill everything red*/
+	pGraphics->FillIRect(&COLOR_RED, &mRECT);
+
+	/* now fill with blue the part where the peak meter doesn't reach */
+	IRECT filledBit = IRECT(mRECT.L, mRECT.T, mRECT.R, mRECT.B - (mValue * mRECT.H()));
+    pGraphics->FillIRect(&mColor, &filledBit);
+	IRECT shade = IRECT(mRECT.L, mRECT.T, mRECT.L+1, mRECT.B - (mValue * mRECT.H()));
+	pGraphics->FillIRect(&COLOR_BLUE, &shade);
+	
+	pGraphics->DrawHorizontalLine(&COLOR_YELLOW, mRECT.B + 1 - (mDefaultValue * mRECT.H()), mRECT.L, mRECT.R - 1);
+    return true;
+  }
+
+  bool IsDirty() { return true;}
+
+protected:
+  IColor mColor;
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.txt	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,69 @@
+
+AccessiblePeakMeter is an audio processor that sonifies the level of the input
+audio by adding a pitch-modulated sine wave on top of it, and so makes the 
+peak meter gauge accessible to visually impaired users.
+
+AccessiblePeakMeter comes as a VST plugin for Windows (32/64) and Mac as well as AU plugin for Mac. 
+
+The plugin was developed in 2014/2015 at Queen Mary University of London as part of the 
+Design Patterns for Inclusive Collaboration research project ( http://depic.eecs.qmul.ac.uk ) 
+led by Dr. Nick Bryan-Kinns. All the coding was done by Fiore Martin. 
+
+The code uses the WDL / IPlug - Oli Larkin Edition (WDL-OL) framework, available
+at https://github.com/olilarkin/wdl-ol and it shares its license. 
+The license and more information about the framework are reported below.
+The code of AccessiblePeakMeter was started from the IPlugMultiTarget project in WDL-OL's IPlugExamples directory. 
+
+The WDL-OL specific commit used for development is available here: https://github.com/olilarkin/wdl-ol/commit/bfe87d2c4297d003f2475dc22d460440e5e1b4fa
+The whole framework code of this commit is available as a zip file (WDL-OL.zip) in the Downloads section of this repository and it differs slightly from the original WDL-OL version.
+
+The modification can be reproduced from the original WDL-OL commit by applying the following patch to WDL/IPlug/IControl.cpp
+
+251c251,252
+<   SetDirty();
+---
+>   if (!IsDirty())
+> 	SetDirty();
+
+In order to build AccessiblePeakMeter, extract WDL_OL.zip or clone WDL-OL from
+github, then place the code versioned in this repository into WDL-OL/IPlugExamples/AccessiblePeakMeter. 
+
+
+
+---------------- WDL-OL license and information ----------------
+
+WDL / IPlug - Oli Larkin Edition
+
+IPlug is a simple-to-use C++ framework for developing cross platform audio plugins and targeting multiple plugin APIs with the same code. Originally developed by Schwa/Cockos, IPlug has been enhanced by various contributors. IPlug depends on WDL, and that is why this project is called WDL-OL,  although most of the differences from Cockos' WDL are to do with IPlug.
+This version of IPlug targets VST2, VST3, AudioUnit RTAS and AAX (Native) APIs. It can also produce standalone Windows/OSX audio/midi apps and apps for Apple's IOS devices. 
+
+This version of WDL/IPlug shares the same license as the Cockos edition. Several of the added features are based on the work of other people. See individual source code files for any extra license information.
+
+Cockos WDL Page: http://www.cockos.com/wdl
+
+Discuss WDL on the WDL forum http://forum.cockos.com/forumdisplay.php?f=32
+
+------------------------------------------------
+
+Cockos WDL License
+
+Copyright (C) 2005 and later Cockos Incorporated
+
+Portions copyright other contributors, see each source file for more information
+
+This software is provided 'as-is', without any express or implied warranty.  In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+1. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+1. This notice may not be removed or altered from any source distribution.
+
+WDL includes the following 3rd party libraries (which are all similarly licensed):
+
+* JNetLib http://www.nullsoft.com/free/jnetlib
+* LibPNG http://www.libpng.org/pub/png
+* GifLib http://sourceforge.net/projects/libungif
+* JPEGLib http://www.ijg.org
+* zlib http://www.zlib.net
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app_wrapper/app_dialog.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,570 @@
+#include "app_main.h"
+
+#ifdef OS_WIN
+#include "asio.h"
+#endif
+
+const int kNumIOVSOptions = 9;
+const int kNumSIGVSOptions = 7;
+
+const std::string kIOVSOptions[kNumIOVSOptions] = {"32", "64", "128", "256", "512", "1024", "2048", "4096", "8192" };
+const std::string kSIGVSOptions[kNumSIGVSOptions] = {"16", "32", "64", "128", "256", "512", "1024" };
+
+// check the input and output devices, find matching srs
+void PopulateSampleRateList(HWND hwndDlg, RtAudio::DeviceInfo* inputDevInfo, RtAudio::DeviceInfo* outputDevInfo)
+{
+  char buf[20];
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_SR,CB_RESETCONTENT,0,0);
+
+  std::vector<int> matchedSRs;
+
+  for (int i=0; i<inputDevInfo->sampleRates.size(); i++)
+  {
+    for (int j=0; j<outputDevInfo->sampleRates.size(); j++)
+    {
+      if(inputDevInfo->sampleRates[i] == outputDevInfo->sampleRates[j])
+        matchedSRs.push_back(inputDevInfo->sampleRates[i]);
+    }
+  }
+
+  for (int k=0; k<matchedSRs.size(); k++)
+  {
+    wsprintf(buf,"%i",matchedSRs[k]);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_SR,CB_ADDSTRING,0,(LPARAM)buf);
+  }
+
+  LRESULT sridx = SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_SR, CB_FINDSTRINGEXACT, -1, (LPARAM)gState->mAudioSR);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_SR,CB_SETCURSEL, sridx, 0);
+}
+
+void PopulateAudioInputList(HWND hwndDlg, RtAudio::DeviceInfo* info)
+{
+  char buf[20];
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_L,CB_RESETCONTENT,0,0);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_RESETCONTENT,0,0);
+
+  int i;
+
+  for (i=0; i<info->inputChannels -1; i++)
+  {
+//  for (int i=0; i<info.inputChannels; i++) {
+    wsprintf(buf,"%i",i+1);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_L,CB_ADDSTRING,0,(LPARAM)buf);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_ADDSTRING,0,(LPARAM)buf);
+  }
+
+  // TEMP
+  wsprintf(buf,"%i",i+1);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_ADDSTRING,0,(LPARAM)buf);
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_L,CB_SETCURSEL, gState->mAudioInChanL - 1, 0);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_SETCURSEL, gState->mAudioInChanR - 1, 0);
+}
+
+void PopulateAudioOutputList(HWND hwndDlg, RtAudio::DeviceInfo* info)
+{
+  char buf[20];
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_L,CB_RESETCONTENT,0,0);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_RESETCONTENT,0,0);
+
+  int i;
+
+//  for (int i=0; i<info.outputChannels; i++) {
+  for (i=0; i<info->outputChannels -1; i++)
+  {
+
+    wsprintf(buf,"%i",i+1);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_L,CB_ADDSTRING,0,(LPARAM)buf);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_ADDSTRING,0,(LPARAM)buf);
+  }
+
+  // TEMP
+  wsprintf(buf,"%i",i+1);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_ADDSTRING,0,(LPARAM)buf);
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_L,CB_SETCURSEL, gState->mAudioOutChanL - 1, 0);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_SETCURSEL, gState->mAudioOutChanR - 1, 0);
+}
+
+// This has to get called after any change to audio driver/in dev/out dev
+void PopulateDriverSpecificControls(HWND hwndDlg)
+{
+#ifdef OS_WIN
+  int driverType = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_DRIVER, CB_GETCURSEL, 0, 0);
+  if(driverType)   //ASIO
+  {
+    ComboBox_Enable(GetDlgItem(hwndDlg, IDC_COMBO_AUDIO_IN_DEV), FALSE);
+    Button_Enable(GetDlgItem(hwndDlg, IDC_BUTTON_ASIO), TRUE);
+  }
+  else
+  {
+    ComboBox_Enable(GetDlgItem(hwndDlg, IDC_COMBO_AUDIO_IN_DEV), TRUE);
+    Button_Enable(GetDlgItem(hwndDlg, IDC_BUTTON_ASIO), FALSE);
+  }
+#endif
+
+  int indevidx = 0;
+  int outdevidx = 0;
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_DEV,CB_RESETCONTENT,0,0);
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_DEV,CB_RESETCONTENT,0,0);
+
+  for (int i = 0; i<gAudioInputDevs.size(); i++)
+  {
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_DEV,CB_ADDSTRING,0,(LPARAM)GetAudioDeviceName(gAudioInputDevs[i]).c_str());
+
+    if(!strcmp(GetAudioDeviceName(gAudioInputDevs[i]).c_str(), gState->mAudioInDev))
+      indevidx = i;
+  }
+
+  for (int i = 0; i<gAudioOutputDevs.size(); i++)
+  {
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_DEV,CB_ADDSTRING,0,(LPARAM)GetAudioDeviceName(gAudioOutputDevs[i]).c_str());
+
+    if(!strcmp(GetAudioDeviceName(gAudioOutputDevs[i]).c_str(), gState->mAudioOutDev))
+      outdevidx = i;
+  }
+
+#ifdef OS_WIN
+  if(driverType)
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_DEV,CB_SETCURSEL, outdevidx, 0);
+  else
+#endif
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_DEV,CB_SETCURSEL, indevidx, 0);
+
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_DEV,CB_SETCURSEL, outdevidx, 0);
+
+  RtAudio::DeviceInfo inputDevInfo = gDAC->getDeviceInfo(gAudioInputDevs[indevidx]);
+  RtAudio::DeviceInfo outputDevInfo = gDAC->getDeviceInfo(gAudioOutputDevs[outdevidx]);
+
+  PopulateAudioInputList(hwndDlg, &inputDevInfo);
+  PopulateAudioOutputList(hwndDlg, &outputDevInfo);
+  PopulateSampleRateList(hwndDlg, &inputDevInfo, &outputDevInfo);
+}
+
+void PopulateAudioDialogs(HWND hwndDlg)
+{
+  PopulateDriverSpecificControls(hwndDlg);
+
+  if (gState->mAudioInIsMono)
+  {
+    SendDlgItemMessage(hwndDlg,IDC_CB_MONO_INPUT,BM_SETCHECK, BST_CHECKED,0);
+  }
+  else
+  {
+    SendDlgItemMessage(hwndDlg,IDC_CB_MONO_INPUT,BM_SETCHECK, BST_UNCHECKED,0);
+  }
+
+  //Populate IOVS combobox
+  for (int i = 0; i< kNumIOVSOptions; i++)
+  {
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IOVS,CB_ADDSTRING,0,(LPARAM)kIOVSOptions[i].c_str());
+  }
+
+  LRESULT iovsidx = SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IOVS, CB_FINDSTRINGEXACT, -1, (LPARAM)gState->mAudioIOVS);
+  SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IOVS, CB_SETCURSEL, iovsidx, 0);
+
+  //Populate SIGVS combobox
+  for (int i = 0; i< kNumSIGVSOptions; i++)
+  {
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_SIGVS,CB_ADDSTRING,0,(LPARAM)kSIGVSOptions[i].c_str());
+  }
+
+  LRESULT sigvsidx = SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SIGVS, CB_FINDSTRINGEXACT, -1, (LPARAM)gState->mAudioSigVS);
+  SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SIGVS, CB_SETCURSEL, sigvsidx, 0);
+}
+
+bool PopulateMidiDialogs(HWND hwndDlg)
+{
+  if ( !gMidiIn || !gMidiOut )
+    return false;
+  else
+  {
+    for (int i=0; i<gMIDIInputDevNames.size(); i++ )
+    {
+      SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_DEV,CB_ADDSTRING,0,(LPARAM)gMIDIInputDevNames[i].c_str());
+    }
+
+    LRESULT indevidx = SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_DEV,CB_FINDSTRINGEXACT, -1, (LPARAM)gState->mMidiInDev);
+
+    // if the midi port name wasn't found update the ini file, and set to off
+    if(indevidx == -1)
+    {
+      strcpy(gState->mMidiInDev, "off");
+      UpdateINI();
+      indevidx = 0;
+    }
+
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_DEV,CB_SETCURSEL, indevidx, 0);
+
+    for (int i=0; i<gMIDIOutputDevNames.size(); i++ )
+    {
+      SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_DEV,CB_ADDSTRING,0,(LPARAM)gMIDIOutputDevNames[i].c_str());
+    }
+
+    LRESULT outdevidx = SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_DEV,CB_FINDSTRINGEXACT, -1, (LPARAM)gState->mMidiOutDev);
+
+    // if the midi port name wasn't found update the ini file, and set to off
+    if(outdevidx == -1)
+    {
+      strcpy(gState->mMidiOutDev, "off");
+      UpdateINI();
+      outdevidx = 0;
+    }
+
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_DEV,CB_SETCURSEL, outdevidx, 0);
+
+    // Populate MIDI channel dialogs
+
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_CHAN,CB_ADDSTRING,0,(LPARAM)"all");
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_CHAN,CB_ADDSTRING,0,(LPARAM)"all");
+
+    char buf[20];
+
+    for (int i=0; i<16; i++)
+    {
+      wsprintf(buf,"%i",i+1);
+      SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_CHAN,CB_ADDSTRING,0,(LPARAM)buf);
+      SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_CHAN,CB_ADDSTRING,0,(LPARAM)buf);
+    }
+
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_IN_CHAN,CB_SETCURSEL, (LPARAM)gState->mMidiInChan, 0);
+    SendDlgItemMessage(hwndDlg,IDC_COMBO_MIDI_OUT_CHAN,CB_SETCURSEL, (LPARAM)gState->mMidiOutChan, 0);
+
+    return true;
+  }
+}
+
+#ifdef OS_WIN
+void PopulatePreferencesDialog(HWND hwndDlg)
+{
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_ADDSTRING,0,(LPARAM)"DirectSound");
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_ADDSTRING,0,(LPARAM)"ASIO");
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_SETCURSEL, gState->mAudioDriverType, 0);
+
+  PopulateAudioDialogs(hwndDlg);
+  PopulateMidiDialogs(hwndDlg);
+}
+
+#else if defined OS_OSX
+void PopulatePreferencesDialog(HWND hwndDlg)
+{
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_ADDSTRING,0,(LPARAM)"CoreAudio");
+  //SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_ADDSTRING,0,(LPARAM)"Jack");
+  SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_DRIVER,CB_SETCURSEL, gState->mAudioDriverType, 0);
+
+  PopulateAudioDialogs(hwndDlg);
+  PopulateMidiDialogs(hwndDlg);
+}
+#endif
+
+WDL_DLGRET PreferencesDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+  int v = 0;
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+
+      PopulatePreferencesDialog(hwndDlg);
+      memcpy(gTempState, gState, sizeof(AppState)); // copy state to temp state
+
+      return TRUE;
+
+    case WM_COMMAND:
+      switch (LOWORD(wParam))
+      {
+        case IDOK:
+          if(memcmp(gActiveState, gState, sizeof(AppState)) != 0) // if state is different try to change audio
+          {
+            TryToChangeAudio();
+          }
+          EndDialog(hwndDlg, IDOK); // INI file will be changed see MainDialogProc
+          break;
+        case IDAPPLY:
+          TryToChangeAudio();
+          break;
+        case IDCANCEL:
+          EndDialog(hwndDlg, IDCANCEL);
+
+          // if state has been changed reset to previous state, INI file won't be changed
+          if (!AudioSettingsInStateAreEqual(gState, gTempState)
+              || !MIDISettingsInStateAreEqual(gState, gTempState))
+          {
+            memcpy(gState, gTempState, sizeof(AppState));
+
+            TryToChangeAudioDriverType();
+            ProbeAudioIO();
+            TryToChangeAudio();
+          }
+
+          break;
+
+        case IDC_COMBO_AUDIO_DRIVER:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+
+            v = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_DRIVER, CB_GETCURSEL, 0, 0);
+
+            if(v != gState->mAudioDriverType)
+            {
+              gState->mAudioDriverType = v;
+
+              TryToChangeAudioDriverType();
+              ProbeAudioIO();
+
+              strcpy(gState->mAudioInDev,GetAudioDeviceName(gAudioInputDevs[0]).c_str());
+              strcpy(gState->mAudioOutDev,GetAudioDeviceName(gAudioOutputDevs[0]).c_str());
+
+              // Reset IO
+              gState->mAudioOutChanL = 1;
+              gState->mAudioOutChanR = 2;
+
+              PopulateAudioDialogs(hwndDlg);
+            }
+          }
+          break;
+
+        case IDC_COMBO_AUDIO_IN_DEV:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int idx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IN_DEV, CB_GETCURSEL, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IN_DEV, CB_GETLBTEXT, idx, (LPARAM) gState->mAudioInDev);
+
+            // Reset IO
+            gState->mAudioInChanL = 1;
+            gState->mAudioInChanR = 2;
+
+            PopulateDriverSpecificControls(hwndDlg);
+          }
+          break;
+
+        case IDC_COMBO_AUDIO_OUT_DEV:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int idx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_OUT_DEV, CB_GETCURSEL, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_OUT_DEV, CB_GETLBTEXT, idx, (LPARAM) gState->mAudioOutDev);
+
+            // Reset IO
+            gState->mAudioOutChanL = 1;
+            gState->mAudioOutChanR = 2;
+
+            PopulateDriverSpecificControls(hwndDlg);
+          }
+          break;
+
+        case IDC_COMBO_AUDIO_IN_L:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            gState->mAudioInChanL = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IN_L, CB_GETCURSEL, 0, 0) + 1;
+
+            //TEMP
+            gState->mAudioInChanR = gState->mAudioInChanL + 1;
+            SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_SETCURSEL, gState->mAudioInChanR - 1, 0);
+            //
+          }
+          break;
+
+        case IDC_COMBO_AUDIO_IN_R:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+            SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_IN_R,CB_SETCURSEL, gState->mAudioInChanR - 1, 0);  // TEMP
+//                gState->mAudioInChanR = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IN_R, CB_GETCURSEL, 0, 0);
+          break;
+
+        case IDC_COMBO_AUDIO_OUT_L:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            gState->mAudioOutChanL = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_OUT_L, CB_GETCURSEL, 0, 0) + 1;
+
+            //TEMP
+            gState->mAudioOutChanR = gState->mAudioOutChanL + 1;
+            SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_SETCURSEL, gState->mAudioOutChanR - 1, 0);
+            //
+          }
+          break;
+
+        case IDC_COMBO_AUDIO_OUT_R:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+            SendDlgItemMessage(hwndDlg,IDC_COMBO_AUDIO_OUT_R,CB_SETCURSEL, gState->mAudioOutChanR - 1, 0);  // TEMP
+//                gState->mAudioOutChanR = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_OUT_R, CB_GETCURSEL, 0, 0);
+          break;
+
+        case IDC_CB_MONO_INPUT:
+          if (SendDlgItemMessage(hwndDlg,IDC_CB_MONO_INPUT, BM_GETCHECK, 0, 0) == BST_CHECKED)
+            gState->mAudioInIsMono = 1;
+          else
+            gState->mAudioInIsMono = 0;
+          break;
+
+        case IDC_COMBO_AUDIO_IOVS: // follow through
+        case IDC_COMBO_AUDIO_SIGVS:
+          //TODO: FIX
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int iovsidx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IOVS, CB_GETCURSEL, 0, 0);
+            int sigvsidx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SIGVS, CB_GETCURSEL, 0, 0);
+
+            if (atoi(kIOVSOptions[iovsidx].c_str()) < atoi(kSIGVSOptions[sigvsidx].c_str()))   // if iovs < sigvs
+            {
+              SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IOVS, CB_GETLBTEXT, iovsidx, (LPARAM) gState->mAudioIOVS);
+              strcpy(gState->mAudioSigVS, kSIGVSOptions[0].c_str()); // set sigvs to minimum
+              SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SIGVS, CB_SETCURSEL, -1, 0);
+            }
+            else
+            {
+              SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_IOVS, CB_GETLBTEXT, iovsidx, (LPARAM) gState->mAudioIOVS);
+              SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SIGVS, CB_GETLBTEXT, sigvsidx, (LPARAM) gState->mAudioSigVS);
+            }
+          }
+          break;
+        case IDC_COMBO_AUDIO_SR:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int idx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SR, CB_GETCURSEL, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_COMBO_AUDIO_SR, CB_GETLBTEXT, idx, (LPARAM) gState->mAudioSR);
+          }
+          break;
+
+        case IDC_BUTTON_ASIO:
+          if (HIWORD(wParam) == BN_CLICKED)
+            #ifdef OS_OSX
+            system("open \"/Applications/Utilities/Audio MIDI Setup.app\"");
+            #elif defined OS_WIN
+            if( gState->mAudioDriverType == DAC_ASIO && gDAC->isStreamRunning()) // TODO: still not right
+              ASIOControlPanel();
+            #endif
+          break;
+
+        case IDC_COMBO_MIDI_IN_DEV:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int idx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_IN_DEV, CB_GETCURSEL, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_IN_DEV, CB_GETLBTEXT, idx, (LPARAM) gState->mMidiInDev);
+            ChooseMidiInput( gState->mMidiInDev );
+          }
+          break;
+
+        case IDC_COMBO_MIDI_OUT_DEV:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+          {
+            int idx = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_OUT_DEV, CB_GETCURSEL, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_OUT_DEV, CB_GETLBTEXT, idx, (LPARAM) gState->mMidiOutDev);
+            ChooseMidiOutput( gState->mMidiOutDev );
+          }
+          break;
+
+        case IDC_COMBO_MIDI_IN_CHAN:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+            gState->mMidiInChan = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_IN_CHAN, CB_GETCURSEL, 0, 0);
+          break;
+
+        case IDC_COMBO_MIDI_OUT_CHAN:
+          if (HIWORD(wParam) == CBN_SELCHANGE)
+            gState->mMidiOutChan = (int) SendDlgItemMessage(hwndDlg, IDC_COMBO_MIDI_OUT_CHAN, CB_GETCURSEL, 0, 0);
+          break;
+
+        default:
+          break;
+      }
+      break;
+    default:
+      return FALSE;
+  }
+  return TRUE;
+}
+
+#ifdef _WIN32
+void ClientResize(HWND hWnd, int nWidth, int nHeight)
+{
+  RECT rcClient, rcWindow;
+  POINT ptDiff;
+  int screenwidth, screenheight;
+  int x, y;
+
+  screenwidth  = GetSystemMetrics(SM_CXSCREEN);
+  screenheight = GetSystemMetrics(SM_CYSCREEN);
+  x = (screenwidth / 2) - (nWidth/2);
+  y = (screenheight / 2) - (nHeight/2);
+
+  GetClientRect(hWnd, &rcClient);
+  GetWindowRect(hWnd, &rcWindow);
+  ptDiff.x = (rcWindow.right - rcWindow.left) - rcClient.right;
+  ptDiff.y = (rcWindow.bottom - rcWindow.top) - rcClient.bottom;
+  MoveWindow(hWnd, x, y, nWidth + ptDiff.x, nHeight + ptDiff.y, FALSE);
+}
+#endif
+
+WDL_DLGRET MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+  switch (uMsg)
+  {
+    case WM_INITDIALOG:
+
+      gHWND=hwndDlg;
+
+      if(!AttachGUI()) printf("couldn't attach gui\n");
+
+#ifdef _WIN32
+      ClientResize(hwndDlg, GUI_WIDTH, GUI_HEIGHT);
+      //SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON1)));
+      //SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON1)));
+
+#else // OSX
+      CenterWindow(hwndDlg);
+#endif
+
+      ShowWindow(hwndDlg,SW_SHOW);
+      return 1;
+    case WM_DESTROY:
+      gHWND=NULL;
+
+#ifdef _WIN32
+      PostQuitMessage(0);
+#else
+      SWELL_PostQuitMessage(hwndDlg);
+#endif
+
+      return 0;
+    case WM_CLOSE:
+      DestroyWindow(hwndDlg);
+      return 0;
+//    case WM_GETDLGCODE: {
+//        LPARAM lres;
+//        lres = CallWindowProc(/*TODO GET PROC */, hWnd, WM_GETDLGCODE, wParam, lParam);
+//        if (lParam && ((MSG*)lParam)->message == WM_KEYDOWN  &&  wParam == VK_LEFT) {
+//          lres |= DLGC_WANTMESSAGE;
+//        }
+//        return lres;
+//      }
+    case WM_COMMAND:
+      switch (LOWORD(wParam))
+      {
+        case ID_QUIT:
+          DestroyWindow(hwndDlg);
+          return 0;
+        case ID_ABOUT:
+          if(!gPluginInstance->HostRequestingAboutBox())
+          {
+            char version[50];
+            sprintf(version, BUNDLE_MFR"\nBuilt on "__DATE__);
+            MessageBox(hwndDlg,version, BUNDLE_NAME, MB_OK);
+          }
+          return 0;
+        case ID_PREFERENCES:
+        {
+          INT_PTR ret = DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG_PREF), hwndDlg, PreferencesDlgProc);
+
+          if(ret == IDOK)
+          {
+            UpdateINI();
+          }
+
+          return 0;
+        }
+      }
+      return 0;
+  }
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app_wrapper/app_main.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,1056 @@
+#include "app_main.h"
+
+#ifdef OS_WIN
+  #include <windows.h>
+  #include <shlobj.h>
+  #include <sys/stat.h>
+#endif
+
+HWND gHWND;
+
+HINSTANCE gHINST;
+UINT gScrollMessage;
+IPlug* gPluginInstance;
+RtAudio* gDAC = 0;
+RtMidiIn *gMidiIn = 0;
+RtMidiOut *gMidiOut = 0;
+
+AppState *gState;
+AppState *gTempState;
+AppState *gActiveState;
+
+char *gINIPath = new char[200]; // path of ini file
+
+unsigned int gIOVS = 512;
+unsigned int gSigVS = 32;
+unsigned int gBufIndex = 0; // Loops 0 to SigVS
+unsigned int gVecElapsed = 0;
+double gFadeMult = 0.; // Fade multiplier
+
+std::vector<unsigned int> gAudioInputDevs;
+std::vector<unsigned int> gAudioOutputDevs;
+std::vector<std::string> gMIDIInputDevNames;
+std::vector<std::string> gMIDIOutputDevNames;
+std::vector<std::string> gAudioIDDevNames;
+
+void UpdateINI()
+{
+  char buf[100]; // temp buffer for writing integers to profile strings
+
+  sprintf(buf, "%u", gState->mAudioDriverType);
+  WritePrivateProfileString("audio", "driver", buf, gINIPath);
+
+  WritePrivateProfileString("audio", "indev", gState->mAudioInDev, gINIPath);
+  WritePrivateProfileString("audio", "outdev", gState->mAudioOutDev, gINIPath);
+
+  sprintf(buf, "%u", gState->mAudioInChanL);
+  WritePrivateProfileString("audio", "in1", buf, gINIPath);
+  sprintf(buf, "%u", gState->mAudioInChanR);
+  WritePrivateProfileString("audio", "in2", buf, gINIPath);
+  sprintf(buf, "%u", gState->mAudioOutChanL);
+  WritePrivateProfileString("audio", "out1", buf, gINIPath);
+  sprintf(buf, "%u", gState->mAudioOutChanR);
+  WritePrivateProfileString("audio", "out2", buf, gINIPath);
+  sprintf(buf, "%u", gState->mAudioInIsMono);
+  WritePrivateProfileString("audio", "monoinput", buf, gINIPath);
+
+  WritePrivateProfileString("audio", "iovs", gState->mAudioIOVS, gINIPath);
+  WritePrivateProfileString("audio", "sigvs", gState->mAudioSigVS, gINIPath);
+
+  WritePrivateProfileString("audio", "sr", gState->mAudioSR, gINIPath);
+
+  WritePrivateProfileString("midi", "indev", gState->mMidiInDev, gINIPath);
+  WritePrivateProfileString("midi", "outdev", gState->mMidiOutDev, gINIPath);
+
+  sprintf(buf, "%u", gState->mMidiInChan);
+  WritePrivateProfileString("midi", "inchan", buf, gINIPath);
+  sprintf(buf, "%u", gState->mMidiOutChan);
+  WritePrivateProfileString("midi", "outchan", buf, gINIPath);
+}
+
+// returns the device name. Core Audio device names are truncated
+std::string GetAudioDeviceName(int idx)
+{
+  return gAudioIDDevNames.at(idx);
+}
+
+// returns the rtaudio device ID, based on the (truncated) device name
+int GetAudioDeviceID(char* deviceNameToTest)
+{
+  TRACE;
+
+  for(int i = 0; i < gAudioIDDevNames.size(); i++)
+  {
+    if(!strcmp(deviceNameToTest, gAudioIDDevNames.at(i).c_str() ))
+      return i;
+  }
+
+  return -1;
+}
+
+unsigned int GetMIDIInPortNumber(const char* nameToTest)
+{
+  int start = 1;
+
+  if(!strcmp(nameToTest, "off")) return 0;
+
+  #ifdef OS_OSX
+  start = 2;
+  if(!strcmp(nameToTest, "virtual input")) return 1;
+  #endif
+
+  for (int i = 0; i < gMidiIn->getPortCount(); i++)
+  {
+    if(!strcmp(nameToTest, gMidiIn->getPortName(i).c_str()))
+      return (i + start);
+  }
+
+  return -1;
+}
+
+unsigned int GetMIDIOutPortNumber(const char* nameToTest)
+{
+  int start = 1;
+
+  if(!strcmp(nameToTest, "off")) return 0;
+
+  #ifdef OS_OSX
+  start = 2;
+  if(!strcmp(nameToTest, "virtual output")) return 1;
+  #endif
+
+  for (int i = 0; i < gMidiOut->getPortCount(); i++)
+  {
+    if(!strcmp(nameToTest, gMidiOut->getPortName(i).c_str()))
+      return (i + start);
+  }
+
+  return -1;
+}
+
+// find out which devices have input channels & which have output channels, add their ids to the lists
+void ProbeAudioIO()
+{
+  TRACE;
+
+  RtAudio::DeviceInfo info;
+
+  gAudioInputDevs.clear();
+  gAudioOutputDevs.clear();
+  gAudioIDDevNames.clear();
+
+  unsigned int nDevices = gDAC->getDeviceCount();
+
+  for (int i=0; i<nDevices; i++)
+  {
+    info = gDAC->getDeviceInfo(i);
+    std::string deviceName = info.name;
+
+    #ifdef OS_OSX
+    size_t colonIdx = deviceName.rfind(": ");
+
+    if(colonIdx != std::string::npos && deviceName.length() >= 2)
+      deviceName = deviceName.substr(colonIdx + 2, deviceName.length() - colonIdx - 2);
+
+    #endif
+
+    gAudioIDDevNames.push_back(deviceName);
+
+    if ( info.probed == false )
+      std::cout << deviceName << ": Probe Status = Unsuccessful\n";
+    else if ( !strcmp("Generic Low Latency ASIO Driver", deviceName.c_str() ))
+      std::cout << deviceName << ": Probe Status = Unsuccessful\n";
+    else
+    {
+      if(info.inputChannels > 0)
+        gAudioInputDevs.push_back(i);
+
+      if(info.outputChannels > 0)
+        gAudioOutputDevs.push_back(i);
+    }
+  }
+}
+
+void ProbeMidiIO()
+{
+  if ( !gMidiIn || !gMidiOut )
+    return;
+  else
+  {
+    int nInputPorts = gMidiIn->getPortCount();
+
+    gMIDIInputDevNames.push_back("off");
+
+    #ifndef OS_WIN
+    gMIDIInputDevNames.push_back("virtual input");
+    #endif
+
+    for (int i=0; i<nInputPorts; i++ )
+    {
+      gMIDIInputDevNames.push_back(gMidiIn->getPortName(i));
+    }
+
+    int nOutputPorts = gMidiOut->getPortCount();
+
+    gMIDIOutputDevNames.push_back("off");
+
+#ifndef _WIN32
+    gMIDIOutputDevNames.push_back("virtual output");
+#endif
+
+    for (int i=0; i<nOutputPorts; i++ )
+    {
+      gMIDIOutputDevNames.push_back(gMidiOut->getPortName(i));
+      //This means the virtual output port wont be added as an input
+    }
+  }
+}
+
+bool AudioSettingsInStateAreEqual(AppState* os, AppState* ns)
+{
+  if (os->mAudioDriverType != ns->mAudioDriverType) return false;
+  if (strcmp(os->mAudioInDev, ns->mAudioInDev)) return false;
+  if (strcmp(os->mAudioOutDev, ns->mAudioOutDev)) return false;
+  if (strcmp(os->mAudioSR, ns->mAudioSR)) return false;
+  if (strcmp(os->mAudioIOVS, ns->mAudioIOVS)) return false;
+  if (strcmp(os->mAudioSigVS, ns->mAudioSigVS)) return false;
+  if (os->mAudioInChanL != ns->mAudioInChanL) return false;
+  if (os->mAudioInChanR != ns->mAudioInChanR) return false;
+  if (os->mAudioOutChanL != ns->mAudioOutChanL) return false;
+  if (os->mAudioOutChanR != ns->mAudioOutChanR) return false;
+  if (os->mAudioInIsMono != ns->mAudioInIsMono) return false;
+
+  return true;
+}
+
+bool MIDISettingsInStateAreEqual(AppState* os, AppState* ns)
+{
+  if (strcmp(os->mMidiInDev, ns->mMidiInDev)) return false;
+  if (strcmp(os->mMidiOutDev, ns->mMidiOutDev)) return false;
+  if (os->mMidiInChan != ns->mMidiInChan) return false;
+  if (os->mMidiOutChan != ns->mMidiOutChan) return false;
+
+  return true;
+}
+
+void MIDICallback( double deltatime, std::vector< unsigned char > *message, void *userData )
+{
+  if ( message->size() )
+  {
+    IMidiMsg *myMsg;
+
+    switch (message->size())
+    {
+      case 1:
+        myMsg = new IMidiMsg(0, message->at(0), 0, 0);
+        break;
+      case 2:
+        myMsg = new IMidiMsg(0, message->at(0), message->at(1), 0);
+        break;
+      case 3:
+        myMsg = new IMidiMsg(0, message->at(0), message->at(1), message->at(2));
+        break;
+      default:
+        DBGMSG("NOT EXPECTING %d midi callback msg len\n", (int) message->size());
+        break;
+    }
+
+    IMidiMsg msg(*myMsg);
+
+    delete myMsg;
+
+    // filter midi messages based on channel, if gStatus.mMidiInChan != all (0)
+    if (gState->mMidiInChan)
+    {
+      if (gState->mMidiInChan == msg.Channel() + 1 )
+        gPluginInstance->ProcessMidiMsg(&msg);
+    }
+    else
+    {
+      gPluginInstance->ProcessMidiMsg(&msg);
+    }
+  }
+}
+
+int AudioCallback(void *outputBuffer,
+                  void *inputBuffer,
+                  unsigned int nFrames,
+                  double streamTime,
+                  RtAudioStreamStatus status,
+                  void *userData )
+{
+  if ( status )
+    std::cout << "Stream underflow detected!" << std::endl;
+
+  double* inputBufferD = (double*)inputBuffer;
+  double* outputBufferD = (double*)outputBuffer;
+
+  int inRightOffset = 0;
+
+  if(!gState->mAudioInIsMono)
+    inRightOffset = nFrames;
+
+  if (gVecElapsed > N_VECTOR_WAIT) // wait N_VECTOR_WAIT * iovs before processing audio, to avoid clicks
+  {
+    for (int i=0; i<nFrames; i++)
+    {
+      gBufIndex %= gSigVS;
+
+      if (gBufIndex == 0)
+      {
+        double* inputs[2] = {inputBufferD + i, inputBufferD + inRightOffset + i};
+        double* outputs[2] = {outputBufferD + i, outputBufferD + nFrames + i};
+
+        gPluginInstance->LockMutexAndProcessDoubleReplacing(inputs, outputs, gSigVS);
+      }
+
+      // fade in
+      if (gFadeMult < 1.)
+      {
+        gFadeMult += (1. / nFrames);
+      }
+
+      outputBufferD[i] *= gFadeMult;
+      outputBufferD[i + nFrames] *= gFadeMult;
+
+      outputBufferD[i] *= APP_MULT;
+      outputBufferD[i + nFrames] *= APP_MULT;
+
+      gBufIndex++;
+    }
+  }
+  else
+  {
+    memset(outputBuffer, 0, nFrames * 2 * sizeof(double));
+  }
+
+  gVecElapsed++;
+
+  return 0;
+}
+
+bool TryToChangeAudioDriverType()
+{
+  TRACE;
+
+  if (gDAC)
+  {
+    if (gDAC->isStreamOpen())
+    {
+      gDAC->closeStream();
+    }
+
+    DELETE_NULL(gDAC);
+  }
+
+#ifdef OS_WIN
+  if(gState->mAudioDriverType == DAC_ASIO)
+    gDAC = new RtAudio(RtAudio::WINDOWS_ASIO);
+  else
+    gDAC = new RtAudio(RtAudio::WINDOWS_DS);
+#elif defined OS_OSX
+  if(gState->mAudioDriverType == DAC_COREAUDIO)
+    gDAC = new RtAudio(RtAudio::MACOSX_CORE);
+  //else
+  //gDAC = new RtAudio(RtAudio::UNIX_JACK);
+#endif
+
+  if(gDAC)
+    return true;
+  else
+    return false;
+}
+
+bool TryToChangeAudio()
+{
+  TRACE;
+
+  int inputID = -1;
+  int outputID = -1;
+
+#ifdef OS_WIN
+  if(gState->mAudioDriverType == DAC_ASIO)
+    inputID = GetAudioDeviceID(gState->mAudioOutDev);
+  else
+    inputID = GetAudioDeviceID(gState->mAudioInDev);
+#else
+  inputID = GetAudioDeviceID(gState->mAudioInDev);
+#endif
+
+  outputID = GetAudioDeviceID(gState->mAudioOutDev);
+
+  int samplerate = atoi(gState->mAudioSR);
+  int iovs = atoi(gState->mAudioIOVS);
+
+  if (inputID != -1 && outputID != -1)
+  {
+    return InitialiseAudio(inputID, outputID, samplerate, iovs, NUM_CHANNELS, gState->mAudioInChanL - 1, gState->mAudioOutChanL - 1);
+  }
+
+  return false;
+}
+
+bool InitialiseAudio(unsigned int inId,
+                     unsigned int outId,
+                     unsigned int sr,
+                     unsigned int iovs,
+                     unsigned int chnls,
+                     unsigned int inChanL,
+                     unsigned int outChanL
+                    )
+{
+  TRACE;
+
+  if (gDAC->isStreamOpen())
+  {
+    if (gDAC->isStreamRunning())
+    {
+      try
+      {
+        gDAC->abortStream();
+      }
+      catch (RtError& e)
+      {
+        e.printMessage();
+      }
+    }
+
+    gDAC->closeStream();
+  }
+
+  RtAudio::StreamParameters iParams, oParams;
+  iParams.deviceId = inId;
+  iParams.nChannels = chnls;
+  iParams.firstChannel = inChanL;
+
+  oParams.deviceId = outId;
+  oParams.nChannels = chnls;
+  oParams.firstChannel = outChanL;
+
+  gIOVS = iovs; // gIOVS may get changed by stream
+  gSigVS = atoi(gState->mAudioSigVS); // This is done here so that it changes when the callback is stopped
+
+  DBGMSG("\ntrying to start audio stream @ %i sr, %i iovs, %i sigvs\nindev = %i:%s\noutdev = %i:%s\n", sr, iovs, gSigVS, inId, GetAudioDeviceName(inId).c_str(), outId, GetAudioDeviceName(outId).c_str());
+
+  RtAudio::StreamOptions options;
+  options.flags = RTAUDIO_NONINTERLEAVED;
+// options.streamName = BUNDLE_NAME; // JACK stream name, not used on other streams
+
+  gBufIndex = 0;
+  gVecElapsed = 0;
+  gFadeMult = 0.;
+
+  gPluginInstance->SetBlockSize(gSigVS);
+  gPluginInstance->SetSampleRate(sr);
+  gPluginInstance->Reset();
+
+  try
+  {
+    TRACE;
+    gDAC->openStream( &oParams, &iParams, RTAUDIO_FLOAT64, sr, &gIOVS, &AudioCallback, NULL, &options);
+    gDAC->startStream();
+
+    memcpy(gActiveState, gState, sizeof(AppState)); // copy state to active state
+  }
+  catch ( RtError& e )
+  {
+    e.printMessage();
+    return false;
+  }
+
+  return true;
+}
+
+bool InitialiseMidi()
+{
+  try
+  {
+    gMidiIn = new RtMidiIn();
+  }
+  catch ( RtError &error )
+  {
+    FREE_NULL(gMidiIn);
+    error.printMessage();
+    return false;
+  }
+
+  try
+  {
+    gMidiOut = new RtMidiOut();
+  }
+  catch ( RtError &error )
+  {
+    FREE_NULL(gMidiOut);
+    error.printMessage();
+    return false;
+  }
+
+  gMidiIn->setCallback( &MIDICallback );
+  gMidiIn->ignoreTypes( !ENABLE_SYSEX, !ENABLE_MIDICLOCK, !ENABLE_ACTIVE_SENSING );
+
+  return true;
+}
+
+bool ChooseMidiInput(const char* pPortName)
+{
+  unsigned int port = GetMIDIInPortNumber(pPortName);
+
+  if(port == -1)
+  {
+    strcpy(gState->mMidiInDev, "off");
+    UpdateINI();
+    port = 0;
+  }
+  /*
+  IMidiMsg msg;
+  msg.MakeControlChangeMsg(IMidiMsg::kAllNotesOff, 127, 0);
+
+  std::vector<unsigned char> message;
+  message.push_back( msg.mStatus );
+  message.push_back( msg.mData1 );
+  message.push_back( msg.mData2 );
+
+  gPluginInstance->ProcessMidiMsg(&msg);
+  */
+  if (gMidiIn)
+  {
+    gMidiIn->closePort();
+
+    if (port == 0)
+    {
+      return true;
+    }
+    #ifdef OS_WIN
+    else
+    {
+      gMidiIn->openPort(port-1);
+      return true;
+    }
+    #else
+    else if(port == 1)
+    {
+      std::string virtualMidiInputName = "To ";
+      virtualMidiInputName += BUNDLE_NAME;
+      gMidiIn->openVirtualPort(virtualMidiInputName);
+      return true;
+    }
+    else
+    {
+      gMidiIn->openPort(port-2);
+      return true;
+    }
+    #endif
+  }
+
+  return false;
+}
+
+bool ChooseMidiOutput(const char* pPortName)
+{
+  unsigned int port = GetMIDIOutPortNumber(pPortName);
+
+  if(port == -1)
+  {
+    strcpy(gState->mMidiOutDev, "off");
+    UpdateINI();
+    port = 0;
+  }
+
+  if (gMidiOut)
+  {
+    /*
+    IMidiMsg msg;
+    msg.MakeControlChangeMsg(IMidiMsg::kAllNotesOff, 127, 0);
+
+    std::vector<unsigned char> message;
+    message.push_back( msg.mStatus );
+    message.push_back( msg.mData1 );
+    message.push_back( msg.mData2 );
+
+    gMidiOut->sendMessage( &message );
+    */
+    gMidiOut->closePort();
+
+    if (port == 0)
+    {
+      return true;
+    }
+    #ifdef OS_WIN
+    else
+    {
+      gMidiOut->openPort(port-1);
+      return true;
+    }
+    #else
+    else if(port == 1)
+    {
+      std::string virtualMidiOutputName = "From ";
+      virtualMidiOutputName += BUNDLE_NAME;
+      gMidiOut->openVirtualPort(virtualMidiOutputName);
+      return true;
+    }
+    else
+    {
+      gMidiOut->openPort(port-2);
+      return true;
+    }
+    #endif
+  }
+
+  return false;
+}
+
+extern bool AttachGUI()
+{
+  IGraphics* pGraphics = gPluginInstance->GetGUI();
+
+  if (pGraphics)
+  {
+#ifdef OS_WIN
+    if (!pGraphics->OpenWindow(gHWND))
+      pGraphics=0;
+#else // Cocoa OSX
+    if (!pGraphics->OpenWindow(gHWND))
+      pGraphics=0;
+#endif
+    if (pGraphics)
+    {
+      gPluginInstance->OnGUIOpen();
+      return true;
+    }
+  }
+
+  return false;
+}
+
+void Init()
+{
+  TryToChangeAudioDriverType(); // will init RTAudio with an API type based on gState->mAudioDriverType
+  ProbeAudioIO(); // find out what audio IO devs are available and put their IDs in the global variables gAudioInputDevs / gAudioOutputDevs
+  InitialiseMidi(); // creates RTMidiIn and RTMidiOut objects
+  ProbeMidiIO(); // find out what midi IO devs are available and put their names in the global variables gMidiInputDevs / gMidiOutputDevs
+
+  // Initialise the plugin
+  gPluginInstance = MakePlug(gMidiOut, &gState->mMidiOutChan);
+  gPluginInstance->RestorePreset(0);
+
+  ChooseMidiInput(gState->mMidiInDev);
+  ChooseMidiOutput(gState->mMidiOutDev);
+
+  TryToChangeAudio();
+}
+
+void Cleanup()
+{
+  try
+  {
+    // Stop the stream
+    gDAC->stopStream();
+  }
+  catch (RtError& e)
+  {
+    e.printMessage();
+  }
+
+  gMidiIn->cancelCallback();
+  gMidiIn->closePort();
+  gMidiOut->closePort();
+
+  if ( gDAC->isStreamOpen() ) gDAC->closeStream();
+
+  delete gPluginInstance;
+  delete gState;
+  delete gTempState;
+  delete gActiveState;
+  delete gMidiIn;
+  delete gMidiOut;
+  delete gDAC;
+  delete [] gINIPath;
+}
+
+#ifdef OS_WIN
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nShowCmd)
+{
+  // first check to make sure this is the only instance running
+  // http://www.bcbjournal.org/articles/vol3/9911/Single-instance_applications.htm
+  try
+  {
+    // Try to open the mutex.
+    HANDLE hMutex = OpenMutex(
+                      MUTEX_ALL_ACCESS, 0, BUNDLE_NAME);
+
+    // If hMutex is 0 then the mutex doesn't exist.
+    if (!hMutex)
+      hMutex = CreateMutex(0, 0, BUNDLE_NAME);
+    else
+    {
+      // This is a second instance. Bring the
+      // original instance to the top.
+      HWND hWnd = FindWindow(0, BUNDLE_NAME);
+      SetForegroundWindow(hWnd);
+
+      return 0;
+    }
+
+    gHINST=hInstance;
+
+    InitCommonControls();
+    gScrollMessage = RegisterWindowMessage("MSWHEEL_ROLLMSG");
+
+    gState = new AppState();
+    gTempState = new AppState();
+    gActiveState = new AppState();
+
+    if (SHGetFolderPathA( NULL, CSIDL_LOCAL_APPDATA, NULL, 0, gINIPath ) != S_OK)
+    {
+      DBGMSG("could not retrieve the user's application data directory!\n");
+
+      //TODO error msg?
+      return 1;
+    }
+
+    sprintf(gINIPath, "%s\\%s", gINIPath, BUNDLE_NAME); // Add the app name to the path
+
+    struct stat st;
+    if(stat(gINIPath, &st) == 0) // if directory exists
+    {
+      sprintf(gINIPath, "%s\\%s", gINIPath, "settings.ini"); // add file name to path
+
+      if(stat(gINIPath, &st) == 0) // if settings file exists read values into state
+      {
+        gState->mAudioDriverType = GetPrivateProfileInt("audio", "driver", 0, gINIPath);
+
+        GetPrivateProfileString("audio", "indev", DEFAULT_INPUT_DEV, gState->mAudioInDev, 100, gINIPath);
+        GetPrivateProfileString("audio", "outdev", DEFAULT_OUTPUT_DEV, gState->mAudioOutDev, 100, gINIPath);
+
+        //audio
+        gState->mAudioInChanL = GetPrivateProfileInt("audio", "in1", 1, gINIPath); // 1 is first audio input
+        gState->mAudioInChanR = GetPrivateProfileInt("audio", "in2", 2, gINIPath);
+        gState->mAudioOutChanL = GetPrivateProfileInt("audio", "out1", 1, gINIPath); // 1 is first audio output
+        gState->mAudioOutChanR = GetPrivateProfileInt("audio", "out2", 2, gINIPath);
+        gState->mAudioInIsMono = GetPrivateProfileInt("audio", "monoinput", 0, gINIPath);
+
+        GetPrivateProfileString("audio", "iovs", "512", gState->mAudioIOVS, 100, gINIPath);
+        GetPrivateProfileString("audio", "sigvs", "32", gState->mAudioSigVS, 100, gINIPath);
+        GetPrivateProfileString("audio", "sr", "44100", gState->mAudioSR, 100, gINIPath);
+
+        //midi
+        GetPrivateProfileString("midi", "indev", "no input", gState->mMidiInDev, 100, gINIPath);
+        GetPrivateProfileString("midi", "outdev", "no output", gState->mMidiOutDev, 100, gINIPath);
+
+        gState->mMidiInChan = GetPrivateProfileInt("midi", "inchan", 0, gINIPath); // 0 is any
+        gState->mMidiOutChan = GetPrivateProfileInt("midi", "outchan", 0, gINIPath); // 1 is first chan
+
+        UpdateINI(); // this will write over any invalid values in the file
+      }
+      else // settings file doesn't exist, so populate with default values
+      {
+        UpdateINI();
+      }
+    }
+    else
+    {
+      // folder doesn't exist - make folder and make file
+      CreateDirectory(gINIPath, NULL);
+      sprintf(gINIPath, "%s%s", gINIPath, "settings.ini"); // add file name to path
+      UpdateINI(); // will write file if doesn't exist
+    }
+
+    Init();
+
+    CreateDialog(gHINST,MAKEINTRESOURCE(IDD_DIALOG_MAIN),GetDesktopWindow(),MainDlgProc);
+
+    for(;;)
+    {
+      MSG msg= {0,};
+      int vvv = GetMessage(&msg,NULL,0,0);
+      if (!vvv)  break;
+
+      if (vvv<0)
+      {
+        Sleep(10);
+        continue;
+      }
+      if (!msg.hwnd)
+      {
+        DispatchMessage(&msg);
+        continue;
+      }
+
+      if (gHWND && IsDialogMessage(gHWND,&msg)) continue;
+
+      // default processing for other dialogs
+      HWND hWndParent=NULL;
+      HWND temphwnd = msg.hwnd;
+      do
+      {
+        if (GetClassLong(temphwnd, GCW_ATOM) == (INT)32770)
+        {
+          hWndParent=temphwnd;
+          if (!(GetWindowLong(temphwnd,GWL_STYLE)&WS_CHILD)) break; // not a child, exit
+        }
+      }
+      while (temphwnd = GetParent(temphwnd));
+
+      if (hWndParent && IsDialogMessage(hWndParent,&msg)) continue;
+
+      TranslateMessage(&msg);
+      DispatchMessage(&msg);
+
+    }
+
+    // in case gHWND didnt get destroyed -- this corresponds to SWELLAPP_DESTROY roughly
+    if (gHWND) DestroyWindow(gHWND);
+
+    Cleanup();
+
+    ReleaseMutex(hMutex);
+  }
+  catch(...)
+  {
+    //TODO proper error catching
+    DBGMSG("another instance running");
+  }
+  return 0;
+}
+#else
+
+extern HMENU SWELL_app_stocksysmenu;
+const char *homeDir;
+
+INT_PTR SWELLAppMain(int msg, INT_PTR parm1, INT_PTR parm2)
+{
+  switch (msg)
+  {
+    case SWELLAPP_ONLOAD:
+
+      gState = new AppState();
+      gTempState = new AppState();
+      gActiveState = new AppState();
+
+      homeDir = getenv("HOME");
+      sprintf(gINIPath, "%s/Library/Application Support/%s/", homeDir, BUNDLE_NAME);
+
+      struct stat st;
+      if(stat(gINIPath, &st) == 0) // if directory exists
+      {
+        sprintf(gINIPath, "%s%s", gINIPath, "settings.ini"); // add file name to path
+
+        if(stat(gINIPath, &st) == 0) // if settings file exists read values into state
+        {
+          gState->mAudioDriverType = GetPrivateProfileInt("audio", "driver", 0, gINIPath);
+
+          GetPrivateProfileString("audio", "indev", "Built-in Input", gState->mAudioInDev, 100, gINIPath);
+          GetPrivateProfileString("audio", "outdev", "Built-in Output", gState->mAudioOutDev, 100, gINIPath);
+
+          //audio
+          gState->mAudioInChanL = GetPrivateProfileInt("audio", "in1", 1, gINIPath); // 1 is first audio input
+          gState->mAudioInChanR = GetPrivateProfileInt("audio", "in2", 2, gINIPath);
+          gState->mAudioOutChanL = GetPrivateProfileInt("audio", "out1", 1, gINIPath); // 1 is first audio output
+          gState->mAudioOutChanR = GetPrivateProfileInt("audio", "out2", 2, gINIPath);
+          gState->mAudioInIsMono = GetPrivateProfileInt("audio", "monoinput", 0, gINIPath);
+
+          GetPrivateProfileString("audio", "iovs", "512", gState->mAudioIOVS, 100, gINIPath);
+          GetPrivateProfileString("audio", "sigvs", "32", gState->mAudioSigVS, 100, gINIPath);
+          GetPrivateProfileString("audio", "sr", "44100", gState->mAudioSR, 100, gINIPath);
+
+          //midi
+          GetPrivateProfileString("midi", "indev", "no input", gState->mMidiInDev, 100, gINIPath);
+          GetPrivateProfileString("midi", "outdev", "no output", gState->mMidiOutDev, 100, gINIPath);
+
+          gState->mMidiInChan = GetPrivateProfileInt("midi", "inchan", 0, gINIPath); // 0 is any
+          gState->mMidiOutChan = GetPrivateProfileInt("midi", "outchan", 0, gINIPath); // 1 is first chan
+
+          UpdateINI(); // this will write over any invalid values in the file
+        }
+        else // settings file doesn't exist, so populate with default values
+        {
+          UpdateINI();
+        }
+
+      }
+      else   // folder doesn't exist - make folder and make file
+      {
+        // http://blog.tremend.ro/2008/10/06/create-directories-in-c-using-mkdir-with-proper-permissions/
+
+        mode_t process_mask = umask(0);
+        int result_code = mkdir(gINIPath, S_IRWXU | S_IRWXG | S_IRWXO);
+        umask(process_mask);
+
+        if(result_code) return 1;
+        else
+        {
+          sprintf(gINIPath, "%s%s", gINIPath, "settings.ini"); // add file name to path
+          UpdateINI(); // will write file if doesn't exist
+        }
+      }
+      break;
+#pragma mark loaded
+    case SWELLAPP_LOADED:
+    {
+      Init();
+
+      HMENU menu = SWELL_GetCurrentMenu();
+
+      if (menu)
+      {
+        // other windows will get the stock (bundle) menus
+        //SWELL_SetDefaultModalWindowMenu(menu);
+        //SWELL_SetDefaultWindowMenu(menu);
+
+        // work on a new menu
+        menu = SWELL_DuplicateMenu(menu);
+        HMENU src = LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU1));
+        int x;
+        for (x=0; x<GetMenuItemCount(src)-1; x++)
+        {
+          HMENU sm = GetSubMenu(src,x);
+          if (sm)
+          {
+            char str[1024];
+            MENUITEMINFO mii= {sizeof(mii),MIIM_TYPE,};
+            mii.dwTypeData=str;
+            mii.cch=sizeof(str);
+            str[0]=0;
+            GetMenuItemInfo(src,x,TRUE,&mii);
+            MENUITEMINFO mi= {sizeof(mi),MIIM_STATE|MIIM_SUBMENU|MIIM_TYPE,MFT_STRING,0,0,SWELL_DuplicateMenu(sm),NULL,NULL,0,str};
+            InsertMenuItem(menu,x+1,TRUE,&mi);
+          }
+        }
+      }
+
+      if (menu)
+      {
+        HMENU sm=GetSubMenu(menu,1);
+        DeleteMenu(sm,ID_QUIT,MF_BYCOMMAND); // remove QUIT from our file menu, since it is in the system menu on OSX
+        DeleteMenu(sm,ID_PREFERENCES,MF_BYCOMMAND); // remove PREFERENCES from the file menu, since it is in the system menu on OSX
+
+        // remove any trailing separators
+        int a= GetMenuItemCount(sm);
+        while (a > 0 && GetMenuItemID(sm,a-1)==0) DeleteMenu(sm,--a,MF_BYPOSITION);
+
+        DeleteMenu(menu,1,MF_BYPOSITION); // delete file menu
+      }
+
+      // if we want to set any default modifiers for items in the menus, we can use:
+      // SetMenuItemModifier(menu,commandID,MF_BYCOMMAND,'A',FCONTROL) etc.
+
+      HWND hwnd = CreateDialog(gHINST,MAKEINTRESOURCE(IDD_DIALOG_MAIN),NULL,MainDlgProc);
+      if (menu)
+      {
+        SetMenu(hwnd, menu); // set the menu for the dialog to our menu (on Windows that menu is set from the .rc, but on SWELL
+        SWELL_SetDefaultModalWindowMenu(menu); // other windows will get the stock (bundle) menus
+      }
+      // we need to set it manually (and obviously we've edited the menu anyway)
+    }
+
+    if(!AttachGUI()) DBGMSG("couldn't attach gui\n"); //todo error
+
+    break;
+    case SWELLAPP_ONCOMMAND:
+      // this is to catch commands coming from the system menu etc
+      if (gHWND && (parm1&0xffff)) SendMessage(gHWND,WM_COMMAND,parm1&0xffff,0);
+      break;
+#pragma mark destroy
+    case SWELLAPP_DESTROY:
+
+      if (gHWND) DestroyWindow(gHWND);
+      Cleanup();
+      break;
+    case SWELLAPP_PROCESSMESSAGE: // can hook keyboard input here
+      // parm1 = (MSG*), should we want it -- look in swell.h to see what the return values refer to
+      break;
+  }
+  return 0;
+}
+
+#endif
+
+
+#ifndef OS_WIN
+#include "swell-dlggen.h"
+
+#define SET_IDD_SCALE 1.
+#define SET_IDD_STYLE SWELL_DLG_WS_FLIPPED|SWELL_DLG_WS_NOAUTOSIZE
+
+SWELL_DEFINE_DIALOG_RESOURCE_BEGIN(IDD_DIALOG_MAIN, SET_IDD_STYLE, BUNDLE_NAME, GUI_WIDTH, GUI_HEIGHT, SET_IDD_SCALE)
+BEGIN
+//   EDITTEXT        IDC_EDIT1,59,50,145,14,ES_AUTOHSCROLL
+//   LTEXT           "Enter some text here:",IDC_STATIC,59,39,73,8
+END
+SWELL_DEFINE_DIALOG_RESOURCE_END(IDD_DIALOG_MAIN)
+
+SWELL_DEFINE_DIALOG_RESOURCE_BEGIN(IDD_DIALOG_PREF,SET_IDD_STYLE,"Preferences",320,420,SET_IDD_SCALE)
+BEGIN
+GROUPBOX        "Audio Settings", IDC_STATIC, 5, 10, 300, 230
+
+LTEXT           "Driver Type", IDC_STATIC, 20, 32, 60, 20
+COMBOBOX        IDC_COMBO_AUDIO_DRIVER, 20, 50, 150, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Input Device", IDC_STATIC, 20, 75, 80, 20
+COMBOBOX        IDC_COMBO_AUDIO_IN_DEV, 20, 90, 150, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Output Device", IDC_STATIC, 20, 115, 80, 20
+COMBOBOX        IDC_COMBO_AUDIO_OUT_DEV, 20, 130, 150, 100, CBS_DROPDOWNLIST
+
+LTEXT           "In 1 (L)", IDC_STATIC, 20, 155, 90, 20
+COMBOBOX        IDC_COMBO_AUDIO_IN_L, 20, 170, 46, 100, CBS_DROPDOWNLIST
+
+LTEXT           "In 2 (R)", IDC_STATIC, 75, 155, 90, 20
+COMBOBOX        IDC_COMBO_AUDIO_IN_R, 75, 170, 46, 100, CBS_DROPDOWNLIST
+
+CHECKBOX        "Mono", IDC_CB_MONO_INPUT, 125, 128, 56, 100, 0
+
+LTEXT           "Out 1 (L)", IDC_STATIC, 20, 195, 60, 20
+COMBOBOX        IDC_COMBO_AUDIO_OUT_L, 20, 210, 46, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Out 2 (R)", IDC_STATIC, 75, 195, 60, 20
+COMBOBOX        IDC_COMBO_AUDIO_OUT_R, 75, 210, 46, 100, CBS_DROPDOWNLIST
+
+LTEXT           "IO Vector Size", IDC_STATIC, 200, 32, 80, 20
+COMBOBOX        IDC_COMBO_AUDIO_IOVS, 200, 50, 90, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Signal Vector Size", IDC_STATIC, 200, 75, 100, 20
+COMBOBOX        IDC_COMBO_AUDIO_SIGVS, 200, 90, 90, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Sampling Rate", IDC_STATIC, 200, 115, 80, 20
+COMBOBOX        IDC_COMBO_AUDIO_SR, 200, 130, 90, 100, CBS_DROPDOWNLIST
+
+PUSHBUTTON      "Audio Midi Setup...", IDC_BUTTON_ASIO, 180, 170, 110, 40
+
+GROUPBOX        "MIDI Settings", IDC_STATIC, 5, 255, 300, 120
+
+LTEXT           "Input Device", IDC_STATIC, 20, 275, 100, 20
+COMBOBOX        IDC_COMBO_MIDI_IN_DEV, 20, 293, 150, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Output Device", IDC_STATIC, 20, 320, 100, 20
+COMBOBOX        IDC_COMBO_MIDI_OUT_DEV, 20, 338, 150, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Input Channel", IDC_STATIC, 200, 275, 100, 20
+COMBOBOX        IDC_COMBO_MIDI_IN_CHAN, 200, 293, 90, 100, CBS_DROPDOWNLIST
+
+LTEXT           "Output Channel", IDC_STATIC, 200, 320, 100, 20
+COMBOBOX        IDC_COMBO_MIDI_OUT_CHAN, 200, 338, 90, 100, CBS_DROPDOWNLIST
+
+DEFPUSHBUTTON   "OK", IDOK, 192, 383, 50, 20
+PUSHBUTTON      "Apply", IDAPPLY, 132, 383, 50, 20
+PUSHBUTTON      "Cancel", IDCANCEL, 252, 383, 50, 20
+END
+SWELL_DEFINE_DIALOG_RESOURCE_END(IDD_DIALOG_PREF)
+
+#include "swell-menugen.h"
+
+SWELL_DEFINE_MENU_RESOURCE_BEGIN(IDR_MENU1)
+POPUP "&File"
+BEGIN
+// MENUITEM SEPARATOR
+MENUITEM "Preferences...",              ID_PREFERENCES
+MENUITEM "&Quit",                       ID_QUIT
+END
+POPUP "&Help"
+BEGIN
+MENUITEM "&About",                      ID_ABOUT
+END
+SWELL_DEFINE_MENU_RESOURCE_END(IDR_MENU1)
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app_wrapper/app_main.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,147 @@
+#ifndef _IPLUGAPP_APP_MAIN_H_
+#define _IPLUGAPP_APP_MAIN_H_
+
+#include "IPlugOSDetect.h"
+
+/*
+
+ Standalone osx/win app wrapper for iPlug, using SWELL
+ Oli Larkin 2012
+
+ Notes:
+
+ App settings are stored in a .ini file. The location is as follows:
+
+ Windows7: C:\Users\USERNAME\AppData\Local\AccessiblePeakMeter\settings.ini
+ Windows XP/Vista: C:\Documents and Settings\USERNAME\Local Settings\Application Data\AccessiblePeakMeter\settings.ini
+ OSX: /Users/USERNAME/Library/Application\ Support/AccessiblePeakMeter/settings.ini
+
+*/
+
+#ifdef OS_WIN
+  #include <windows.h>
+  #include <commctrl.h>
+
+  #define DEFAULT_INPUT_DEV "Default Device"
+  #define DEFAULT_OUTPUT_DEV "Default Device"
+
+  #define DAC_DS 0
+  #define DAC_ASIO 1
+#else if defined OS_OSX
+  #include "swell.h"
+  #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) )
+
+  #define DEFAULT_INPUT_DEV "Built-in Input"
+  #define DEFAULT_OUTPUT_DEV "Built-in Output"
+
+  #define DAC_COREAUDIO 0
+//  #define DAC_JACK 1
+#endif
+
+#include "wdltypes.h"
+#include "RtAudio.h"
+#include "RtMidi.h"
+#include <string>
+#include <vector>
+
+#include "../AccessiblePeakMeter.h" // change this to match your iplug plugin .h file
+
+typedef unsigned short UInt16;
+
+struct AppState
+{
+  // on osx core audio 0 or jack 1
+  // on windows DS 0 or ASIO 1
+  UInt16 mAudioDriverType;
+
+  // strings
+  char mAudioInDev[100];
+  char mAudioOutDev[100];
+  char mAudioSR[100];
+  char mAudioIOVS[100];
+  char mAudioSigVS[100];
+
+  UInt16 mAudioInChanL;
+  UInt16 mAudioInChanR;
+  UInt16 mAudioOutChanL;
+  UInt16 mAudioOutChanR;
+  UInt16 mAudioInIsMono;
+
+  // strings containing the names of the midi devices
+  char mMidiInDev[100];
+  char mMidiOutDev[100];
+
+  UInt16 mMidiInChan;
+  UInt16 mMidiOutChan;
+
+  AppState():
+    mAudioDriverType(0), // DS / CoreAudio by default
+    mAudioInChanL(1),
+    mAudioInChanR(2),
+    mAudioOutChanL(1),
+    mAudioOutChanR(2),
+    mMidiInChan(0),
+    mMidiOutChan(0)
+  {
+    strcpy(mAudioInDev, DEFAULT_INPUT_DEV);
+    strcpy(mAudioOutDev, DEFAULT_OUTPUT_DEV);
+    strcpy(mAudioSR, "44100");
+    strcpy(mAudioIOVS, "512");
+    strcpy(mAudioSigVS, "32");
+
+    strcpy(mMidiInDev, "off");
+    strcpy(mMidiOutDev, "off");
+  }
+};
+
+extern WDL_DLGRET MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+extern WDL_DLGRET PreferencesDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+extern HINSTANCE gHINST;
+extern HWND gHWND;
+extern UINT gScrollMessage;
+extern IPlug* gPluginInstance; // The iplug plugin instance
+
+extern std::string GetAudioDeviceName(int idx);
+extern int GetAudioDeviceID(char* deviceNameToTest);
+
+extern void ProbeAudioIO();
+extern bool InitialiseAudio(unsigned int inId,
+                            unsigned int outId,
+                            unsigned int sr,
+                            unsigned int iovs,
+                            unsigned int chnls,
+                            unsigned int inChanL,
+                            unsigned int outChanL
+                           );
+
+extern bool AudioSettingsInStateAreEqual(AppState* os, AppState* ns);
+extern bool MIDISettingsInStateAreEqual(AppState* os, AppState* ns);
+
+extern bool TryToChangeAudioDriverType();
+extern bool TryToChangeAudio();
+extern bool ChooseMidiInput(const char* pPortName);
+extern bool ChooseMidiOutput(const char* pPortName);
+
+extern bool AttachGUI();
+
+extern RtAudio* gDAC;
+extern RtMidiIn *gMidiIn;
+extern RtMidiOut *gMidiOut;
+
+extern AppState *gState;
+extern AppState *gTempState; // The state is copied here when the pref dialog is opened, and restored if cancel is pressed
+extern AppState *gActiveState; // When the audio driver is started the current state is copied here so that if OK is pressed after APPLY nothing is changed
+
+extern unsigned int gSigVS;
+extern unsigned int gBufIndex; // index for signal vector, loops from 0 to gSigVS
+
+extern char *gINIPath; // path of ini file
+extern void UpdateINI();
+
+extern std::vector<unsigned int> gAudioInputDevs;
+extern std::vector<unsigned int> gAudioOutputDevs;
+extern std::vector<std::string> gMIDIInputDevNames;
+extern std::vector<std::string> gMIDIOutputDevNames;
+
+#endif //_IPLUGAPP_APP_MAIN_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app_wrapper/app_resource.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,42 @@
+// RESOURCE IDS FOR STANDALONE APP
+
+#ifndef IDC_STATIC
+#define IDC_STATIC (-1)
+#endif
+
+#define IDD_DIALOG_MAIN             40001
+#define IDD_DIALOG_PREF             40002
+#define IDI_ICON1                   40003
+#define IDR_MENU1                   40004
+
+#define ID_ABOUT                    40005
+#define ID_PREFERENCES              40006
+#define ID_QUIT                     40007
+
+#define IDC_COMBO_AUDIO_DRIVER      40008
+#define IDC_COMBO_AUDIO_IN_DEV      40009
+#define IDC_COMBO_AUDIO_OUT_DEV     40010
+#define IDC_COMBO_AUDIO_IOVS        40011
+#define IDC_COMBO_AUDIO_SIGVS       40012
+#define IDC_COMBO_AUDIO_SR          40013
+#define IDC_COMBO_AUDIO_IN_L        40014
+#define IDC_COMBO_AUDIO_IN_R        40015
+#define IDC_COMBO_AUDIO_OUT_R       40016
+#define IDC_COMBO_AUDIO_OUT_L       40017
+#define IDC_COMBO_MIDI_IN_DEV       40018
+#define IDC_COMBO_MIDI_OUT_DEV      40019
+#define IDC_COMBO_MIDI_IN_CHAN      40020
+#define IDC_COMBO_MIDI_OUT_CHAN     40021
+#define IDC_BUTTON_ASIO             40022
+#define IDC_CB_MONO_INPUT           40023
+
+#define IDAPPLY                     40024
+
+// some options for the app
+
+#define ENABLE_SYSEX 0
+#define ENABLE_MIDICLOCK 0
+#define ENABLE_ACTIVE_SENSING 0
+#define NUM_CHANNELS 2
+#define N_VECTOR_WAIT 50
+#define APP_MULT 0.25
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app_wrapper/main.mm	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,6 @@
+#import <Cocoa/Cocoa.h>
+
+int main(int argc, char *argv[])
+{
+  return NSApplicationMain(argc,  (const char **) argv);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resource.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,99 @@
+// 
+// resource.h 
+//
+// Author: Fiore Martin 
+// Started from IPlugMultiTargets example in WDL-OL, by Oli Larkin - https://github.com/olilarkin/wdl-ol
+//
+// Licensed under the Cockos WDL License, see README.txt
+//
+
+#define PLUG_MFR "QueenMaryUniversityOfLondon"
+#define PLUG_NAME "AccessiblePeakMeter"
+
+#define PLUG_CLASS_NAME AccessiblePeakMeter
+
+#define BUNDLE_MFR "QueenMaryUniversityOfLondon"
+#define BUNDLE_NAME "AccessiblePeakMeter"
+
+#define PLUG_ENTRY AccessiblePeakMeter_Entry
+#define PLUG_VIEW_ENTRY AccessiblePeakMeter_ViewEntry
+
+#define PLUG_ENTRY_STR "AccessiblePeakMeter_Entry"
+#define PLUG_VIEW_ENTRY_STR "AccessiblePeakMeter_ViewEntry"
+
+#define VIEW_CLASS AccessiblePeakMeter_View
+#define VIEW_CLASS_STR "AccessiblePeakMeter_View"
+
+// Format        0xMAJR.MN.BG - in HEX! so version 10.1.5 would be 0x000A0105
+#define PLUG_VER 0x00010000
+#define VST3_VER_STR "1.0.0"
+
+// http://service.steinberg.de/databases/plugin.nsf/plugIn?openForm
+// 4 chars, single quotes. At least one capital letter
+#define PLUG_UNIQUE_ID 'f5sm'
+// make sure this is not the same as BUNDLE_MFR
+#define PLUG_MFR_ID 'Qmul'
+
+// ProTools stuff
+#if (defined(AAX_API) || defined(RTAS_API)) && !defined(_PIDS_)
+  #define _PIDS_
+  const int PLUG_TYPE_IDS[2] = {'MAN1', 'MAN2'};
+#endif
+#define PLUG_MFR_PT "QueenMaryUniversityOfLondon\nQueenMaryUniversityOfLondon\nQmul"
+#define PLUG_NAME_PT "AccessiblePeakMeter\nAccessiblePeakMeter"
+#define PLUG_TYPE_PT "Effect"
+#define PLUG_DOES_AUDIOSUITE 0
+
+/* PLUG_TYPE_PT can be "None", "EQ", "Dynamics", "PitchShift", "Reverb", "Delay", "Modulation", 
+"Harmonic" "NoiseReduction" "Dither" "SoundField" "Effect" 
+instrument determined by PLUG _IS _INST
+*/
+
+#define PLUG_CHANNEL_IO "1-1 2-2"
+
+#define PLUG_LATENCY 0
+#define PLUG_IS_INST 0
+
+// if this is 0 RTAS can't get tempo info
+#define PLUG_DOES_MIDI 0
+
+#define PLUG_DOES_STATE_CHUNKS 0
+
+// Unique IDs for each image resource.
+
+#define BG_ID         100
+#define KNOB_ID       101
+#define FADER_ID      102
+#define SWITCH_ID     103
+
+
+// Image resource locations for this plug.
+#define KNOB_FN       "resources/img/knob.png"
+#define BG_FN         "resources/img/bg.png"
+#define FADER_FN      "resources/img/fader.png"
+#define SWITCH_FN      "resources/img/switch.png"
+
+// GUI default dimensions
+#define GUI_WIDTH   315
+#define GUI_HEIGHT  249
+
+// on MSVC, you must define SA_API in the resource editor preprocessor macros as well as the c++ ones
+#ifdef SA_API
+#ifndef OS_IOS
+#include "app_wrapper/app_resource.h"
+#endif
+#endif
+
+// vst3 stuff
+#define MFR_URL ""
+#define MFR_EMAIL ""
+#define EFFECT_TYPE_VST3 "Fx"
+
+/* "Fx|Analyzer"", "Fx|Delay", "Fx|Distortion", "Fx|Dynamics", "Fx|EQ", "Fx|Filter",
+"Fx", "Fx|Instrument", "Fx|InstrumentExternal", "Fx|Spatial", "Fx|Generator",
+"Fx|Mastering", "Fx|Modulation", "Fx|PitchShift", "Fx|Restoration", "Fx|Reverb",
+"Fx|Surround", "Fx|Tools", "Instrument", "Instrument|Drum", "Instrument|Sampler",
+"Instrument|Synth", "Instrument|Synth|Sampler", "Instrument|External", "Spatial",
+"Spatial|Fx", "OnlyRT", "OnlyOfflineProcess", "Mono", "Stereo",
+"Surround"
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-AAX-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,32 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.aax.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>TDMw</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>PTul</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSMultipleInstancesProhibited</key>
+	<string>true</string>
+	<key>LSPrefersCarbon</key>
+	<false/>
+	<key>NSAppleScriptEnabled</key>
+	<string>No</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-AU-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,30 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.audiounit.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>Acme</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>10.5.0</string>
+	<key>NSPrincipalClass</key>
+	<string>AccessiblePeakMeter_View</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-IOSAPP-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,34 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2011</string>
+	<key>CFBundleIconFile</key>
+	<string>AccessiblePeakMeter-icon57x57.png</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.${PRODUCT_NAME:rfc1034identifier}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>NSMainNibFile</key>
+	<string>MainWindow</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-OSXAPP-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIconFile</key>
+	<string>${BINARY_NAME}.icns</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.standalone.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>Acme</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSApplicationCategoryType</key>
+	<string>public.app-category.music</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>10.5.0</string>
+	<key>NSMainNibFile</key>
+	<string>MainMenu</string>
+	<key>NSPrincipalClass</key>
+	<string>SWELLApplication</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-Pages.xml	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,143 @@
+<?xml version='1.0' encoding='US-ASCII' standalone='yes'?>
+<PageTables vers='6.4.0.91'>
+	<PageTableLayouts>
+		<Plugin manID='Acme' prodID='Ipef' plugID='Ipef'>
+			<Desc>AccessiblePeakMeter by QueenMaryUniversityOfLondon.</Desc>
+			<Layout>PageTable 1</Layout>
+		</Plugin><!--manID='Acme' prodID='Ipef' plugID='Ipef'-->
+		<PTLayout name='PageTable 1'>
+			<PageTable type='BkCS' pgsz='12'>
+				<Page num='1'>
+					<ID>1</ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID>MasterBypass</ID>
+				</Page><!--num='1'-->
+			</PageTable><!--type='BkCS' pgsz='12'-->
+			<PageTable type='BkSF' pgsz='16'>
+				<Page num='1'>
+					<ID>1</ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID> </ID>
+					<ID>MasterBypass</ID>
+				</Page><!--num='1'-->
+			</PageTable><!--type='BkSF' pgsz='16'-->
+			<PageTable type='FrTL' pgsz='24'>
+				<Page num='1'>
+					<ID>MasterBypass</ID>
+					<ID>1</ID>
+				</Page><!--num='1'-->
+				<FirstPg cat='0'>1</FirstPg>
+				<FirstPg cat='1'>1</FirstPg>
+				<FirstPg cat='2'>1</FirstPg>
+				<FirstPg cat='4'>1</FirstPg>
+				<FirstPg cat='8'>1</FirstPg>
+				<FirstPg cat='16'>1</FirstPg>
+				<FirstPg cat='32'>1</FirstPg>
+				<FirstPg cat='64'>1</FirstPg>
+				<FirstPg cat='128'>1</FirstPg>
+				<FirstPg cat='256'>1</FirstPg>
+				<FirstPg cat='512'>1</FirstPg>
+				<FirstPg cat='1024'>1</FirstPg>
+				<FirstPg cat='2048'>1</FirstPg>
+			</PageTable><!--type='FrTL' pgsz='24'-->
+			<PageTable type='HgTL' pgsz='8'>
+				<Page num='1'>
+					<ID> </ID>
+					<ID>1</ID>
+					<ID>MasterBypass</ID>
+				</Page><!--num='1'-->
+				<FirstPg cat='0'>1</FirstPg>
+				<FirstPg cat='1'>1</FirstPg>
+				<FirstPg cat='2'>1</FirstPg>
+				<FirstPg cat='4'>1</FirstPg>
+				<FirstPg cat='8'>1</FirstPg>
+				<FirstPg cat='16'>1</FirstPg>
+				<FirstPg cat='32'>1</FirstPg>
+				<FirstPg cat='64'>1</FirstPg>
+				<FirstPg cat='128'>1</FirstPg>
+				<FirstPg cat='256'>1</FirstPg>
+				<FirstPg cat='512'>1</FirstPg>
+				<FirstPg cat='1024'>1</FirstPg>
+				<FirstPg cat='2048'>1</FirstPg>
+			</PageTable><!--type='HgTL' pgsz='8'-->
+			<PageTable type='MkTL' pgsz='8'>
+				<Page num='1'>
+					<ID> </ID>
+					<ID>1</ID>
+					<ID>MasterBypass</ID>
+				</Page><!--num='1'-->
+				<FirstPg cat='0'>1</FirstPg>
+				<FirstPg cat='1'>1</FirstPg>
+				<FirstPg cat='2'>1</FirstPg>
+				<FirstPg cat='4'>1</FirstPg>
+				<FirstPg cat='8'>1</FirstPg>
+				<FirstPg cat='16'>1</FirstPg>
+				<FirstPg cat='32'>1</FirstPg>
+				<FirstPg cat='64'>1</FirstPg>
+				<FirstPg cat='128'>1</FirstPg>
+				<FirstPg cat='256'>1</FirstPg>
+				<FirstPg cat='512'>1</FirstPg>
+				<FirstPg cat='1024'>1</FirstPg>
+				<FirstPg cat='2048'>1</FirstPg>
+			</PageTable><!--type='MkTL' pgsz='8'-->
+			<PageTable type='PcTL' pgsz='16'>
+				<Page num='1'>
+					<ID>MasterBypass</ID>
+					<ID>1</ID>
+				</Page><!--num='1'-->
+				<FirstPg cat='0'>1</FirstPg>
+				<FirstPg cat='1'>1</FirstPg>
+				<FirstPg cat='2'>1</FirstPg>
+				<FirstPg cat='4'>1</FirstPg>
+				<FirstPg cat='8'>1</FirstPg>
+				<FirstPg cat='16'>1</FirstPg>
+				<FirstPg cat='32'>1</FirstPg>
+				<FirstPg cat='64'>1</FirstPg>
+				<FirstPg cat='128'>1</FirstPg>
+				<FirstPg cat='256'>1</FirstPg>
+				<FirstPg cat='512'>1</FirstPg>
+				<FirstPg cat='1024'>1</FirstPg>
+				<FirstPg cat='2048'>1</FirstPg>
+			</PageTable><!--type='PcTL' pgsz='16'-->
+			<PageTable type='PgTL' pgsz='1'>
+				<Page num='1'>
+					<ID>MasterBypass</ID>
+				</Page><!--num='1'-->
+				<Page num='2'>
+					<ID>1</ID>
+				</Page><!--num='2'-->
+			</PageTable><!--type='PgTL' pgsz='1'-->
+		</PTLayout><!--name='PageTable 1'-->
+	</PageTableLayouts>
+	<ControlNamesVariations>
+		<Ctrl ID='MasterBypass'>
+			<name typ='PgTL' sz='1'>Ma</name>
+			<name typ='PgTL' sz='3'>Byp</name>
+			<name typ='PgTL' sz='4'>MByp</name>
+			<name typ='PgTL' sz='8'>Mstr Byp</name>
+		</Ctrl><!--ID='MasterBypass'-->
+	</ControlNamesVariations>
+	<Editor vers='1.3.7.1'>
+		<PluginList>
+			<TDM>
+			</TDM>
+			<RTAS>
+				<PluginID manID='Acme' prodID='Ipef' plugID='Ipef'>
+					<MenuStr>RTAS: AccessiblePeakMeter</MenuStr>
+				</PluginID><!--manID='Acme' prodID='Ipef' plugID='Ipef'-->
+			</RTAS>
+		</PluginList>
+		<DiscCtrls>
+			<CtrlID>MasterBypass</CtrlID>
+		</DiscCtrls>
+	</Editor><!--vers='1.3.7.1'-->
+</PageTables><!--vers='6.4.0.91'-->
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-RTAS-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,32 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.rtas.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>TDMw</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>PTul</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSMultipleInstancesProhibited</key>
+	<string>true</string>
+	<key>LSPrefersCarbon</key>
+	<true/>
+	<key>NSAppleScriptEnabled</key>
+	<string>No</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-VST2-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,28 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.vst.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>Acme</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>10.5.0</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter-VST3-Info.plist	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,28 @@
+<?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>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>1.0.0, Copyright QueenMaryUniversityOfLondon, 2012</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.QueenMaryUniversityOfLondon.vst3.${BINARY_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${BINARY_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0.0</string>
+	<key>CFBundleSignature</key>
+	<string>Acme</string>
+	<key>CFBundleVersion</key>
+	<string>1.0.0</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>10.5.0</string>
+</dict>
+</plist>
Binary file resources/AccessiblePeakMeter-icon57x57.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/AccessiblePeakMeter.entitlements	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>com.apple.security.app-sandbox</key>
+	<true/>
+	<key>com.apple.security.device.microphone</key>
+	<true/>
+	<key>com.apple.security.device.usb</key>
+	<true/>
+	<key>com.apple.security.device.firewire</key>
+	<true/>
+	<key>com.apple.security.files.user-selected.read-write</key>
+	<true/>
+</dict>
+</plist>
Binary file resources/AccessiblePeakMeter.icns has changed
Binary file resources/English.lproj/InfoPlist.strings has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/English.lproj/MainMenu.xib	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,1046 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1050</int>
+		<string key="IBDocument.SystemVersion">10K549</string>
+		<string key="IBDocument.InterfaceBuilderVersion">851</string>
+		<string key="IBDocument.AppKitVersion">1038.36</string>
+		<string key="IBDocument.HIToolboxVersion">461.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">851</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="29"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+			<integer value="1" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSCustomObject" id="1021">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSCustomObject" id="1014">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="1050">
+				<string key="NSClassName">SWELLApplication</string>
+			</object>
+			<object class="NSMenu" id="649796088">
+				<string key="NSTitle">AMainMenu</string>
+				<object class="NSMutableArray" key="NSMenuItems">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="NSMenuItem" id="694149608">
+						<reference key="NSMenu" ref="649796088"/>
+						<string key="NSTitle">AccessiblePeakMeter</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<object class="NSCustomResource" key="NSOnImage" id="35465992">
+							<string key="NSClassName">NSImage</string>
+							<string key="NSResourceName">NSMenuCheckmark</string>
+						</object>
+						<object class="NSCustomResource" key="NSMixedImage" id="502551668">
+							<string key="NSClassName">NSImage</string>
+							<string key="NSResourceName">NSMenuMixedState</string>
+						</object>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="110575045">
+							<string key="NSTitle">AccessiblePeakMeter</string>
+							<object class="NSMutableArray" key="NSMenuItems">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSMenuItem" id="238522557">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">About AccessiblePeakMeter</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+									<int key="NSTag">40005</int>
+								</object>
+								<object class="NSMenuItem" id="304266470">
+									<reference key="NSMenu" ref="110575045"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="609285721">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Preferences…</string>
+									<string key="NSKeyEquiv">,</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+									<int key="NSTag">40006</int>
+								</object>
+								<object class="NSMenuItem" id="481834944">
+									<reference key="NSMenu" ref="110575045"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="1046388886">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Services</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+									<string key="NSAction">submenuAction:</string>
+									<object class="NSMenu" key="NSSubmenu" id="752062318">
+										<string key="NSTitle">Services</string>
+										<object class="NSMutableArray" key="NSMenuItems">
+											<bool key="EncodedWithXMLCoder">YES</bool>
+										</object>
+										<string key="NSName">_NSServicesMenu</string>
+									</object>
+								</object>
+								<object class="NSMenuItem" id="646227648">
+									<reference key="NSMenu" ref="110575045"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="755159360">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Hide AccessiblePeakMeter</string>
+									<string key="NSKeyEquiv">h</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="342932134">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Hide Others</string>
+									<string key="NSKeyEquiv">h</string>
+									<int key="NSKeyEquivModMask">1572864</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="908899353">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Show All</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="1056857174">
+									<reference key="NSMenu" ref="110575045"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="632727374">
+									<reference key="NSMenu" ref="110575045"/>
+									<string key="NSTitle">Quit AccessiblePeakMeter</string>
+									<string key="NSKeyEquiv">q</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+									<int key="NSTag">40007</int>
+								</object>
+							</object>
+							<string key="NSName">_NSAppleMenu</string>
+						</object>
+					</object>
+					<object class="NSMenuItem" id="914547905">
+						<reference key="NSMenu" ref="649796088"/>
+						<string key="NSTitle">Window</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="35465992"/>
+						<reference key="NSMixedImage" ref="502551668"/>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="399816170">
+							<string key="NSTitle">Window</string>
+							<object class="NSMutableArray" key="NSMenuItems">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSMenuItem" id="868333253">
+									<reference key="NSMenu" ref="399816170"/>
+									<string key="NSTitle">Minimize</string>
+									<string key="NSKeyEquiv">m</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="500286786">
+									<reference key="NSMenu" ref="399816170"/>
+									<string key="NSTitle">Zoom</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="420554045">
+									<reference key="NSMenu" ref="399816170"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+								<object class="NSMenuItem" id="165667221">
+									<reference key="NSMenu" ref="399816170"/>
+									<string key="NSTitle">Bring All to Front</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
+							</object>
+							<string key="NSName">_NSWindowsMenu</string>
+						</object>
+					</object>
+				</object>
+				<string key="NSName">_NSMainMenu</string>
+			</object>
+			<object class="NSCustomObject" id="755631768">
+				<string key="NSClassName">NSFontManager</string>
+			</object>
+			<object class="NSCustomObject" id="660404974">
+				<string key="NSClassName">SWELLAppController</string>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">hide:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="755159360"/>
+					</object>
+					<int key="connectionID">367</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">hideOtherApplications:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="342932134"/>
+					</object>
+					<int key="connectionID">368</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">unhideAllApplications:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="908899353"/>
+					</object>
+					<int key="connectionID">370</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">terminate:</string>
+						<reference key="source" ref="1050"/>
+						<reference key="destination" ref="632727374"/>
+					</object>
+					<int key="connectionID">449</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">onSysMenuCommand:</string>
+						<reference key="source" ref="660404974"/>
+						<reference key="destination" ref="238522557"/>
+					</object>
+					<int key="connectionID">451</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">performMiniaturize:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="868333253"/>
+					</object>
+					<int key="connectionID">458</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">arrangeInFront:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="165667221"/>
+					</object>
+					<int key="connectionID">459</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">performZoom:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="500286786"/>
+					</object>
+					<int key="connectionID">460</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<object class="NSArray" key="object" id="0">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+						</object>
+						<reference key="children" ref="1048"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="1021"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="1014"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="1050"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="649796088"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="694149608"/>
+							<reference ref="914547905"/>
+						</object>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">MainMenu</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">56</int>
+						<reference key="object" ref="694149608"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="110575045"/>
+						</object>
+						<reference key="parent" ref="649796088"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">57</int>
+						<reference key="object" ref="110575045"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="238522557"/>
+							<reference ref="755159360"/>
+							<reference ref="908899353"/>
+							<reference ref="632727374"/>
+							<reference ref="646227648"/>
+							<reference ref="609285721"/>
+							<reference ref="481834944"/>
+							<reference ref="304266470"/>
+							<reference ref="1046388886"/>
+							<reference ref="1056857174"/>
+							<reference ref="342932134"/>
+						</object>
+						<reference key="parent" ref="694149608"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">58</int>
+						<reference key="object" ref="238522557"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">134</int>
+						<reference key="object" ref="755159360"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">150</int>
+						<reference key="object" ref="908899353"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">136</int>
+						<reference key="object" ref="632727374"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">144</int>
+						<reference key="object" ref="646227648"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">129</int>
+						<reference key="object" ref="609285721"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">143</int>
+						<reference key="object" ref="481834944"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">236</int>
+						<reference key="object" ref="304266470"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">131</int>
+						<reference key="object" ref="1046388886"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="752062318"/>
+						</object>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">149</int>
+						<reference key="object" ref="1056857174"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">145</int>
+						<reference key="object" ref="342932134"/>
+						<reference key="parent" ref="110575045"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">130</int>
+						<reference key="object" ref="752062318"/>
+						<reference key="parent" ref="1046388886"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">420</int>
+						<reference key="object" ref="755631768"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">450</int>
+						<reference key="object" ref="660404974"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Controller</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">452</int>
+						<reference key="object" ref="914547905"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="399816170"/>
+						</object>
+						<reference key="parent" ref="649796088"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">453</int>
+						<reference key="object" ref="399816170"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="165667221"/>
+							<reference ref="420554045"/>
+							<reference ref="500286786"/>
+							<reference ref="868333253"/>
+						</object>
+						<reference key="parent" ref="914547905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">457</int>
+						<reference key="object" ref="165667221"/>
+						<reference key="parent" ref="399816170"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">456</int>
+						<reference key="object" ref="420554045"/>
+						<reference key="parent" ref="399816170"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">455</int>
+						<reference key="object" ref="500286786"/>
+						<reference key="parent" ref="399816170"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">454</int>
+						<reference key="object" ref="868333253"/>
+						<reference key="parent" ref="399816170"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-3.IBPluginDependency</string>
+					<string>129.IBPluginDependency</string>
+					<string>129.ImportedFromIB2</string>
+					<string>130.IBEditorWindowLastContentRect</string>
+					<string>130.IBPluginDependency</string>
+					<string>130.ImportedFromIB2</string>
+					<string>130.editorWindowContentRectSynchronizationRect</string>
+					<string>131.IBPluginDependency</string>
+					<string>131.ImportedFromIB2</string>
+					<string>134.IBPluginDependency</string>
+					<string>134.ImportedFromIB2</string>
+					<string>136.IBPluginDependency</string>
+					<string>136.ImportedFromIB2</string>
+					<string>143.IBPluginDependency</string>
+					<string>143.ImportedFromIB2</string>
+					<string>144.IBPluginDependency</string>
+					<string>144.ImportedFromIB2</string>
+					<string>145.IBPluginDependency</string>
+					<string>145.ImportedFromIB2</string>
+					<string>149.IBPluginDependency</string>
+					<string>149.ImportedFromIB2</string>
+					<string>150.IBPluginDependency</string>
+					<string>150.ImportedFromIB2</string>
+					<string>236.IBPluginDependency</string>
+					<string>236.ImportedFromIB2</string>
+					<string>29.IBEditorWindowLastContentRect</string>
+					<string>29.IBPluginDependency</string>
+					<string>29.ImportedFromIB2</string>
+					<string>29.WindowOrigin</string>
+					<string>29.editorWindowContentRectSynchronizationRect</string>
+					<string>452.IBPluginDependency</string>
+					<string>453.IBEditorWindowLastContentRect</string>
+					<string>453.IBPluginDependency</string>
+					<string>454.IBPluginDependency</string>
+					<string>455.IBPluginDependency</string>
+					<string>456.IBPluginDependency</string>
+					<string>457.IBPluginDependency</string>
+					<string>56.IBPluginDependency</string>
+					<string>56.ImportedFromIB2</string>
+					<string>57.IBEditorWindowLastContentRect</string>
+					<string>57.IBPluginDependency</string>
+					<string>57.ImportedFromIB2</string>
+					<string>57.editorWindowContentRectSynchronizationRect</string>
+					<string>58.IBPluginDependency</string>
+					<string>58.ImportedFromIB2</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{{490, 219}, {64, 6}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{{436, 809}, {64, 6}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{{239, 638}, {190, 20}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{74, 862}</string>
+					<string>{{6, 978}, {478, 20}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>{{398, 564}, {194, 73}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{{251, 455}, {207, 183}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+					<string>{{23, 794}, {245, 183}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<integer value="1"/>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">485</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">SWELLAppController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">onSysMenuCommand:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">onSysMenuCommand:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">onSysMenuCommand:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="782276403">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">../../WDL/swell/swellappmain.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">SWELLApplication</string>
+					<string key="superclassName">NSApplication</string>
+					<reference key="sourceIdentifier" ref="782276403"/>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<string key="superclassName">NSResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="467899154">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="531531874">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="367190903">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSFontManager</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="1069687567">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSMenu</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="789294279">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSMenuItem</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="748766719">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="467899154"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="531531874"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="367190903"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="1069687567"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="789294279"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="678812543">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSResponder</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<reference key="sourceIdentifier" ref="748766719"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<string key="superclassName">NSResponder</string>
+					<reference key="sourceIdentifier" ref="678812543"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<string key="superclassName">NSResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<integer value="1050" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<integer value="1050" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+			<integer value="3000" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../../AccessiblePeakMeter.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>NSMenuCheckmark</string>
+				<string>NSMenuMixedState</string>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>{9, 8}</string>
+				<string>{7, 2}</string>
+			</object>
+		</object>
+	</data>
+</archive>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/FlipsideView.xib	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1056</int>
+		<string key="IBDocument.SystemVersion">10K540</string>
+		<string key="IBDocument.InterfaceBuilderVersion">851</string>
+		<string key="IBDocument.AppKitVersion">1038.36</string>
+		<string key="IBDocument.HIToolboxVersion">461.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">141</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="40"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="IBProxyObject" id="372490531">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBProxyObject" id="340535442">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUIView" id="249263867">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<object class="NSMutableArray" key="NSSubviews">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBUINavigationBar" id="871675769">
+						<reference key="NSNextResponder" ref="249263867"/>
+						<int key="NSvFlags">290</int>
+						<string key="NSFrameSize">{320, 44}</string>
+						<reference key="NSSuperview" ref="249263867"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<int key="IBUIBarStyle">1</int>
+						<object class="NSArray" key="IBUIItems">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBUINavigationItem" id="553200710">
+								<reference key="IBUINavigationBar" ref="871675769"/>
+								<string key="IBUITitle">Settings</string>
+								<object class="IBUIBarButtonItem" key="IBUILeftBarButtonItem" id="854562692">
+									<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+									<int key="IBUIStyle">1</int>
+									<reference key="IBUINavigationItem" ref="553200710"/>
+									<int key="IBUISystemItemIdentifier">0</int>
+								</object>
+								<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+							</object>
+						</object>
+					</object>
+					<object class="IBUISegmentedControl" id="874879698">
+						<reference key="NSNextResponder" ref="249263867"/>
+						<int key="NSvFlags">292</int>
+						<string key="NSFrame">{{20, 105}, {207, 44}}</string>
+						<reference key="NSSuperview" ref="249263867"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<int key="IBNumberOfSegments">2</int>
+						<int key="IBSelectedSegmentIndex">1</int>
+						<object class="NSArray" key="IBSegmentTitles">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>22050</string>
+							<string>44100</string>
+						</object>
+						<object class="NSMutableArray" key="IBSegmentWidths">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<real value="0.0"/>
+							<real value="0.0"/>
+						</object>
+						<object class="NSMutableArray" key="IBSegmentEnabledStates">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<boolean value="YES"/>
+							<boolean value="YES"/>
+						</object>
+						<object class="NSMutableArray" key="IBSegmentContentOffsets">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>{0, 0}</string>
+							<string>{0, 0}</string>
+						</object>
+						<object class="NSMutableArray" key="IBSegmentImages">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="NSNull" id="4"/>
+							<reference ref="4"/>
+						</object>
+					</object>
+					<object class="IBUILabel" id="903622552">
+						<reference key="NSNextResponder" ref="249263867"/>
+						<int key="NSvFlags">292</int>
+						<string key="NSFrame">{{20, 65}, {99, 21}}</string>
+						<reference key="NSSuperview" ref="249263867"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<bool key="IBUIClipsSubviews">YES</bool>
+						<int key="IBUIContentMode">7</int>
+						<bool key="IBUIUserInteractionEnabled">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<string key="IBUIText">Sample Rate</string>
+						<object class="NSColor" key="IBUITextColor" id="696994608">
+							<int key="NSColorSpace">3</int>
+							<bytes key="NSWhite">MQA</bytes>
+						</object>
+						<reference key="IBUIHighlightedColor" ref="696994608"/>
+						<int key="IBUIBaselineAdjustment">1</int>
+						<float key="IBUIMinimumFontSize">10</float>
+					</object>
+					<object class="IBUILabel" id="590873023">
+						<reference key="NSNextResponder" ref="249263867"/>
+						<int key="NSvFlags">292</int>
+						<string key="NSFrame">{{20, 177}, {99, 21}}</string>
+						<reference key="NSSuperview" ref="249263867"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<bool key="IBUIClipsSubviews">YES</bool>
+						<int key="IBUIContentMode">7</int>
+						<bool key="IBUIUserInteractionEnabled">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<string key="IBUIText">Midi Input</string>
+						<reference key="IBUITextColor" ref="696994608"/>
+						<reference key="IBUIHighlightedColor" ref="696994608"/>
+						<int key="IBUIBaselineAdjustment">1</int>
+						<float key="IBUIMinimumFontSize">10</float>
+						<bool key="IBUIEnabled">NO</bool>
+					</object>
+					<object class="IBUILabel" id="484737138">
+						<reference key="NSNextResponder" ref="249263867"/>
+						<int key="NSvFlags">292</int>
+						<string key="NSFrame">{{20, 305}, {99, 21}}</string>
+						<reference key="NSSuperview" ref="249263867"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<bool key="IBUIClipsSubviews">YES</bool>
+						<int key="IBUIContentMode">7</int>
+						<bool key="IBUIUserInteractionEnabled">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<string key="IBUIText">Midi Output</string>
+						<reference key="IBUITextColor" ref="696994608"/>
+						<reference key="IBUIHighlightedColor" ref="696994608"/>
+						<int key="IBUIBaselineAdjustment">1</int>
+						<float key="IBUIMinimumFontSize">10</float>
+						<bool key="IBUIEnabled">NO</bool>
+					</object>
+				</object>
+				<string key="NSFrameSize">{320, 460}</string>
+				<reference key="NSSuperview"/>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">3</int>
+					<bytes key="NSWhite">MC4yNQA</bytes>
+					<object class="NSColorSpace" key="NSCustomColorSpace">
+						<int key="NSID">2</int>
+					</object>
+				</object>
+				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
+					<int key="IBUIStatusBarStyle">2</int>
+				</object>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">view</string>
+						<reference key="source" ref="372490531"/>
+						<reference key="destination" ref="249263867"/>
+					</object>
+					<int key="connectionID">41</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">done:</string>
+						<reference key="source" ref="854562692"/>
+						<reference key="destination" ref="372490531"/>
+					</object>
+					<int key="connectionID">46</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">doSRSegControl</string>
+						<reference key="source" ref="874879698"/>
+						<reference key="destination" ref="340535442"/>
+						<int key="IBEventType">13</int>
+					</object>
+					<int key="connectionID">56</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">samplerateSegControl</string>
+						<reference key="source" ref="372490531"/>
+						<reference key="destination" ref="874879698"/>
+					</object>
+					<int key="connectionID">61</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="372490531"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="340535442"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">40</int>
+						<reference key="object" ref="249263867"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="871675769"/>
+							<reference ref="903622552"/>
+							<reference ref="484737138"/>
+							<reference ref="590873023"/>
+							<reference ref="874879698"/>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">42</int>
+						<reference key="object" ref="871675769"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="553200710"/>
+						</object>
+						<reference key="parent" ref="249263867"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">43</int>
+						<reference key="object" ref="553200710"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="854562692"/>
+						</object>
+						<reference key="parent" ref="871675769"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">44</int>
+						<reference key="object" ref="854562692"/>
+						<reference key="parent" ref="553200710"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">47</int>
+						<reference key="object" ref="874879698"/>
+						<reference key="parent" ref="249263867"/>
+						<string key="objectName">SR switch</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">48</int>
+						<reference key="object" ref="903622552"/>
+						<reference key="parent" ref="249263867"/>
+						<string key="objectName">SR label</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">58</int>
+						<reference key="object" ref="590873023"/>
+						<reference key="parent" ref="249263867"/>
+						<string key="objectName">SR label</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">59</int>
+						<reference key="object" ref="484737138"/>
+						<reference key="parent" ref="249263867"/>
+						<string key="objectName">SR label</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.CustomClassName</string>
+					<string>-2.CustomClassName</string>
+					<string>40.IBEditorWindowLastContentRect</string>
+					<string>40.IBPluginDependency</string>
+					<string>40.IBViewBoundsToFrameTransform</string>
+					<string>42.IBPluginDependency</string>
+					<string>43.IBPluginDependency</string>
+					<string>44.IBPluginDependency</string>
+					<string>47.IBPluginDependency</string>
+					<string>47.IBViewBoundsToFrameTransform</string>
+					<string>48.IBPluginDependency</string>
+					<string>48.IBViewBoundsToFrameTransform</string>
+					<string>58.IBPluginDependency</string>
+					<string>58.IBViewBoundsToFrameTransform</string>
+					<string>59.IBPluginDependency</string>
+					<string>59.IBViewBoundsToFrameTransform</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>FlipsideViewController</string>
+					<string>UIResponder</string>
+					<string>{{496, 405}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAw+UAAA</bytes>
+					</object>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAwxMAAA</bytes>
+					</object>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABC3AAAwtIAAA</bytes>
+					</object>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw0QAAA</bytes>
+					</object>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw6IAAA</bytes>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">61</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">FlipsideViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="NSMutableDictionary" key="actions">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>doSRSegControl</string>
+							<string>done:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>id</string>
+							<string>id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>doSRSegControl</string>
+							<string>done:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">doSRSegControl</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">done:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="outlets">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>delegate</string>
+							<string>samplerateSegControl</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>id</string>
+							<string>UISegmentedControl</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>delegate</string>
+							<string>samplerateSegControl</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">delegate</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">samplerateSegControl</string>
+								<string key="candidateClassName">UISegmentedControl</string>
+							</object>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">ios_wrapper/FlipsideViewController.h</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="292697028">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIBarButtonItem</string>
+					<string key="superclassName">UIBarItem</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIBarItem</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIControl</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UILabel</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UINavigationBar</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="522138517">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UINavigationItem</string>
+					<string key="superclassName">NSObject</string>
+					<reference key="sourceIdentifier" ref="522138517"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIResponder</string>
+					<string key="superclassName">NSObject</string>
+					<reference key="sourceIdentifier" ref="292697028"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchBar</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchDisplayController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISegmentedControl</string>
+					<string key="superclassName">UIControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISegmentedControl.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+			<integer value="1056" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+			<integer value="3100" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../AccessiblePeakMeter-IOS.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<string key="IBCocoaTouchPluginVersion">141</string>
+	</data>
+</archive>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/MainView.xib	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,523 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1056</int>
+		<string key="IBDocument.SystemVersion">10K549</string>
+		<string key="IBDocument.InterfaceBuilderVersion">851</string>
+		<string key="IBDocument.AppKitVersion">1038.36</string>
+		<string key="IBDocument.HIToolboxVersion">461.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">141</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="34"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="IBProxyObject" id="372490531">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBProxyObject" id="815241450">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUIView" id="883825266">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<object class="NSMutableArray" key="NSSubviews">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBUIButton" id="558454645">
+						<reference key="NSNextResponder" ref="883825266"/>
+						<int key="NSvFlags">265</int>
+						<string key="NSFrame">{{282, 421}, {18, 19}}</string>
+						<reference key="NSSuperview" ref="883825266"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<int key="IBUIContentHorizontalAlignment">0</int>
+						<int key="IBUIContentVerticalAlignment">0</int>
+						<object class="NSFont" key="IBUIFont">
+							<string key="NSName">Helvetica-BoldOblique</string>
+							<double key="NSSize">15</double>
+							<int key="NSfFlags">16</int>
+						</object>
+						<int key="IBUIButtonType">3</int>
+						<bool key="IBUIShowsTouchWhenHighlighted">YES</bool>
+						<object class="NSColor" key="IBUIHighlightedTitleColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MSAxIDEAA</bytes>
+						</object>
+						<object class="NSColor" key="IBUINormalTitleColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+						</object>
+						<object class="NSColor" key="IBUINormalTitleShadowColor">
+							<int key="NSColorSpace">3</int>
+							<bytes key="NSWhite">MAA</bytes>
+						</object>
+					</object>
+					<object class="IBUIButton" id="530406944">
+						<reference key="NSNextResponder" ref="883825266"/>
+						<int key="NSvFlags">269</int>
+						<string key="NSFrame">{{95, 412}, {127, 37}}</string>
+						<reference key="NSSuperview" ref="883825266"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<int key="IBUIContentHorizontalAlignment">0</int>
+						<int key="IBUIContentVerticalAlignment">0</int>
+						<object class="NSFont" key="IBUIFont">
+							<string key="NSName">Helvetica-Bold</string>
+							<double key="NSSize">15</double>
+							<int key="NSfFlags">16</int>
+						</object>
+						<int key="IBUIButtonType">1</int>
+						<string key="IBUINormalTitle">Play Midi Note</string>
+						<object class="NSColor" key="IBUIHighlightedTitleColor">
+							<int key="NSColorSpace">3</int>
+							<bytes key="NSWhite">MQA</bytes>
+						</object>
+						<object class="NSColor" key="IBUINormalTitleColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+						</object>
+						<object class="NSColor" key="IBUINormalTitleShadowColor">
+							<int key="NSColorSpace">3</int>
+							<bytes key="NSWhite">MC41AA</bytes>
+						</object>
+					</object>
+				</object>
+				<string key="NSFrameSize">{320, 460}</string>
+				<reference key="NSSuperview"/>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">3</int>
+					<bytes key="NSWhite">MC4yNQA</bytes>
+					<object class="NSColorSpace" key="NSCustomColorSpace">
+						<int key="NSID">2</int>
+					</object>
+				</object>
+				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">view</string>
+						<reference key="source" ref="372490531"/>
+						<reference key="destination" ref="883825266"/>
+					</object>
+					<int key="connectionID">35</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">showInfo:</string>
+						<reference key="source" ref="558454645"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">7</int>
+					</object>
+					<int key="connectionID">38</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">noteOnPressed:</string>
+						<reference key="source" ref="530406944"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">1</int>
+					</object>
+					<int key="connectionID">41</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">noteOffPressed:</string>
+						<reference key="source" ref="530406944"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">8</int>
+					</object>
+					<int key="connectionID">43</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">noteOffPressed:</string>
+						<reference key="source" ref="530406944"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">7</int>
+					</object>
+					<int key="connectionID">44</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="372490531"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="815241450"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">34</int>
+						<reference key="object" ref="883825266"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="558454645"/>
+							<reference ref="530406944"/>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">36</int>
+						<reference key="object" ref="558454645"/>
+						<reference key="parent" ref="883825266"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">39</int>
+						<reference key="object" ref="530406944"/>
+						<reference key="parent" ref="883825266"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.CustomClassName</string>
+					<string>-2.CustomClassName</string>
+					<string>34.IBEditorWindowLastContentRect</string>
+					<string>34.IBPluginDependency</string>
+					<string>36.IBPluginDependency</string>
+					<string>39.IBPluginDependency</string>
+					<string>39.IBViewBoundsToFrameTransform</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>MainViewController</string>
+					<string>UIResponder</string>
+					<string>{{373, 233}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABCwAAAw3cAAA</bytes>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">44</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">MainViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="NSMutableDictionary" key="actions">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>noteOffPressed:</string>
+							<string>noteOnPressed:</string>
+							<string>showInfo:</string>
+							<string>sliderValueChanged:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>UIButton</string>
+							<string>UIButton</string>
+							<string>id</string>
+							<string>UISlider</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>noteOffPressed:</string>
+							<string>noteOnPressed:</string>
+							<string>showInfo:</string>
+							<string>sliderValueChanged:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">noteOffPressed:</string>
+								<string key="candidateClassName">UIButton</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">noteOnPressed:</string>
+								<string key="candidateClassName">UIButton</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showInfo:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">sliderValueChanged:</string>
+								<string key="candidateClassName">UISlider</string>
+							</object>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">ios_wrapper/MainViewController.h</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="990327596">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIButton</string>
+					<string key="superclassName">UIControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIControl</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIResponder</string>
+					<string key="superclassName">NSObject</string>
+					<reference key="sourceIdentifier" ref="990327596"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchBar</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchDisplayController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISlider</string>
+					<string key="superclassName">UIControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISlider.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+			<integer value="1056" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+			<integer value="3100" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../AccessiblePeakMeter-ios.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<string key="IBCocoaTouchPluginVersion">141</string>
+	</data>
+</archive>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/MainWindow.xib	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1024</int>
+		<string key="IBDocument.SystemVersion">10D571</string>
+		<string key="IBDocument.InterfaceBuilderVersion">786</string>
+		<string key="IBDocument.AppKitVersion">1038.29</string>
+		<string key="IBDocument.HIToolboxVersion">460.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">112</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="2"/>
+			<integer value="22"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="IBProxyObject" id="841351856">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBProxyObject" id="71653367">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUICustomObject" id="664661524">
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUIWindow" id="380026005">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">1316</int>
+				<object class="NSPSMatrix" key="NSFrameMatrix"/>
+				<string key="NSFrameSize">{320, 480}</string>
+				<reference key="NSSuperview"/>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">1</int>
+					<bytes key="NSRGB">MCAwIDAAA</bytes>
+				</object>
+				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+				<bool key="IBUIMultipleTouchEnabled">YES</bool>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+				<bool key="IBUIResizesToFullScreen">YES</bool>
+			</object>
+			<object class="IBUIViewController" id="919822394">
+				<string key="IBUINibName">MainView</string>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+					<int key="interfaceOrientation">1</int>
+				</object>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+				<bool key="IBUIHorizontal">NO</bool>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">window</string>
+						<reference key="source" ref="664661524"/>
+						<reference key="destination" ref="380026005"/>
+					</object>
+					<int key="connectionID">5</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">mainViewController</string>
+						<reference key="source" ref="664661524"/>
+						<reference key="destination" ref="919822394"/>
+					</object>
+					<int key="connectionID">24</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="841351856"/>
+						<reference key="destination" ref="664661524"/>
+					</object>
+					<int key="connectionID">26</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="380026005"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="841351856"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">3</int>
+						<reference key="object" ref="664661524"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="71653367"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">22</int>
+						<reference key="object" ref="919822394"/>
+						<reference key="parent" ref="0"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.CustomClassName</string>
+					<string>-2.CustomClassName</string>
+					<string>2.IBAttributePlaceholdersKey</string>
+					<string>2.IBEditorWindowLastContentRect</string>
+					<string>2.IBPluginDependency</string>
+					<string>22.CustomClassName</string>
+					<string>22.IBEditorWindowLastContentRect</string>
+					<string>22.IBPluginDependency</string>
+					<string>3.CustomClassName</string>
+					<string>3.IBPluginDependency</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>UIApplication</string>
+					<string>UIResponder</string>
+					<object class="NSMutableDictionary">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<reference key="dict.sortedKeys" ref="0"/>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+						</object>
+					</object>
+					<string>{{190, 376}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>MainViewController</string>
+					<string>{{0, 905}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>AccessiblePeakMeterAppDelegate</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">26</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">MainViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">showInfo:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">showInfo:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">showInfo:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">Classes/MainViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIWindow</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">AccessiblePeakMeterAppDelegate</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="outlets">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>mainViewController</string>
+							<string>window</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>MainViewController</string>
+							<string>UIWindow</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>mainViewController</string>
+							<string>window</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">mainViewController</string>
+								<string key="candidateClassName">MainViewController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">window</string>
+								<string key="candidateClassName">UIWindow</string>
+							</object>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">Classes/AccessiblePeakMeterAppDelegate.h</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="221394588">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIApplication</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIResponder</string>
+					<string key="superclassName">NSObject</string>
+					<reference key="sourceIdentifier" ref="221394588"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchBar</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchDisplayController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIWindow</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+			<integer value="1024" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+			<integer value="3100" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">AccessiblePeakMeter.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<string key="IBCocoaTouchPluginVersion">112</string>
+	</data>
+</archive>
Binary file resources/img/bg.png has changed
Binary file resources/img/fader.png has changed
Binary file resources/img/knob.png has changed
Binary file resources/img/switch.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/include/ADSR.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,179 @@
+#ifndef STK_ADSR_H
+#define STK_ADSR_H
+
+#include "Generator.h"
+
+namespace stk {
+
+/***************************************************/
+/*! \class ADSR
+    \brief STK ADSR envelope class.
+
+    This class implements a traditional ADSR (Attack, Decay, Sustain,
+    Release) envelope.  It responds to simple keyOn and keyOff
+    messages, keeping track of its state.  The \e state = ADSR::IDLE
+    before being triggered and after the envelope value reaches 0.0 in
+    the ADSR::RELEASE state.  All rate, target and level settings must
+    be non-negative.  All time settings are in seconds and must be
+    positive.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+class ADSR : public Generator
+{
+ public:
+
+  //! ADSR envelope states.
+  enum {
+    ATTACK,   /*!< Attack */
+    DECAY,    /*!< Decay */
+    SUSTAIN,  /*!< Sustain */
+    RELEASE,  /*!< Release */
+    IDLE      /*!< Before attack / after release */
+  };
+
+  //! Default constructor.
+  ADSR( void );
+
+  //! Class destructor.
+  ~ADSR( void );
+
+  //! Set target = 1, state = \e ADSR::ATTACK.
+  void keyOn( void );
+
+  //! Set target = 0, state = \e ADSR::RELEASE.
+  void keyOff( void );
+
+  //! Set the attack rate (gain / sample).
+  void setAttackRate( StkFloat rate );
+
+  //! Set the target value for the attack (default = 1.0).
+  void setAttackTarget( StkFloat target );
+
+  //! Set the decay rate (gain / sample).
+  void setDecayRate( StkFloat rate );
+
+  //! Set the sustain level.
+  void setSustainLevel( StkFloat level );
+
+  //! Set the release rate (gain / sample).
+  void setReleaseRate( StkFloat rate );
+
+  //! Set the attack rate based on a time duration (seconds).
+  void setAttackTime( StkFloat time );
+
+  //! Set the decay rate based on a time duration (seconds).
+  void setDecayTime( StkFloat time );
+
+  //! Set the release rate based on a time duration (seconds).
+  void setReleaseTime( StkFloat time );
+
+  //! Set sustain level and attack, decay, and release time durations (seconds).
+  void setAllTimes( StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime );
+
+  //! Set a sustain target value and attack or decay from current value to target.
+  void setTarget( StkFloat target );
+
+  //! Return the current envelope \e state (ATTACK, DECAY, SUSTAIN, RELEASE, IDLE).
+  int getState( void ) const { return state_; };
+
+  //! Set to state = ADSR::SUSTAIN with current and target values of \e value.
+  void setValue( StkFloat value );
+
+  //! Return the last computed output value.
+  StkFloat lastOut( void ) const { return lastFrame_[0]; };
+
+  //! Compute and return one output sample.
+  StkFloat tick( void );
+
+  //! Fill a channel of the StkFrames object with computed outputs.
+  /*!
+    The \c channel argument must be less than the number of
+    channels in the StkFrames argument (the first channel is specified
+    by 0).  However, range checking is only performed if _STK_DEBUG_
+    is defined during compilation, in which case an out-of-range value
+    will trigger an StkError exception.
+  */
+  StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+
+ protected:  
+
+  void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+
+  int state_;
+  StkFloat value_;
+  StkFloat target_;
+  StkFloat attackRate_;
+  StkFloat decayRate_;
+  StkFloat releaseRate_;
+  StkFloat releaseTime_;
+  StkFloat sustainLevel_;
+};
+
+inline StkFloat ADSR :: tick( void )
+{
+  switch ( state_ ) {
+
+  case ATTACK:
+    value_ += attackRate_;
+    if ( value_ >= target_ ) {
+      value_ = target_;
+      target_ = sustainLevel_;
+	    state_ = DECAY;
+    }
+    lastFrame_[0] = value_;
+    break;
+
+  case DECAY:
+    if ( value_ > sustainLevel_ ) {
+      value_ -= decayRate_;
+      if ( value_ <= sustainLevel_ ) {
+        value_ = sustainLevel_;
+        state_ = SUSTAIN;
+      }
+    }
+    else {
+      value_ += decayRate_; // attack target < sustain level
+      if ( value_ >= sustainLevel_ ) {
+        value_ = sustainLevel_;
+        state_ = SUSTAIN;
+      }
+    }
+    lastFrame_[0] = value_;
+    break;
+
+  case RELEASE:
+    value_ -= releaseRate_;
+    if ( value_ <= 0.0 ) {
+      value_ = 0.0;
+      state_ = IDLE;
+    }
+    lastFrame_[0] = value_;
+
+  }
+
+  return value_;
+}
+
+inline StkFrames& ADSR :: tick( StkFrames& frames, unsigned int channel )
+{
+#if defined(_STK_DEBUG_)
+  if ( channel >= frames.channels() ) {
+    oStream_ << "ADSR::tick(): channel and StkFrames arguments are incompatible!";
+    handleError( StkError::FUNCTION_ARGUMENT );
+  }
+#endif
+
+  StkFloat *samples = &frames[channel];
+  unsigned int hop = frames.channels();
+  for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+    *samples = ADSR::tick();
+
+  return frames;
+}
+
+} // stk namespace
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/include/Envelope.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,130 @@
+#ifndef STK_ENVELOPE_H
+#define STK_ENVELOPE_H
+
+#include "Generator.h"
+
+namespace stk {
+
+/***************************************************/
+/*! \class Envelope
+    \brief STK linear line envelope class.
+
+    This class implements a simple linear line envelope generator
+    which is capable of ramping to an arbitrary target value by a
+    specified \e rate.  It also responds to simple \e keyOn and \e
+    keyOff messages, ramping to 1.0 on keyOn and to 0.0 on keyOff.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+class Envelope : public Generator
+{
+ public:
+
+  //! Default constructor.
+  Envelope( void );
+
+  //! Class destructor.
+  ~Envelope( void );
+
+  //! Assignment operator.
+  Envelope& operator= ( const Envelope& e );
+
+  //! Set target = 1.
+  void keyOn( void ) { this->setTarget( 1.0 ); };
+
+  //! Set target = 0.
+  void keyOff( void ) { this->setTarget( 0.0 ); };
+
+  //! Set the \e rate.
+  /*!
+    The \e rate must be positive (though a value of 0.0 is allowed).
+   */
+  void setRate( StkFloat rate );
+
+  //! Set the \e rate based on a positive time duration (seconds).
+  /*!
+    The \e rate is calculated such that the envelope will ramp from
+    a value of 0.0 to 1.0 in the specified time duration.
+   */
+  void setTime( StkFloat time );
+
+  //! Set the target value.
+  void setTarget( StkFloat target );
+
+  //! Set current and target values to \e value.
+  void setValue( StkFloat value );
+
+  //! Return the current envelope \e state (0 = at target, 1 otherwise).
+  int getState( void ) const { return state_; };
+
+  //! Return the last computed output value.
+  StkFloat lastOut( void ) const { return lastFrame_[0]; };
+
+  //! Compute and return one output sample.
+  StkFloat tick( void );
+
+  //! Fill a channel of the StkFrames object with computed outputs.
+  /*!
+    The \c channel argument must be less than the number of
+    channels in the StkFrames argument (the first channel is specified
+    by 0).  However, range checking is only performed if _STK_DEBUG_
+    is defined during compilation, in which case an out-of-range value
+    will trigger an StkError exception.
+  */
+  StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+
+ protected:
+
+  void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+
+  StkFloat value_;
+  StkFloat target_;
+  StkFloat rate_;
+  int state_;
+};
+
+inline StkFloat Envelope :: tick( void )
+{
+  if ( state_ ) {
+    if ( target_ > value_ ) {
+      value_ += rate_;
+      if ( value_ >= target_ ) {
+        value_ = target_;
+        state_ = 0;
+      }
+    }
+    else {
+      value_ -= rate_;
+      if ( value_ <= target_ ) {
+        value_ = target_;
+        state_ = 0;
+      }
+    }
+    lastFrame_[0] = value_;
+  }
+
+  return value_;
+}
+
+inline StkFrames& Envelope :: tick( StkFrames& frames, unsigned int channel )
+{
+#if defined(_STK_DEBUG_)
+  if ( channel >= frames.channels() ) {
+    oStream_ << "Envelope::tick(): channel and StkFrames arguments are incompatible!";
+    handleError( StkError::FUNCTION_ARGUMENT );
+  }
+#endif
+
+  StkFloat *samples = &frames[channel];
+  unsigned int hop = frames.channels();
+  for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+    *samples = tick();
+
+  return frames;
+}
+
+} // stk namespace
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/include/Generator.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,50 @@
+#ifndef STK_GENERATOR_H
+#define STK_GENERATOR_H
+
+#include "Stk.h"
+
+namespace stk {
+
+/***************************************************/
+/*! \class Generator
+    \brief STK abstract unit generator parent class.
+
+    This class provides limited common functionality for STK unit
+    generator sample-source subclasses.  It is general enough to
+    support both monophonic and polyphonic output classes.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+class Generator : public Stk
+{
+ public:
+
+  //! Class constructor.
+  Generator( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+
+  //! Return the number of output channels for the class.
+  unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+
+  //! Return an StkFrames reference to the last output sample frame.
+  const StkFrames& lastFrame( void ) const { return lastFrame_; };
+
+  //! Fill the StkFrames object with computed sample frames, starting at the specified channel.
+  /*!
+    The \c channel argument plus the number of output channels must
+    be less than the number of channels in the StkFrames argument (the
+    first channel is specified by 0).  However, range checking is only
+    performed if _STK_DEBUG_ is defined during compilation, in which
+    case an out-of-range value will trigger an StkError exception.
+  */
+  virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ) = 0;
+
+  protected:
+
+  StkFrames lastFrame_;
+};
+
+} // stk namespace
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/include/SineWave.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,159 @@
+#ifndef STK_SINEWAVE_H
+#define STK_SINEWAVE_H
+
+const unsigned long TABLE_SIZE = 2048;
+
+#include "Generator.h"
+
+namespace stk {
+
+/***************************************************/
+/*! \class SineWave
+    \brief STK sinusoid oscillator class.
+
+    This class computes and saves a static sine "table" that can be
+    shared by multiple instances.  It has an interface similar to the
+    WaveLoop class but inherits from the Generator class.  Output
+    values are computed using linear interpolation.
+
+    The "table" length, set in SineWave.h, is 2048 samples by default.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+class SineWave : public Generator
+{
+public:
+  //! Default constructor.
+  SineWave( void );
+
+  //! Class destructor.
+  ~SineWave( void );
+
+  //! Clear output and reset time pointer to zero.
+  void reset( void );
+
+  //! Set the data read rate in samples.  The rate can be negative.
+  /*!
+    If the rate value is negative, the data is read in reverse order.
+  */
+  void setRate( StkFloat rate ) { rate_ = rate; };
+
+  //! Set the data interpolation rate based on a looping frequency.
+  /*!
+    This function determines the interpolation rate based on the file
+    size and the current Stk::sampleRate.  The \e frequency value
+    corresponds to file cycles per second.  The frequency can be
+    negative, in which case the loop is read in reverse order.
+   */
+  void setFrequency( StkFloat frequency );
+
+  //! Increment the read pointer by \e time in samples, modulo the table size.
+  void addTime( StkFloat time );
+
+  //! Increment the read pointer by a normalized \e phase value.
+  /*!
+    This function increments the read pointer by a normalized phase
+    value, such that \e phase = 1.0 corresponds to a 360 degree phase
+    shift.  Positive or negative values are possible.
+   */
+  void addPhase( StkFloat phase );
+
+  //! Add a normalized phase offset to the read pointer.
+  /*!
+    A \e phaseOffset = 1.0 corresponds to a 360 degree phase
+    offset.  Positive or negative values are possible.
+   */
+  void addPhaseOffset( StkFloat phaseOffset );
+
+  //! Return the last computed output value.
+  StkFloat lastOut( void ) const { return lastFrame_[0]; };
+
+  //! Compute and return one output sample.
+  StkFloat tick( void );
+
+  //! Fill a channel of the StkFrames object with computed outputs.
+  /*!
+    The \c channel argument must be less than the number of
+    channels in the StkFrames argument (the first channel is specified
+    by 0).  However, range checking is only performed if _STK_DEBUG_
+    is defined during compilation, in which case an out-of-range value
+    will trigger an StkError exception.
+  */
+  StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+
+protected:
+
+  void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+
+  static StkFrames table_;
+  StkFloat time_;
+  StkFloat rate_;
+  StkFloat phaseOffset_;
+  unsigned int iIndex_;
+  StkFloat alpha_;
+
+};
+
+inline StkFloat SineWave :: tick( void )
+{
+  // Check limits of time address ... if necessary, recalculate modulo
+  // TABLE_SIZE.
+  while ( time_ < 0.0 )
+    time_ += TABLE_SIZE;
+  while ( time_ >= TABLE_SIZE )
+    time_ -= TABLE_SIZE;
+
+  iIndex_ = (unsigned int) time_;
+  alpha_ = time_ - iIndex_;
+  StkFloat tmp = table_[ iIndex_ ];
+  tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) );
+
+  // Increment time, which can be negative.
+  time_ += rate_;
+
+  lastFrame_[0] = tmp;
+  return lastFrame_[0];
+}
+
+inline StkFrames& SineWave :: tick( StkFrames& frames, unsigned int channel )
+{
+#if defined(_STK_DEBUG_)
+  if ( channel >= frames.channels() ) {
+    oStream_ << "SineWave::tick(): channel and StkFrames arguments are incompatible!";
+    handleError( StkError::FUNCTION_ARGUMENT );
+  }
+#endif
+
+  StkFloat *samples = &frames[channel];
+  StkFloat tmp = 0.0;
+
+  unsigned int hop = frames.channels();
+  for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+
+    // Check limits of time address ... if necessary, recalculate modulo
+    // TABLE_SIZE.
+    while ( time_ < 0.0 )
+      time_ += TABLE_SIZE;
+    while ( time_ >= TABLE_SIZE )
+      time_ -= TABLE_SIZE;
+
+    iIndex_ = (unsigned int) time_;
+    alpha_ = time_ - iIndex_;
+    tmp = table_[ iIndex_ ];
+    tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) );
+    *samples = tmp;
+
+    // Increment time, which can be negative.
+    time_ += rate_;
+  }
+
+  lastFrame_[0] = tmp;
+  return frames;
+}
+
+} // stk namespace
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/include/Stk.h	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,548 @@
+#ifndef STK_STK_H
+#define STK_STK_H
+
+#include <string>
+#include <cstring>
+#include <iostream>
+#include <sstream>
+#include <vector>
+//#include <cstdlib>
+
+/*! \namespace stk
+    \brief The STK namespace.
+
+    Most Stk classes are defined within the STK namespace.  Exceptions
+    to this include the classes RtAudio and RtMidi.
+*/
+namespace stk {
+
+/***************************************************/
+/*! \class Stk
+    \brief STK base class
+
+    Nearly all STK classes inherit from this class.
+    The global sample rate and rawwave path variables
+    can be queried and modified via Stk.  In addition,
+    this class provides error handling and
+    byte-swapping functions.
+
+    The Synthesis ToolKit in C++ (STK) is a set of open source audio
+    signal processing and algorithmic synthesis classes written in the
+    C++ programming language. STK was designed to facilitate rapid
+    development of music synthesis and audio processing software, with
+    an emphasis on cross-platform functionality, realtime control,
+    ease of use, and educational example code.  STK currently runs
+    with realtime support (audio and MIDI) on Linux, Macintosh OS X,
+    and Windows computer platforms. Generic, non-realtime support has
+    been tested under NeXTStep, Sun, and other platforms and should
+    work with any standard C++ compiler.
+
+    STK WWW site: http://ccrma.stanford.edu/software/stk/
+
+    The Synthesis ToolKit in C++ (STK)
+    Copyright (c) 1995--2014 Perry R. Cook and Gary P. Scavone
+
+    Permission is hereby granted, free of charge, to any person
+    obtaining a copy of this software and associated documentation files
+    (the "Software"), to deal in the Software without restriction,
+    including without limitation the rights to use, copy, modify, merge,
+    publish, distribute, sublicense, and/or sell copies of the Software,
+    and to permit persons to whom the Software is furnished to do so,
+    subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be
+    included in all copies or substantial portions of the Software.
+
+    Any person wishing to distribute modifications to the Software is
+    asked to send the modifications to the original developer so that
+    they can be incorporated into the canonical version.  This is,
+    however, not a binding provision of this license.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+/***************************************************/
+
+//#define _STK_DEBUG_
+
+// Most data in STK is passed and calculated with the
+// following user-definable floating-point type.  You
+// can change this to "float" if you prefer or perhaps
+// a "long double" in the future.
+typedef double StkFloat;
+
+//! STK error handling class.
+/*!
+  This is a fairly abstract exception handling class.  There could
+  be sub-classes to take care of more specific error conditions ... or
+  not.
+*/
+class StkError
+{
+public:
+  enum Type {
+    STATUS,
+    WARNING,
+    DEBUG_PRINT,
+    MEMORY_ALLOCATION,
+    MEMORY_ACCESS,
+    FUNCTION_ARGUMENT,
+    FILE_NOT_FOUND,
+    FILE_UNKNOWN_FORMAT,
+    FILE_ERROR,
+    PROCESS_THREAD,
+    PROCESS_SOCKET,
+    PROCESS_SOCKET_IPADDR,
+    AUDIO_SYSTEM,
+    MIDI_SYSTEM,
+    UNSPECIFIED
+  };
+
+protected:
+  std::string message_;
+  Type type_;
+
+public:
+  //! The constructor.
+  StkError(const std::string& message, Type type = StkError::UNSPECIFIED)
+    : message_(message), type_(type) {}
+
+  //! The destructor.
+  virtual ~StkError(void) {};
+
+  //! Prints thrown error message to stderr.
+  virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
+
+  //! Returns the thrown error message type.
+  virtual const Type& getType(void) { return type_; }
+
+  //! Returns the thrown error message string.
+  virtual const std::string& getMessage(void) { return message_; }
+
+  //! Returns the thrown error message as a C string.
+  virtual const char *getMessageCString(void) { return message_.c_str(); }
+};
+
+
+class Stk
+{
+public:
+
+  typedef unsigned long StkFormat;
+  static const StkFormat STK_SINT8;   /*!< -128 to +127 */
+  static const StkFormat STK_SINT16;  /*!< -32768 to +32767 */
+  static const StkFormat STK_SINT24;  /*!< Lower 3 bytes of 32-bit signed integer. */
+  static const StkFormat STK_SINT32;  /*!< -2147483648 to +2147483647. */
+  static const StkFormat STK_FLOAT32; /*!< Normalized between plus/minus 1.0. */
+  static const StkFormat STK_FLOAT64; /*!< Normalized between plus/minus 1.0. */
+
+  //! Static method that returns the current STK sample rate.
+  static StkFloat sampleRate( void ) { return srate_; }
+
+  //! Static method that sets the STK sample rate.
+  /*!
+    The sample rate set using this method is queried by all STK
+    classes that depend on its value.  It is initialized to the
+    default SRATE set in Stk.h.  Many STK classes use the sample rate
+    during instantiation.  Therefore, if you wish to use a rate that
+    is different from the default rate, it is imperative that it be
+    set \e BEFORE STK objects are instantiated.  A few classes that
+    make use of the global STK sample rate are automatically notified
+    when the rate changes so that internal class data can be
+    appropriately updated.  However, this has not been fully
+    implemented.  Specifically, classes that appropriately update
+    their own data when either a setFrequency() or noteOn() function
+    is called do not currently receive the automatic notification of
+    rate change.  If the user wants a specific class instance to
+    ignore such notifications, perhaps in a multi-rate context, the
+    function Stk::ignoreSampleRateChange() should be called.
+  */
+  static void setSampleRate( StkFloat rate );
+
+  //! A function to enable/disable the automatic updating of class data when the STK sample rate changes.
+  /*!
+    This function allows the user to enable or disable class data
+    updates in response to global sample rate changes on a class by
+    class basis.
+  */
+  void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
+
+  //! Static method that returns the current rawwave path.
+  static std::string rawwavePath(void) { return rawwavepath_; }
+
+  //! Static method that sets the STK rawwave path.
+  static void setRawwavePath( std::string path );
+
+  //! Static method that byte-swaps a 16-bit data type.
+  static void swap16( unsigned char *ptr );
+
+  //! Static method that byte-swaps a 32-bit data type.
+  static void swap32( unsigned char *ptr );
+
+  //! Static method that byte-swaps a 64-bit data type.
+  static void swap64( unsigned char *ptr );
+
+  //! Static cross-platform method to sleep for a number of milliseconds.
+  static void sleep( unsigned long milliseconds );
+
+  //! Static method to check whether a value is within a specified range.
+  static bool inRange( StkFloat value, StkFloat min, StkFloat max ) {
+    if ( value < min ) return false;
+    else if ( value > max ) return false;
+    else return true;
+  }
+
+  //! Static function for error reporting and handling using c-strings.
+  static void handleError( const char *message, StkError::Type type );
+
+  //! Static function for error reporting and handling using c++ strings.
+  static void handleError( std::string message, StkError::Type type );
+
+  //! Toggle display of WARNING and STATUS messages.
+  static void showWarnings( bool status ) { showWarnings_ = status; }
+
+  //! Toggle display of error messages before throwing exceptions.
+  static void printErrors( bool status ) { printErrors_ = status; }
+
+private:
+  static StkFloat srate_;
+  static std::string rawwavepath_;
+  static bool showWarnings_;
+  static bool printErrors_;
+  static std::vector<Stk *> alertList_;
+
+protected:
+
+  static std::ostringstream oStream_;
+  bool ignoreSampleRateChange_;
+
+  //! Default constructor.
+  Stk( void );
+
+  //! Class destructor.
+  virtual ~Stk( void );
+
+  //! This function should be implemented in subclasses that depend on the sample rate.
+  virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+
+  //! Add class pointer to list for sample rate change notification.
+  void addSampleRateAlert( Stk *ptr );
+
+  //! Remove class pointer from list for sample rate change notification.
+  void removeSampleRateAlert( Stk *ptr );
+
+  //! Internal function for error reporting that assumes message in \c oStream_ variable.
+  void handleError( StkError::Type type ) const;
+};
+
+
+/***************************************************/
+/*! \class StkFrames
+    \brief An STK class to handle vectorized audio data.
+
+    This class can hold single- or multi-channel audio data.  The data
+    type is always StkFloat and the channel format is always
+    interleaved.  In an effort to maintain efficiency, no
+    out-of-bounds checks are performed in this class unless
+    _STK_DEBUG_ is defined.
+
+    Internally, the data is stored in a one-dimensional C array.  An
+    indexing operator is available to set and retrieve data values.
+    Alternately, one can use pointers to access the data, using the
+    index operator to get an address for a particular location in the
+    data:
+
+      StkFloat* ptr = &myStkFrames[0];
+
+    Note that this class can also be used as a table with interpolating
+    lookup.
+
+    Possible future improvements in this class could include functions
+    to convert to and return other data types.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+class StkFrames
+{
+public:
+
+  //! The default constructor initializes the frame data structure to size zero.
+  StkFrames( unsigned int nFrames = 0, unsigned int nChannels = 0 );
+
+  //! Overloaded constructor that initializes the frame data to the specified size with \c value.
+  StkFrames( const StkFloat& value, unsigned int nFrames, unsigned int nChannels );
+
+  //! The destructor.
+  ~StkFrames();
+
+  // A copy constructor.
+  StkFrames( const StkFrames& f );
+
+  // Assignment operator that returns a reference to self.
+  StkFrames& operator= ( const StkFrames& f );
+
+  //! Subscript operator that returns a reference to element \c n of self.
+  /*!
+    The result can be used as an lvalue. This reference is valid
+    until the resize function is called or the array is destroyed. The
+    index \c n must be between 0 and size less one.  No range checking
+    is performed unless _STK_DEBUG_ is defined.
+  */
+  StkFloat& operator[] ( size_t n );
+
+  //! Subscript operator that returns the value at element \c n of self.
+  /*!
+    The index \c n must be between 0 and size less one.  No range
+    checking is performed unless _STK_DEBUG_ is defined.
+  */
+  StkFloat operator[] ( size_t n ) const;
+
+  //! Assignment by sum operator into self.
+  /*!
+    The dimensions of the argument are expected to be the same as
+    self.  No range checking is performed unless _STK_DEBUG_ is
+    defined.
+  */
+  void operator+= ( StkFrames& f );
+
+  //! Assignment by product operator into self.
+  /*!
+    The dimensions of the argument are expected to be the same as
+    self.  No range checking is performed unless _STK_DEBUG_ is
+    defined.
+  */
+  void operator*= ( StkFrames& f );
+
+  //! Channel / frame subscript operator that returns a reference.
+  /*!
+    The result can be used as an lvalue. This reference is valid
+    until the resize function is called or the array is destroyed. The
+    \c frame index must be between 0 and frames() - 1.  The \c channel
+    index must be between 0 and channels() - 1.  No range checking is
+    performed unless _STK_DEBUG_ is defined.
+  */
+  StkFloat& operator() ( size_t frame, unsigned int channel );
+
+  //! Channel / frame subscript operator that returns a value.
+  /*!
+    The \c frame index must be between 0 and frames() - 1.  The \c
+    channel index must be between 0 and channels() - 1.  No range checking
+    is performed unless _STK_DEBUG_ is defined.
+  */
+  StkFloat operator() ( size_t frame, unsigned int channel ) const;
+
+  //! Return an interpolated value at the fractional frame index and channel.
+  /*!
+    This function performs linear interpolation.  The \c frame
+    index must be between 0.0 and frames() - 1.  The \c channel index
+    must be between 0 and channels() - 1.  No range checking is
+    performed unless _STK_DEBUG_ is defined.
+  */
+  StkFloat interpolate( StkFloat frame, unsigned int channel = 0 ) const;
+
+  //! Returns the total number of audio samples represented by the object.
+  size_t size() const { return size_; }; 
+
+  //! Returns \e true if the object size is zero and \e false otherwise.
+  bool empty() const;
+
+  //! Resize self to represent the specified number of channels and frames.
+  /*!
+    Changes the size of self based on the number of frames and
+    channels.  No element assignment is performed.  No memory
+    deallocation occurs if the new size is smaller than the previous
+    size.  Further, no new memory is allocated when the new size is
+    smaller or equal to a previously allocated size.
+  */
+  void resize( size_t nFrames, unsigned int nChannels = 1 );
+
+  //! Resize self to represent the specified number of channels and frames and perform element initialization.
+  /*!
+    Changes the size of self based on the number of frames and
+    channels, and assigns \c value to every element.  No memory
+    deallocation occurs if the new size is smaller than the previous
+    size.  Further, no new memory is allocated when the new size is
+    smaller or equal to a previously allocated size.
+  */
+  void resize( size_t nFrames, unsigned int nChannels, StkFloat value );
+
+  //! Return the number of channels represented by the data.
+  unsigned int channels( void ) const { return nChannels_; };
+
+  //! Return the number of sample frames represented by the data.
+  unsigned int frames( void ) const { return (unsigned int)nFrames_; };
+
+  //! Set the sample rate associated with the StkFrames data.
+  /*!
+    By default, this value is set equal to the current STK sample
+    rate at the time of instantiation.
+   */
+  void setDataRate( StkFloat rate ) { dataRate_ = rate; };
+
+  //! Return the sample rate associated with the StkFrames data.
+  /*!
+    By default, this value is set equal to the current STK sample
+    rate at the time of instantiation.
+   */
+  StkFloat dataRate( void ) const { return dataRate_; };
+
+private:
+
+  StkFloat *data_;
+  StkFloat dataRate_;
+  size_t nFrames_;
+  unsigned int nChannels_;
+  size_t size_;
+  size_t bufferSize_;
+
+};
+
+inline bool StkFrames :: empty() const
+{
+  if ( size_ > 0 ) return false;
+  else return true;
+}
+
+inline StkFloat& StkFrames :: operator[] ( size_t n )
+{
+#if defined(_STK_DEBUG_)
+  if ( n >= size_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator[]: invalid index (" << n << ") value!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  return data_[n];
+}
+
+inline StkFloat StkFrames :: operator[] ( size_t n ) const
+{
+#if defined(_STK_DEBUG_)
+  if ( n >= size_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator[]: invalid index (" << n << ") value!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  return data_[n];
+}
+
+inline StkFloat& StkFrames :: operator() ( size_t frame, unsigned int channel )
+{
+#if defined(_STK_DEBUG_)
+  if ( frame >= nFrames_ || channel >= nChannels_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  return data_[ frame * nChannels_ + channel ];
+}
+
+inline StkFloat StkFrames :: operator() ( size_t frame, unsigned int channel ) const
+{
+#if defined(_STK_DEBUG_)
+  if ( frame >= nFrames_ || channel >= nChannels_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  return data_[ frame * nChannels_ + channel ];
+}
+
+inline void StkFrames :: operator+= ( StkFrames& f )
+{
+#if defined(_STK_DEBUG_)
+  if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator+=: frames argument must be of equal dimensions!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  StkFloat *fptr = &f[0];
+  StkFloat *dptr = data_;
+  for ( unsigned int i=0; i<size_; i++ )
+    *dptr++ += *fptr++;
+}
+
+inline void StkFrames :: operator*= ( StkFrames& f )
+{
+#if defined(_STK_DEBUG_)
+  if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) {
+    std::ostringstream error;
+    error << "StkFrames::operator*=: frames argument must be of equal dimensions!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  StkFloat *fptr = &f[0];
+  StkFloat *dptr = data_;
+  for ( unsigned int i=0; i<size_; i++ )
+    *dptr++ *= *fptr++;
+}
+
+// Here are a few other useful typedefs.
+typedef unsigned short UINT16;
+typedef unsigned int UINT32;
+typedef signed short SINT16;
+typedef signed int SINT32;
+typedef float FLOAT32;
+typedef double FLOAT64;
+
+// The default sampling rate.
+const StkFloat SRATE = 44100.0;
+
+// The default real-time audio input and output buffer size.  If
+// clicks are occuring in the input and/or output sound stream, a
+// larger buffer size may help.  Larger buffer sizes, however, produce
+// more latency.
+const unsigned int RT_BUFFER_SIZE = 512;
+
+// The default rawwave path value is set with the preprocessor
+// definition RAWWAVE_PATH.  This can be specified as an argument to
+// the configure script, in an integrated development environment, or
+// below.  The global STK rawwave path variable can be dynamically set
+// with the Stk::setRawwavePath() function.  This value is
+// concatenated to the beginning of all references to rawwave files in
+// the various STK core classes (ex. Clarinet.cpp).  If you wish to
+// move the rawwaves directory to a different location in your file
+// system, you will need to set this path definition appropriately.
+#if !defined(RAWWAVE_PATH)
+  #define RAWWAVE_PATH "../../rawwaves/"
+#endif
+
+#ifndef PI
+const StkFloat PI           = 3.14159265358979;
+#endif
+const StkFloat TWO_PI       = 2 * PI;
+const StkFloat ONE_OVER_128 = 0.0078125;
+
+#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_MM__)
+  #define __OS_WINDOWS__
+  #define __STK_REALTIME__
+#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__UNIX_JACK__)
+  #define __OS_LINUX__
+  #define __STK_REALTIME__
+#elif defined(__IRIX_AL__)
+  #define __OS_IRIX__
+#elif defined(__MACOSX_CORE__) || defined(__UNIX_JACK__)
+  #define __OS_MACOSX__
+  #define __STK_REALTIME__
+#endif
+
+} // stk namespace
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/src/ADSR.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,180 @@
+/***************************************************/
+/*! \class ADSR
+    \brief STK ADSR envelope class.
+
+   This class implements a traditional ADSR (Attack, Decay, Sustain,
+    Release) envelope.  It responds to simple keyOn and keyOff
+    messages, keeping track of its state.  The \e state = ADSR::IDLE
+    before being triggered and after the envelope value reaches 0.0 in
+    the ADSR::RELEASE state.  All rate, target and level settings must
+    be non-negative.  All time settings must be positive.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+#include "../include/ADSR.h"
+
+namespace stk {
+
+ADSR :: ADSR( void )
+{
+  target_ = 0.0;
+  value_ = 0.0;
+  attackRate_ = 0.001;
+  decayRate_ = 0.001;
+  releaseRate_ = 0.005;
+  releaseTime_ = -1.0;
+  sustainLevel_ = 0.5;
+  state_ = IDLE;
+  Stk::addSampleRateAlert( this );
+}
+
+ADSR :: ~ADSR( void )
+{
+}
+
+void ADSR :: sampleRateChanged( StkFloat newRate, StkFloat oldRate )
+{
+  if ( !ignoreSampleRateChange_ ) {
+    attackRate_ = oldRate * attackRate_ / newRate;
+    decayRate_ = oldRate * decayRate_ / newRate;
+    releaseRate_ = oldRate * releaseRate_ / newRate;
+  }
+}
+
+void ADSR :: keyOn()
+{
+  if ( target_ <= 0.0 ) target_ = 1.0;
+  state_ = ATTACK;
+}
+
+void ADSR :: keyOff()
+{
+  target_ = 0.0;
+  state_ = RELEASE;
+
+  // FIXED October 2010 - Nick Donaldson
+  // Need to make release rate relative to current value!!
+  // Only update if we have set a TIME rather than a RATE,
+  // in which case releaseTime_ will be -1
+  if ( releaseTime_ > 0.0 )
+	  releaseRate_ = value_ / ( releaseTime_ * Stk::sampleRate() );
+}
+
+void ADSR :: setAttackRate( StkFloat rate )
+{
+  if ( rate < 0.0 ) {
+    oStream_ << "ADSR::setAttackRate: argument must be >= 0.0!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  attackRate_ = rate;
+}
+
+void ADSR :: setAttackTarget( StkFloat target )
+{
+  if ( target < 0.0 ) {
+    oStream_ << "ADSR::setAttackTarget: negative target not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  target_ = target;
+}
+
+void ADSR :: setDecayRate( StkFloat rate )
+{
+  if ( rate < 0.0 ) {
+    oStream_ << "ADSR::setDecayRate: negative rates not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  decayRate_ = rate;
+}
+
+void ADSR :: setSustainLevel( StkFloat level )
+{
+  if ( level < 0.0 ) {
+    oStream_ << "ADSR::setSustainLevel: negative level not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  sustainLevel_ = level;
+}
+
+void ADSR :: setReleaseRate( StkFloat rate )
+{
+  if ( rate < 0.0 ) {
+    oStream_ << "ADSR::setReleaseRate: negative rates not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  releaseRate_ = rate;
+
+  // Set to negative value so we don't update the release rate on keyOff()
+  releaseTime_ = -1.0;
+}
+
+void ADSR :: setAttackTime( StkFloat time )
+{
+  if ( time <= 0.0 ) {
+    oStream_ << "ADSR::setAttackTime: negative or zero times not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  attackRate_ = 1.0 / ( time * Stk::sampleRate() );
+}
+
+void ADSR :: setDecayTime( StkFloat time )
+{
+  if ( time <= 0.0 ) {
+    oStream_ << "ADSR::setDecayTime: negative or zero times not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  decayRate_ = (1.0 - sustainLevel_) / ( time * Stk::sampleRate() );
+}
+
+void ADSR :: setReleaseTime( StkFloat time )
+{
+  if ( time <= 0.0 ) {
+    oStream_ << "ADSR::setReleaseTime: negative or zero times not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  releaseRate_ = sustainLevel_ / ( time * Stk::sampleRate() );
+  releaseTime_ = time;
+}
+
+void ADSR :: setAllTimes( StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime )
+{
+  this->setAttackTime( aTime );
+  this->setSustainLevel( sLevel );
+  this->setDecayTime( dTime );
+  this->setReleaseTime( rTime );
+}
+
+void ADSR :: setTarget( StkFloat target )
+{
+  if ( target < 0.0 ) {
+    oStream_ << "ADSR::setTarget: negative target not allowed!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  target_ = target;
+
+  this->setSustainLevel( target_ );
+  if ( value_ < target_ ) state_ = ATTACK;
+  if ( value_ > target_ ) state_ = DECAY;
+}
+
+void ADSR :: setValue( StkFloat value )
+{
+  state_ = SUSTAIN;
+  target_ = value;
+  value_ = value;
+  this->setSustainLevel( value );
+  lastFrame_[0] = value;
+}
+
+} // stk namespace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/src/Envelope.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,84 @@
+/***************************************************/
+/*! \class Envelope
+    \brief STK linear line envelope class.
+
+    This class implements a simple linear line envelope generator
+    which is capable of ramping to an arbitrary target value by a
+    specified \e rate.  It also responds to simple \e keyOn and \e
+    keyOff messages, ramping to 1.0 on keyOn and to 0.0 on keyOff.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+#include "../include/Envelope.h"
+
+namespace stk {
+
+Envelope :: Envelope( void ) : Generator()
+{    
+  target_ = 0.0;
+  value_ = 0.0;
+  rate_ = 0.001;
+  state_ = 0;
+  Stk::addSampleRateAlert( this );
+}
+
+Envelope :: ~Envelope( void )
+{
+  Stk::removeSampleRateAlert( this );
+}
+
+Envelope& Envelope :: operator= ( const Envelope& e )
+{
+  if ( this != &e ) {
+    target_ = e.target_;
+    value_ = e.value_;
+    rate_ = e.rate_;
+    state_ = e.state_;
+  }
+
+  return *this;
+}
+
+void Envelope :: sampleRateChanged( StkFloat newRate, StkFloat oldRate )
+{
+  if ( !ignoreSampleRateChange_ )
+    rate_ = oldRate * rate_ / newRate;
+}
+
+void Envelope :: setRate( StkFloat rate )
+{
+  if ( rate < 0.0 ) {
+    oStream_ << "Envelope::setRate: argument must be >= 0.0!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  rate_ = rate;
+}
+
+void Envelope :: setTime( StkFloat time )
+{
+  if ( time <= 0.0 ) {
+    oStream_ << "Envelope::setTime: argument must be > 0.0!";
+    handleError( StkError::WARNING ); return;
+  }
+
+  rate_ = 1.0 / ( time * Stk::sampleRate() );
+}
+
+void Envelope :: setTarget( StkFloat target )
+{
+  target_ = target;
+  if ( value_ != target_ ) state_ = 1;
+}
+
+void Envelope :: setValue( StkFloat value )
+{
+  state_ = 0;
+  target_ = value;
+  value_ = value;
+  lastFrame_[0] = value_;
+}
+
+} // stk namespace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/src/SineWave.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,78 @@
+/***************************************************/
+/*! \class SineWave
+    \brief STK sinusoid oscillator class.
+
+    This class computes and saves a static sine "table" that can be
+    shared by multiple instances.  It has an interface similar to the
+    WaveLoop class but inherits from the Generator class.  Output
+    values are computed using linear interpolation.
+
+    The "table" length, set in SineWave.h, is 2048 samples by default.
+
+    by Perry R. Cook and Gary P. Scavone, 1995--2014.
+*/
+/***************************************************/
+
+#include "../include/SineWave.h"
+#include <cmath>
+
+namespace stk {
+
+StkFrames SineWave :: table_;
+
+SineWave :: SineWave( void )
+  : time_(0.0), rate_(1.0), phaseOffset_(0.0)
+{
+  if ( table_.empty() ) {
+    table_.resize( TABLE_SIZE + 1, 1 );
+    StkFloat temp = 1.0 / TABLE_SIZE;
+    for ( unsigned long i=0; i<=TABLE_SIZE; i++ )
+      table_[i] = sin( TWO_PI * i * temp );
+  }
+
+  Stk::addSampleRateAlert( this );
+}
+
+SineWave :: ~SineWave()
+{
+  Stk::removeSampleRateAlert( this );
+}
+
+void SineWave :: sampleRateChanged( StkFloat newRate, StkFloat oldRate )
+{
+  if ( !ignoreSampleRateChange_ )
+    this->setRate( oldRate * rate_ / newRate );
+}
+
+void SineWave :: reset( void )
+{
+  time_ = 0.0;
+  lastFrame_[0] = 0;
+}
+
+void SineWave :: setFrequency( StkFloat frequency )
+{
+  // This is a looping frequency.
+  this->setRate( TABLE_SIZE * frequency / Stk::sampleRate() );
+}
+
+void SineWave :: addTime( StkFloat time )
+{
+  // Add an absolute time in samples.
+  time_ += time;
+}
+
+void SineWave :: addPhase( StkFloat phase )
+{
+  // Add a time in cycles (one cycle = TABLE_SIZE).
+  time_ += TABLE_SIZE * phase;
+}
+
+void SineWave :: addPhaseOffset( StkFloat phaseOffset )
+{
+  // Add a phase offset relative to any previous offset value.
+  time_ += ( phaseOffset - phaseOffset_ ) * TABLE_SIZE;
+  phaseOffset_ = phaseOffset;
+}
+
+} // stk namespace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stk/src/Stk.cpp	Mon Jun 08 11:49:43 2015 +0100
@@ -0,0 +1,340 @@
+/***************************************************/
+/*! \class Stk
+    \brief STK base class
+
+    Nearly all STK classes inherit from this class.
+    The global sample rate can be queried and
+    modified via Stk.  In addition, this class
+    provides error handling and byte-swapping
+    functions.
+
+    The Synthesis ToolKit in C++ (STK) is a set of open source audio
+    signal processing and algorithmic synthesis classes written in the
+    C++ programming language. STK was designed to facilitate rapid
+    development of music synthesis and audio processing software, with
+    an emphasis on cross-platform functionality, realtime control,
+    ease of use, and educational example code.  STK currently runs
+    with realtime support (audio and MIDI) on Linux, Macintosh OS X,
+    and Windows computer platforms. Generic, non-realtime support has
+    been tested under NeXTStep, Sun, and other platforms and should
+    work with any standard C++ compiler.
+
+    STK WWW site: http://ccrma.stanford.edu/software/stk/
+
+    The Synthesis ToolKit in C++ (STK)
+    Copyright (c) 1995--2014 Perry R. Cook and Gary P. Scavone
+
+    Permission is hereby granted, free of charge, to any person
+    obtaining a copy of this software and associated documentation files
+    (the "Software"), to deal in the Software without restriction,
+    including without limitation the rights to use, copy, modify, merge,
+    publish, distribute, sublicense, and/or sell copies of the Software,
+    and to permit persons to whom the Software is furnished to do so,
+    subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be
+    included in all copies or substantial portions of the Software.
+
+    Any person wishing to distribute modifications to the Software is
+    asked to send the modifications to the original developer so that
+    they can be incorporated into the canonical version.  This is,
+    however, not a binding provision of this license.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+/***************************************************/
+
+#include "../include/Stk.h"
+#include <stdlib.h>
+
+namespace stk {
+
+StkFloat Stk :: srate_ = (StkFloat) SRATE;
+std::string Stk :: rawwavepath_ = RAWWAVE_PATH;
+const Stk::StkFormat Stk :: STK_SINT8   = 0x1;
+const Stk::StkFormat Stk :: STK_SINT16  = 0x2;
+const Stk::StkFormat Stk :: STK_SINT24  = 0x4;
+const Stk::StkFormat Stk :: STK_SINT32  = 0x8;
+const Stk::StkFormat Stk :: STK_FLOAT32 = 0x10;
+const Stk::StkFormat Stk :: STK_FLOAT64 = 0x20;
+bool Stk :: showWarnings_ = true;
+bool Stk :: printErrors_ = true;
+std::vector<Stk *> Stk :: alertList_;
+std::ostringstream Stk :: oStream_;
+
+Stk :: Stk( void )
+  : ignoreSampleRateChange_(false)
+{
+}
+
+Stk :: ~Stk( void )
+{
+}
+
+void Stk :: setSampleRate( StkFloat rate )
+{
+  if ( rate > 0.0 && rate != srate_ ) {
+    StkFloat oldRate = srate_;
+    srate_ = rate;
+
+    for ( unsigned int i=0; i<alertList_.size(); i++ )
+      alertList_[i]->sampleRateChanged( srate_, oldRate );
+  }
+}
+
+void Stk :: sampleRateChanged( StkFloat /*newRate*/, StkFloat /*oldRate*/ )
+{
+  // This function should be reimplemented in classes that need to
+  // make internal variable adjustments in response to a global sample
+  // rate change.
+}
+
+void Stk :: addSampleRateAlert( Stk *ptr )
+{
+  for ( unsigned int i=0; i<alertList_.size(); i++ )
+    if ( alertList_[i] == ptr ) return;
+
+  alertList_.push_back( ptr );
+}
+
+void Stk :: removeSampleRateAlert( Stk *ptr )
+{
+  for ( unsigned int i=0; i<alertList_.size(); i++ ) {
+    if ( alertList_[i] == ptr ) {
+      alertList_.erase( alertList_.begin() + i );
+      return;
+    }
+  }
+}
+
+void Stk :: setRawwavePath( std::string path )
+{
+  if ( !path.empty() )
+    rawwavepath_ = path;
+
+  // Make sure the path includes a "/"
+  if ( rawwavepath_[rawwavepath_.length()-1] != '/' )
+    rawwavepath_ += "/";
+}
+
+void Stk :: swap16(unsigned char *ptr)
+{
+  unsigned char val;
+
+  // Swap 1st and 2nd bytes
+  val = *(ptr);
+  *(ptr) = *(ptr+1);
+  *(ptr+1) = val;
+}
+
+void Stk :: swap32(unsigned char *ptr)
+{
+  unsigned char val;
+
+  // Swap 1st and 4th bytes
+  val = *(ptr);
+  *(ptr) = *(ptr+3);
+  *(ptr+3) = val;
+
+  //Swap 2nd and 3rd bytes
+  ptr += 1;
+  val = *(ptr);
+  *(ptr) = *(ptr+1);
+  *(ptr+1) = val;
+}
+
+void Stk :: swap64(unsigned char *ptr)
+{
+  unsigned char val;
+
+  // Swap 1st and 8th bytes
+  val = *(ptr);
+  *(ptr) = *(ptr+7);
+  *(ptr+7) = val;
+
+  // Swap 2nd and 7th bytes
+  ptr += 1;
+  val = *(ptr);
+  *(ptr) = *(ptr+5);
+  *(ptr+5) = val;
+
+  // Swap 3rd and 6th bytes
+  ptr += 1;
+  val = *(ptr);
+  *(ptr) = *(ptr+3);
+  *(ptr+3) = val;
+
+  // Swap 4th and 5th bytes
+  ptr += 1;
+  val = *(ptr);
+  *(ptr) = *(ptr+1);
+  *(ptr+1) = val;
+}
+
+#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
+  #include <unistd.h>
+#elif defined(__OS_WINDOWS__)
+  #include <windows.h>
+#endif
+
+void Stk :: sleep(unsigned long milliseconds)
+{
+#if defined(__OS_WINDOWS__)
+  Sleep((DWORD) milliseconds);
+#elif (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
+  usleep( (unsigned long) (milliseconds * 1000.0) );
+#endif
+}
+
+void Stk :: handleError( StkError::Type type ) const
+{
+  handleError( oStream_.str(), type );
+  oStream_.str( std::string() ); // reset the ostringstream buffer
+}
+
+void Stk :: handleError( const char *message, StkError::Type type )
+{
+  std::string msg( message );
+  handleError( msg, type );
+}
+
+void Stk :: handleError( std::string message, StkError::Type type )
+{
+  if ( type == StkError::WARNING || type == StkError::STATUS ) {
+    if ( !showWarnings_ ) return;
+    std::cerr << '\n' << message << '\n' << std::endl;
+  }
+  else if (type == StkError::DEBUG_PRINT) {
+#if defined(_STK_DEBUG_)
+    std::cerr << '\n' << message << '\n' << std::endl;
+#endif
+  }
+  else {
+    if ( printErrors_ ) {
+      // Print error message before throwing.
+      std::cerr << '\n' << message << '\n' << std::endl;
+    }
+    throw StkError(message, type);
+  }
+}
+
+//
+// StkFrames definitions
+//
+
+StkFrames :: StkFrames( unsigned int nFrames, unsigned int nChannels )
+  : data_( 0 ), nFrames_( nFrames ), nChannels_( nChannels )
+{
+  size_ = nFrames_ * nChannels_;
+  bufferSize_ = size_;
+
+  if ( size_ > 0 ) {
+    data_ = (StkFloat *) calloc( size_, sizeof( StkFloat ) );
+#if defined(_STK_DEBUG_)
+    if ( data_ == NULL ) {
+      std::string error = "StkFrames: memory allocation error in constructor!";
+      Stk::handleError( error, StkError::MEMORY_ALLOCATION );
+    }
+#endif
+  }
+
+  dataRate_ = Stk::sampleRate();
+}
+
+StkFrames :: StkFrames( const StkFloat& value, unsigned int nFrames, unsigned int nChannels )
+  : data_( 0 ), nFrames_( nFrames ), nChannels_( nChannels )
+{
+  size_ = nFrames_ * nChannels_;
+  bufferSize_ = size_;
+  if ( size_ > 0 ) {
+    data_ = (StkFloat *) malloc( size_ * sizeof( StkFloat ) );
+#if defined(_STK_DEBUG_)
+    if ( data_ == NULL ) {
+      std::string error = "StkFrames: memory allocation error in constructor!";
+      Stk::handleError( error, StkError::MEMORY_ALLOCATION );
+    }
+#endif
+    for ( long i=0; i<(long)size_; i++ ) data_[i] = value;
+  }
+
+  dataRate_ = Stk::sampleRate();
+}
+
+StkFrames :: ~StkFrames()
+{
+  if ( data_ ) free( data_ );
+}
+
+StkFrames :: StkFrames( const StkFrames& f )
+  : data_(0), size_(0), bufferSize_(0)
+{
+  resize( f.frames(), f.channels() );
+  dataRate_ = Stk::sampleRate();
+  for ( unsigned int i=0; i<size_; i++ ) data_[i] = f[i];
+}
+
+StkFrames& StkFrames :: operator= ( const StkFrames& f )
+{
+  data_ = 0;
+  size_ = 0;
+  bufferSize_ = 0;
+  resize( f.frames(), f.channels() );
+  dataRate_ = Stk::sampleRate();
+  for ( unsigned int i=0; i<size_; i++ ) data_[i] = f[i];
+  return *this;
+}
+
+void StkFrames :: resize( size_t nFrames, unsigned int nChannels )
+{
+  nFrames_ = nFrames;
+  nChannels_ = nChannels;
+
+  size_ = nFrames_ * nChannels_;
+  if ( size_ > bufferSize_ ) {
+    if ( data_ ) free( data_ );
+    data_ = (StkFloat *) malloc( size_ * sizeof( StkFloat ) );
+#if defined(_STK_DEBUG_)
+    if ( data_ == NULL ) {
+      std::string error = "StkFrames::resize: memory allocation error!";
+      Stk::handleError( error, StkError::MEMORY_ALLOCATION );
+    }
+#endif
+    bufferSize_ = size_;
+  }
+}
+
+void StkFrames :: resize( size_t nFrames, unsigned int nChannels, StkFloat value )
+{
+  this->resize( nFrames, nChannels );
+
+  for ( size_t i=0; i<size_; i++ ) data_[i] = value;
+}
+
+StkFloat StkFrames :: interpolate( StkFloat frame, unsigned int channel ) const
+{
+#if defined(_STK_DEBUG_)
+  if ( frame < 0.0 || frame > (StkFloat) ( nFrames_ - 1 ) || channel >= nChannels_ ) {
+    std::ostringstream error;
+    error << "StkFrames::interpolate: invalid frame (" << frame << ") or channel (" << channel << ") value!";
+    Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
+  }
+#endif
+
+  size_t iIndex = ( size_t ) frame;                    // integer part of index
+  StkFloat output, alpha = frame - (StkFloat) iIndex;  // fractional part of index
+
+  iIndex = iIndex * nChannels_ + channel;
+  output = data_[ iIndex ];
+  if ( alpha > 0.0 )
+    output += ( alpha * ( data_[ iIndex + nChannels_ ] - output ) );
+
+  return output;
+}
+
+} // stk namespace