diff --git a/.gitignore b/.gitignore index 2c4aff5aec..56853490a9 100644 --- a/.gitignore +++ b/.gitignore @@ -21,91 +21,24 @@ contents.xcworkspacedata .DS_Store .svn profile -extras/Demo/Builds/MacOSX/build -extras/Demo/Builds/Linux/build -extras/Demo/Builds/VisualStudio2005/Debug -extras/Demo/Builds/VisualStudio2005/Release -extras/Demo/Builds/VisualStudio2008/Debug -extras/Demo/Builds/VisualStudio2008/Release -extras/Demo/Builds/VisualStudio2010/Debug -extras/Demo/Builds/VisualStudio2010/Release -extras/Demo/Builds/VisualStudio2012/Debug -extras/Demo/Builds/VisualStudio2012/Release -extras/Demo/Builds/VisualStudio2013/Debug -extras/Demo/Builds/VisualStudio2013/Release -extras/Demo/Builds/Android/bin -extras/Demo/Builds/Android/libs -extras/Demo/Builds/Android/gen -extras/Demo/Builds/Android/obj -extras/Demo/Builds/iOS/build -extras/Demo/Builds/CodeBlocks/bin -extras/Demo/Builds/CodeBlocks/obj -extras/Demo/Builds/CodeBlocks/*.depend -extras/Demo/Builds/CodeBlocks/*.layout -extras/Introjucer/Builds/MacOSX/build -extras/Introjucer/Builds/Linux/build -extras/Introjucer/Builds/VisualStudio2005/Debug -extras/Introjucer/Builds/VisualStudio2005/Release -extras/Introjucer/Builds/VisualStudio2008/Debug -extras/Introjucer/Builds/VisualStudio2008/Release -extras/Introjucer/Builds/VisualStudio2010/Debug -extras/Introjucer/Builds/VisualStudio2010/Release -extras/Introjucer/Builds/VisualStudio2012/Debug -extras/Introjucer/Builds/VisualStudio2012/Release -extras/Introjucer/Builds/VisualStudio2013/Debug -extras/Introjucer/Builds/VisualStudio2013/Release -extras/Introjucer/Builds/CodeBlocks/bin -extras/Introjucer/Builds/CodeBlocks/obj -extras/Introjucer/Builds/CodeBlocks/*.depend -extras/Introjucer/Builds/CodeBlocks/*.layout -extras/audio plugin demo/Builds/MacOSX/build -extras/audio plugin demo/Builds/Linux/build -extras/audio plugin demo/Builds/VisualStudio2005/Debug -extras/audio plugin demo/Builds/VisualStudio2005/Release -extras/audio plugin demo/Builds/VisualStudio2008/Debug -extras/audio plugin demo/Builds/VisualStudio2008/Release -extras/audio plugin demo/Builds/VisualStudio2010/Debug -extras/audio plugin demo/Builds/VisualStudio2010/Release -extras/audio plugin demo/Builds/VisualStudio2012/Debug -extras/audio plugin demo/Builds/VisualStudio2012/Release -extras/audio plugin demo/Builds/VisualStudio2013/Debug -extras/audio plugin demo/Builds/VisualStudio2013/Release -extras/audio plugin host/Builds/MacOSX/build -extras/audio plugin host/Builds/Linux/build -extras/audio plugin host/Builds/VisualStudio2005/Debug -extras/audio plugin host/Builds/VisualStudio2005/Release -extras/audio plugin host/Builds/VisualStudio2008/Debug -extras/audio plugin host/Builds/VisualStudio2008/Release -extras/audio plugin host/Builds/VisualStudio2010/Debug -extras/audio plugin host/Builds/VisualStudio2010/Release -extras/audio plugin host/Builds/VisualStudio2012/Debug -extras/audio plugin host/Builds/VisualStudio2012/Release -extras/audio plugin host/Builds/VisualStudio2013/Debug -extras/audio plugin host/Builds/VisualStudio2013/Release -extras/binarybuilder/Builds/MacOSX/build -extras/binarybuilder/Builds/Linux/build -extras/binarybuilder/Builds/VisualStudio2005/Debug -extras/binarybuilder/Builds/VisualStudio2005/Release -extras/binarybuilder/Builds/VisualStudio2008/Debug -extras/binarybuilder/Builds/VisualStudio2008/Release -extras/binarybuilder/Builds/VisualStudio2010/Debug -extras/binarybuilder/Builds/VisualStudio2010/Release -extras/binarybuilder/Builds/VisualStudio2012/Debug -extras/binarybuilder/Builds/VisualStudio2012/Release -extras/binarybuilder/Builds/VisualStudio2013/Debug -extras/binarybuilder/Builds/VisualStudio2013/Release -extras/example projects/Builds/MacOSX/build -extras/example projects/Builds/Linux/build -extras/example projects/Builds/VisualStudio2005/Debug -extras/example projects/Builds/VisualStudio2005/Release -extras/example projects/Builds/VisualStudio2008/Debug -extras/example projects/Builds/VisualStudio2008/Release -extras/example projects/Builds/VisualStudio2010/Debug -extras/example projects/Builds/VisualStudio2010/Release -extras/example projects/Builds/VisualStudio2012/Debug -extras/example projects/Builds/VisualStudio2012/Release -extras/example projects/Builds/VisualStudio2013/Debug -extras/example projects/Builds/VisualStudio2013/Release -extras/windows dll/Builds/VisualStudio2008/Debug -extras/windows dll/Builds/VisualStudio2008/Release -examples/**/*.app +**/MacOSX/build +**/iOS/build +**/Linux/build +**/VisualStudio2005/Debug +**/VisualStudio2005/Release +**/VisualStudio2008/Debug +**/VisualStudio2008/Release +**/VisualStudio2010/Debug +**/VisualStudio2010/Release +**/VisualStudio2012/Debug +**/VisualStudio2012/Release +**/VisualStudio2013/Debug +**/VisualStudio2013/Release +**/Android/bin +**/Android/libs +**/Android/gen +**/Android/obj +**/CodeBlocks/bin +**/CodeBlocks/obj +**/CodeBlocks/*.depend +**/CodeBlocks/*.layout diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h index 11b1bb8257..068b114b17 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h @@ -964,8 +964,8 @@ public: { MSVCProjectExporterBase::createExporterProperties (props); - static const char* toolsetNames[] = { "(default)", "v100", "v100_xp", "Windows7.1SDK", nullptr }; - const var toolsets[] = { var(), "v100", "v100_xp", "Windows7.1SDK" }; + static const char* toolsetNames[] = { "(default)", "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013", nullptr }; + const var toolsets[] = { var(), "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013" }; props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", StringArray (toolsetNames), diff --git a/extras/Introjucer/Source/Project/jucer_Module.cpp b/extras/Introjucer/Source/Project/jucer_Module.cpp index 1ebf1b38df..2c33ed6178 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.cpp +++ b/extras/Introjucer/Source/Project/jucer_Module.cpp @@ -467,16 +467,6 @@ static bool exporterTargetMatches (const String& test, String target) return false; } -bool LibraryModule::fileTargetMatches (ProjectExporter& exporter, const String& target) -{ - if (exporter.isXcode()) return exporterTargetMatches ("xcode", target); - if (exporter.isWindows()) return exporterTargetMatches ("msvc", target); - if (exporter.isLinux()) return exporterTargetMatches ("linux", target); - if (exporter.isAndroid()) return exporterTargetMatches ("android", target); - if (exporter.isCodeBlocks()) return exporterTargetMatches ("mingw", target); - return target.isEmpty(); -} - struct FileSorter { static int compareElements (const File& f1, const File& f2) @@ -503,6 +493,30 @@ void LibraryModule::findWildcardMatches (const File& localModuleFolder, const St result.addArray (tempList); } +static bool fileTargetMatches (ProjectExporter& exporter, const String& target) +{ + if (exporter.isXcode()) return exporterTargetMatches ("xcode", target); + if (exporter.isWindows()) return exporterTargetMatches ("msvc", target); + if (exporter.isLinux()) return exporterTargetMatches ("linux", target); + if (exporter.isAndroid()) return exporterTargetMatches ("android", target); + if (exporter.isCodeBlocks()) return exporterTargetMatches ("mingw", target); + return target.isEmpty(); +} + +static bool fileShouldBeAdded (ProjectExporter& exporter, const var& properties) +{ + if (! fileTargetMatches (exporter, properties["target"].toString())) + return false; + + if (properties["RTASOnly"] && ! shouldBuildRTAS (exporter.getProject()).getValue()) + return false; + + if (properties["AudioUnitOnly"] && ! shouldBuildAU (exporter.getProject()).getValue()) + return false; + + return true; +} + void LibraryModule::findAndAddCompiledCode (ProjectExporter& exporter, ProjectSaver& projectSaver, const File& localModuleFolder, Array& result) const { @@ -515,8 +529,7 @@ void LibraryModule::findAndAddCompiledCode (ProjectExporter& exporter, ProjectSa const var& file = files->getReference(i); const String filename (file ["file"].toString()); - if (filename.isNotEmpty() - && fileTargetMatches (exporter, file ["target"].toString())) + if (filename.isNotEmpty() && fileShouldBeAdded (exporter, file)) { const File compiledFile (localModuleFolder.getChildFile (filename)); result.add (compiledFile); diff --git a/extras/Introjucer/Source/Project/jucer_Module.h b/extras/Introjucer/Source/Project/jucer_Module.h index ba70147e93..7b72160f66 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.h +++ b/extras/Introjucer/Source/Project/jucer_Module.h @@ -103,7 +103,6 @@ private: mutable Array sourceFiles; File getModuleHeaderFile (const File& folder) const; - static bool fileTargetMatches (ProjectExporter& exporter, const String& target); void findWildcardMatches (const File& localModuleFolder, const String& wildcardPath, Array& result) const; void findAndAddCompiledCode (ProjectExporter&, ProjectSaver&, const File& localModuleFolder, Array& result) const; diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp index 5b213bba8e..41a9074f65 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp +++ b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp @@ -144,20 +144,34 @@ private: }; //============================================================================== -class LogoComponent : public Component +struct LogoComponent : public Component { -public: - LogoComponent() {} - void paint (Graphics& g) { - const Path& logo = getIcons().mainJuceLogo; - const AffineTransform trans (RectanglePlacement (RectanglePlacement::centred) - .getTransformToFit (logo.getBounds(), - getLocalBounds().toFloat())); - g.setColour (findColour (mainBackgroundColourId).contrasting (0.3f)); - g.fillPath (logo, trans); + + Rectangle r (getLocalBounds()); + + g.setFont (15.0f); + g.drawFittedText (getVersionInfo(), r.removeFromBottom (30), Justification::centred, 2); + + const Path& logo = getIcons().mainJuceLogo; + g.fillPath (logo, RectanglePlacement (RectanglePlacement::centred) + .getTransformToFit (logo.getBounds(), r.toFloat())); + } + + static String getVersionInfo() + { + const Time buildDate (Time::getCompilationDate()); + + String s; + + s << SystemStats::getJUCEVersion() << newLine + << "Introjucer built: " << buildDate.getDayOfMonth() + << " " << Time::getMonthName (buildDate.getMonth(), true) + << " " << buildDate.getYear(); + + return s; } }; diff --git a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj index b07cab5b98..640a011dfc 100644 --- a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -61,7 +61,6 @@ E01E4438B2F0F3C3CE4F5240 = {isa = PBXBuildFile; fileRef = 9C9DEB7FB75C42C4F47AF999; settings = {COMPILER_FLAGS = "-w"; }; }; 7732BED2285AE6572CC2BF11 = {isa = PBXBuildFile; fileRef = F7454AD16EE05969CCF5FD7C; settings = {COMPILER_FLAGS = "-w"; }; }; C99CF7958D391CB2F97CC5F8 = {isa = PBXBuildFile; fileRef = 2D4B766DA1C66FA2857D80F7; settings = {COMPILER_FLAGS = "-w"; }; }; - 1F20808BDEB51EAFFA12781B = {isa = PBXBuildFile; fileRef = 0444196DEC527454F5783BAD; }; 60CA6D3CBBC03A25C7B86C35 = {isa = PBXBuildFile; fileRef = 3755479207D218969425F91F; }; 0AA1C3259E16BA80C124622D = {isa = PBXBuildFile; fileRef = 1D4AFBEC703C6F373B292D9A; settings = {COMPILER_FLAGS = "-w"; }; }; 6AAB8C946DA0E3E1B96EEF7E = {isa = PBXBuildFile; fileRef = 1E496F7BF3B3C59E5ECACCDE; }; @@ -82,7 +81,6 @@ 0294A7C8FF1EB1FF9E2D96AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 029A39CA475ED19FDBF0724F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 036748C1D26A3D752C189108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0444196DEC527454F5783BAD = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_RTAS_MacResources.r"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r"; sourceTree = "SOURCE_ROOT"; }; 04555664F9106966CC7A7C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 047015CE891900C7636A08D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 04F7098D328A593B1EC368F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -2065,7 +2063,6 @@ 9C9DEB7FB75C42C4F47AF999, F7454AD16EE05969CCF5FD7C, 2D4B766DA1C66FA2857D80F7, - 0444196DEC527454F5783BAD, 3755479207D218969425F91F, 1D4AFBEC703C6F373B292D9A, 1E496F7BF3B3C59E5ECACCDE, @@ -2194,8 +2191,7 @@ 0D832C784AB07BFDE57BCB92 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( B003460B11C0B7C1CC07E666, ); runOnlyForDeploymentPostprocessing = 0; }; D95827C1509280C88845BCB4 = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - BF6B9A47774C03C34559CAFE, - 1F20808BDEB51EAFFA12781B, ); runOnlyForDeploymentPostprocessing = 0; }; + BF6B9A47774C03C34559CAFE, ); runOnlyForDeploymentPostprocessing = 0; }; E032EB514708440DE9B7FF2A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 8265E59547F2C5DDD10F58BF, E32999B782F688D3746FEB08, diff --git a/modules/juce_audio_formats/sampler/juce_Sampler.cpp b/modules/juce_audio_formats/sampler/juce_Sampler.cpp index 4e7583e0a6..d2f1ace736 100644 --- a/modules/juce_audio_formats/sampler/juce_Sampler.cpp +++ b/modules/juce_audio_formats/sampler/juce_Sampler.cpp @@ -119,7 +119,7 @@ void SamplerVoice::startNote (const int midiNoteNumber, if (sound->releaseSamples > 0) releaseDelta = (float) (-pitchRatio / sound->releaseSamples); else - releaseDelta = 0.0f; + releaseDelta = -1.0f; } else { diff --git a/modules/juce_audio_plugin_client/juce_module_info b/modules/juce_audio_plugin_client/juce_module_info index e72373d154..775e9eaba5 100644 --- a/modules/juce_audio_plugin_client/juce_module_info +++ b/modules/juce_audio_plugin_client/juce_module_info @@ -19,12 +19,12 @@ { "file": "RTAS/juce_RTAS_DigiCode1.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, { "file": "RTAS/juce_RTAS_DigiCode2.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, { "file": "RTAS/juce_RTAS_DigiCode3.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "RTAS/juce_RTAS_MacResources.r", "target": "xcode" }, + { "file": "RTAS/juce_RTAS_MacResources.r", "target": "xcode", "RTASOnly": "1" }, { "file": "RTAS/juce_RTAS_MacUtilities.mm", "target": "xcode" }, { "file": "RTAS/juce_RTAS_WinResources.rsr", "target": "msvc" }, { "file": "RTAS/juce_RTAS_WinUtilities.cpp", "target": "msvc", "warnings": "disabled", "stdcall": "1" }, { "file": "RTAS/juce_RTAS_Wrapper.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "AU/juce_AU_Resources.r", "target": "xcode" }, + { "file": "AU/juce_AU_Resources.r", "target": "xcode", "AudioUnitOnly": "1" }, { "file": "AU/juce_AU_Wrapper.mm", "target": "xcode" }, { "file": "AAX/juce_AAX_Wrapper.cpp", "target": "xcode, msvc" }, { "file": "AAX/juce_AAX_Wrapper.mm", "target": "xcode" },