Merge remote-tracking branch 'upstream/develop' into develop
2
.gitignore
vendored
|
|
@ -48,6 +48,7 @@ profile
|
|||
**/Builds/Android/local.properties
|
||||
**/Builds/Android/app/build
|
||||
**/Builds/Android/app/.externalNativeBuild
|
||||
**/Builds/Android/app/.cxx
|
||||
**/Builds/Android/lib/build
|
||||
**/Builds/Android/lib/.externalNativeBuild
|
||||
**/Builds/CLion/cmake-build-*
|
||||
|
|
@ -56,4 +57,5 @@ profile
|
|||
**/Builds/MacOSX/**/Intermediates.noindex
|
||||
**/doxygen/doc
|
||||
**/doxygen/build
|
||||
**/.idea
|
||||
extras/Projucer/JUCECompileEngine.dylib
|
||||
|
|
|
|||
|
|
@ -4,6 +4,55 @@ JUCE breaking changes
|
|||
Develop
|
||||
=======
|
||||
|
||||
Change
|
||||
------
|
||||
The Windows DPI handling in the VST wrapper and hosting code has been
|
||||
refactored to be more stable.
|
||||
|
||||
Possible Issues
|
||||
---------------
|
||||
The new code uses a top-level AffineTransform to scale the JUCE editor window
|
||||
instead of native methods. Therefore any AudioProcessorEditors which have their
|
||||
own AffineTransform applied will no longer work correctly.
|
||||
|
||||
Workaround
|
||||
----------
|
||||
If you are using an AffineTransform to scale the entire plug-in window then
|
||||
consider using Desktop::setGlobalScaleFactor() instead, or, for applying other
|
||||
transforms, consider putting the component you want to transform in a child of
|
||||
the editor and transform that instead.
|
||||
|
||||
Rationale
|
||||
---------
|
||||
The old code had some bugs when using OpenGL and when moving between monitors
|
||||
with different scale factors. The new code should fix these and DPI-aware
|
||||
plug-ins will scale correctly.
|
||||
|
||||
|
||||
Change
|
||||
------
|
||||
Relative Xcode subproject paths specified in the Projucer are now relative to
|
||||
the build directory rather than the project directory.
|
||||
|
||||
Possible Issues
|
||||
---------------
|
||||
After being re-saved in the Projucer existing Xcode projects will fail to find
|
||||
any subprojects specified using a relative path.
|
||||
|
||||
Workaround
|
||||
----------
|
||||
Update the subproject path in the Projucer.
|
||||
|
||||
Rationale
|
||||
---------
|
||||
Most other Xcode specific paths are specified reltive to the build directory.
|
||||
This change brings the Xcode subproject path in line with the rest of the
|
||||
configuration.
|
||||
|
||||
|
||||
Version 5.4.6
|
||||
=============
|
||||
|
||||
Change
|
||||
------
|
||||
AudioProcessorValueTreeState::getRawParameterValue now returns a
|
||||
|
|
@ -78,6 +127,28 @@ state.
|
|||
Version 5.4.5
|
||||
=============
|
||||
|
||||
Change
|
||||
------
|
||||
The alignment of text rendered on macOS using CoreGraphics may have shifted
|
||||
slightly, depending on the font you have used. The default macOS font has
|
||||
shifted downwards.
|
||||
|
||||
Possible Issues
|
||||
---------------
|
||||
Meticulously aligned text components of a GUI may now be misaligned.
|
||||
|
||||
Workaround
|
||||
----------
|
||||
Use a custom LookAndFeel to change the location where text is drawn, or use a
|
||||
different font that matches the previous alignment of your original font.
|
||||
|
||||
Rationale
|
||||
---------
|
||||
This was an unintentional change resulting from moving away from a deprecated
|
||||
macOS text API. The new alignment is consistent with other rendering engines
|
||||
(web browsers and text editors) and the software renderer.
|
||||
|
||||
|
||||
Change
|
||||
------
|
||||
The JUCEApplicationBase::backButtonPressed() method now returns a bool to
|
||||
|
|
|
|||
|
|
@ -3,6 +3,23 @@
|
|||
This file just lists the more notable headline features. For more detailed info
|
||||
about minor changes and bugfixes, please see the git log!
|
||||
|
||||
Version 5.4.7
|
||||
- Fixed a macOS focus bug causing Components to not receive mouse events
|
||||
- Fixed a potential NullPointerException in the Android IAP code
|
||||
- Fixed an entitlements file generation bug in the Projucer
|
||||
- Send VST2 audioMasterUpdateDisplay opcode on the message thread to fix some hosts not updating
|
||||
- Fixed some build errors and warnings when using Clang on Windows
|
||||
- Changed the default architecture specified in Linux Makefiles generated by the Projucer
|
||||
|
||||
Version 5.4.6
|
||||
- Fixed compatibility with macOS versions below 10.11
|
||||
- Multiple thread safety improvements
|
||||
- Added dynamic parameter and parameter group names
|
||||
- Updated to the latest Android In-App Purchases API
|
||||
- Improvements to the Windows message queue under high load
|
||||
- Replaced WaitableEvent internals with std::condition_variable
|
||||
- Fixed some macOS text alignment issues
|
||||
|
||||
Version 5.4.5
|
||||
- Improved message queue performance on Linux
|
||||
- Added missing lifecycle callbacks on Android Q
|
||||
|
|
|
|||
|
|
@ -1056,25 +1056,6 @@ USE_HTAGS = NO
|
|||
|
||||
VERBATIM_HEADERS = NO
|
||||
|
||||
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
|
||||
# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
|
||||
# cost of reduced performance. This can be particularly helpful with template
|
||||
# rich C++ code for which doxygen's built-in parser lacks the necessary type
|
||||
# information.
|
||||
# Note: The availability of this option depends on whether or not doxygen was
|
||||
# compiled with the --with-libclang option.
|
||||
# The default value is: NO.
|
||||
|
||||
CLANG_ASSISTED_PARSING = NO
|
||||
|
||||
# If clang assisted parsing is enabled you can provide the compiler with command
|
||||
# line options that you would normally use when invoking the compiler. Note that
|
||||
# the include paths will already be set by doxygen for the files and directories
|
||||
# specified with INPUT and INCLUDE_PATH.
|
||||
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
|
||||
|
||||
CLANG_OPTIONS =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
@ -2166,12 +2147,6 @@ EXTERNAL_GROUPS = YES
|
|||
|
||||
EXTERNAL_PAGES = YES
|
||||
|
||||
# The PERL_PATH should be the absolute path and name of the perl script
|
||||
# interpreter (i.e. the result of 'which perl').
|
||||
# The default file (with absolute path) is: /usr/bin/perl.
|
||||
|
||||
PERL_PATH = /usr/bin/perl
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
@ -2185,15 +2160,6 @@ PERL_PATH = /usr/bin/perl
|
|||
|
||||
CLASS_DIAGRAMS = YES
|
||||
|
||||
# You can define message sequence charts within doxygen comments using the \msc
|
||||
# command. Doxygen will then run the mscgen tool (see:
|
||||
# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
|
||||
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
|
||||
# the mscgen tool resides. If left empty the tool is assumed to be found in the
|
||||
# default search path.
|
||||
|
||||
MSCGEN_PATH =
|
||||
|
||||
# You can include diagrams made with dia in doxygen documentation. Doxygen will
|
||||
# then run dia to produce the diagram and insert it in the documentation. The
|
||||
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
|
||||
|
|
|
|||
|
|
@ -166,6 +166,9 @@ public:
|
|||
m_body->ApplyTorque(-50.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
|
||||
#ifndef PIP_DEMO_UTILITIES_INCLUDED
|
||||
#define PIP_DEMO_UTILITIES_INCLUDED 1
|
||||
|
|
@ -74,11 +74,11 @@ inline File getExamplesDirectory() noexcept
|
|||
#endif
|
||||
}
|
||||
|
||||
inline InputStream* createAssetInputStream (const char* resourcePath)
|
||||
inline std::unique_ptr<InputStream> createAssetInputStream (const char* resourcePath)
|
||||
{
|
||||
#if JUCE_ANDROID
|
||||
ZipFile apkZip (File::getSpecialLocation (File::invokedExecutableFile));
|
||||
return apkZip.createStreamForEntry (apkZip.getIndexOfFileName ("assets/" + String (resourcePath)));
|
||||
return std::unique_ptr<InputStream> (apkZip.createStreamForEntry (apkZip.getIndexOfFileName ("assets/" + String (resourcePath))));
|
||||
#else
|
||||
#if JUCE_IOS
|
||||
auto assetsDir = File::getSpecialLocation (File::currentExecutableFile)
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ private:
|
|||
{
|
||||
recorder.stop();
|
||||
|
||||
#if (JUCE_ANDROID || JUCE_IOS)
|
||||
#if JUCE_CONTENT_SHARING
|
||||
SafePointer<AudioRecordingDemo> safeThis (this);
|
||||
File fileToShare = lastRecording;
|
||||
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ struct SynthAudioSource : public AudioSource
|
|||
{
|
||||
WavAudioFormat wavFormat;
|
||||
|
||||
std::unique_ptr<AudioFormatReader> audioReader (wavFormat.createReaderFor (createAssetInputStream ("cello.wav"), true));
|
||||
std::unique_ptr<AudioFormatReader> audioReader (wavFormat.createReaderFor (createAssetInputStream ("cello.wav").release(), true));
|
||||
|
||||
BigInteger allNotes;
|
||||
allNotes.setRange (0, 128, true);
|
||||
|
|
|
|||
|
|
@ -511,14 +511,14 @@ private:
|
|||
{
|
||||
if (currentMode == canvas)
|
||||
{
|
||||
block.setProgram (new BitmapLEDProgram (block));
|
||||
block.setProgram (std::make_unique<BitmapLEDProgram>(block));
|
||||
|
||||
// Redraw any previously drawn LEDs
|
||||
redrawLEDs();
|
||||
}
|
||||
else if (currentMode == colourPalette)
|
||||
{
|
||||
block.setProgram (new DrumPadGridProgram (block));
|
||||
block.setProgram (std::make_unique <DrumPadGridProgram>(block));
|
||||
|
||||
// Setup the grid layout
|
||||
if (auto* program = getPaletteProgram())
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public:
|
|||
|
||||
// If this is a Lightpad then set the grid program to be blank
|
||||
if (block->getLEDGrid() != nullptr)
|
||||
block->setProgram (new BitmapLEDProgram (*block));
|
||||
block->setProgram (std::make_unique<BitmapLEDProgram>(*block));
|
||||
|
||||
// If this is a Lightpad then redraw it at 25Hz
|
||||
if (block->getType() == Block::lightPadBlock)
|
||||
|
|
@ -175,7 +175,11 @@ public:
|
|||
return { static_cast<float> (port.index), static_cast<float> (block->getHeight()) };
|
||||
case e::west:
|
||||
return { 0.0f, static_cast<float> (port.index) };
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 90:
|
||||
{
|
||||
|
|
@ -189,7 +193,11 @@ public:
|
|||
return { static_cast<float> (0.0f - block->getHeight()), static_cast<float> (port.index) };
|
||||
case e::west:
|
||||
return { static_cast<float> (-1.0f - port.index), 0.0f };
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 180:
|
||||
{
|
||||
|
|
@ -203,7 +211,11 @@ public:
|
|||
return { static_cast<float> (-1.0f - port.index), static_cast<float> (0.0f - block->getHeight()) };
|
||||
case e::west:
|
||||
return { 0.0f, static_cast<float> (-1.0f - port.index) };
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 270:
|
||||
{
|
||||
|
|
@ -217,8 +229,15 @@ public:
|
|||
return { static_cast<float> (block->getHeight()), static_cast<float> (-1.0f - port.index) };
|
||||
case e::west:
|
||||
return { static_cast<float> (port.index), 0.0f };
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return {};
|
||||
|
|
@ -626,7 +645,7 @@ public:
|
|||
auto numBlockComponents = blockComponents.size();
|
||||
|
||||
// If there are no currently connected Blocks then display some text on the screen
|
||||
if (numBlockComponents == 0)
|
||||
if (masterBlockComponent == nullptr || numBlockComponents == 0)
|
||||
{
|
||||
noBlocksLabel.setVisible (true);
|
||||
noBlocksLabel.setBounds (0, (getHeight() / 2) - 50, getWidth(), 100);
|
||||
|
|
@ -776,6 +795,9 @@ private:
|
|||
/** Calculates the position and rotation of each connected Block relative to the master Block */
|
||||
void positionBlocks (BlockTopology topology)
|
||||
{
|
||||
if (masterBlockComponent == nullptr)
|
||||
return;
|
||||
|
||||
Array<BlockComponent*> blocksConnectedToMaster;
|
||||
|
||||
auto maxDelta = std::numeric_limits<float>::max();
|
||||
|
|
@ -921,7 +943,11 @@ private:
|
|||
return 90;
|
||||
case edge::west:
|
||||
return 270;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case edge::south:
|
||||
{
|
||||
|
|
@ -935,7 +961,11 @@ private:
|
|||
return 270;
|
||||
case edge::west:
|
||||
return 90;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case edge::east:
|
||||
{
|
||||
|
|
@ -949,7 +979,11 @@ private:
|
|||
return 180;
|
||||
case edge::west:
|
||||
return 0;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case edge::west:
|
||||
|
|
@ -964,8 +998,15 @@ private:
|
|||
return 0;
|
||||
case edge::west:
|
||||
return 180;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
if (squareWaveY[x - 1] == 1)
|
||||
if (x > 0 && squareWaveY[x - 1] == 1)
|
||||
squareWaveY[x - 1] = 255;
|
||||
|
||||
squareWaveY[x] = 13;
|
||||
|
|
@ -643,7 +643,7 @@ public:
|
|||
detachActiveBlock();
|
||||
|
||||
// Get the array of currently connected Block objects from the PhysicalTopologySource
|
||||
auto blocks = topologySource.getCurrentTopology().blocks;
|
||||
auto blocks = topologySource.getBlocks();
|
||||
|
||||
// Iterate over the array of Block objects
|
||||
for (auto b : blocks)
|
||||
|
|
@ -785,7 +785,7 @@ private:
|
|||
if (currentMode == waveformSelectionMode)
|
||||
{
|
||||
// Set the LEDGrid program
|
||||
block.setProgram (new WaveshapeProgram (block));
|
||||
block.setProgram (std::make_unique<WaveshapeProgram>(block));
|
||||
|
||||
// Initialise the program
|
||||
if (auto* waveshapeProgram = getWaveshapeProgram())
|
||||
|
|
@ -797,7 +797,7 @@ private:
|
|||
else if (currentMode == playMode)
|
||||
{
|
||||
// Set the LEDGrid program
|
||||
auto error = block.setProgram (new DrumPadGridProgram (block));
|
||||
auto error = block.setProgram (std::make_unique<DrumPadGridProgram>(block));
|
||||
|
||||
if (error.failed())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -90,8 +90,7 @@ struct ConvolutionDemoDSP
|
|||
auto selectedType = cabinetTypeParameter->getCurrentSelectedID();
|
||||
auto assetName = (selectedType == 2 ? "guitar_amp.wav" : "cassette_recorder.wav");
|
||||
|
||||
std::unique_ptr<InputStream> assetInputStream (createAssetInputStream (assetName));
|
||||
if (assetInputStream != nullptr)
|
||||
if (auto assetInputStream = createAssetInputStream (assetName))
|
||||
{
|
||||
currentCabinetData.reset();
|
||||
assetInputStream->readIntoMemoryBlock (currentCabinetData);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ SET(BINARY_NAME "juce_jni")
|
|||
add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
|
||||
|
||||
add_definitions("-DJUCE_ANDROID=1" "-DJUCE_ANDROID_API_VERSION=23" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY=\"com/roli/juce/JuceActivity\"" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=5.4.5" "-DJUCE_APP_VERSION_HEX=0x50405")
|
||||
add_definitions("-DJUCE_ANDROID=1" "-DJUCE_ANDROID_API_VERSION=23" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY=\"com/roli/juce/JuceActivity\"" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=5.4.7" "-DJUCE_APP_VERSION_HEX=0x50407")
|
||||
|
||||
include_directories( AFTER
|
||||
"../../../JuceLibraryCode"
|
||||
|
|
@ -138,6 +138,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"
|
||||
"../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_HighPerformanceAudioHelpers.h"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"
|
||||
|
|
@ -729,8 +730,6 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_core/misc/juce_Result.h"
|
||||
"../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"
|
||||
"../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h"
|
||||
"../../../../../modules/juce_core/misc/juce_Uuid.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_Uuid.h"
|
||||
"../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"
|
||||
|
|
@ -975,6 +974,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_dsp/processors/juce_Oversampling.h"
|
||||
"../../../../../modules/juce_dsp/processors/juce_ProcessContext.h"
|
||||
"../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h"
|
||||
"../../../../../modules/juce_dsp/processors/juce_ProcessorChain_test.cpp"
|
||||
"../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h"
|
||||
"../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h"
|
||||
"../../../../../modules/juce_dsp/processors/juce_Reverb.h"
|
||||
|
|
@ -1744,6 +1744,7 @@ set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/j
|
|||
set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_HighPerformanceAudioHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
|
@ -2335,8 +2336,6 @@ set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.c
|
|||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
|
@ -2581,6 +2580,7 @@ set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Ove
|
|||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oversampling.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessContext.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorChain_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ android {
|
|||
}
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0 -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers", "-DCMAKE_C_FLAGS_DEBUG=-O0"
|
||||
arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0 -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum", "-DCMAKE_C_FLAGS_DEBUG=-O0"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ android {
|
|||
release_ {
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3 -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers", "-DCMAKE_C_FLAGS_RELEASE=-O3"
|
||||
arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3 -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum", "-DCMAKE_C_FLAGS_RELEASE=-O3"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -86,7 +86,6 @@ android {
|
|||
main.java.srcDirs +=
|
||||
["../../../../../modules/juce_core/native/javacore/init",
|
||||
"../../../../../modules/juce_core/native/javacore/app",
|
||||
"../../../../../modules/juce_gui_basics/native/javacore/app",
|
||||
"../../../../../modules/juce_gui_basics/native/javaopt/app"]
|
||||
|
||||
main.res.srcDirs +=
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="5.4.5"
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="5.4.7"
|
||||
package="com.juce.demorunner">
|
||||
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
|
||||
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"
|
||||
android:xlargeScreens="true"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
|
|
@ -22,6 +23,6 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
<provider android:name="com.roli.juce.JuceSharingContentProvider" android:authorities="com.juce.demorunner.sharingcontentprovider"
|
||||
android:grantUriPermissions="true" android:exported="false"/>
|
||||
android:grantUriPermissions="true" android:exported="true"/>
|
||||
</application>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -166,6 +166,9 @@ public:
|
|||
m_body->ApplyTorque(-50.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
|
||||
#ifndef PIP_DEMO_UTILITIES_INCLUDED
|
||||
#define PIP_DEMO_UTILITIES_INCLUDED 1
|
||||
|
|
@ -74,11 +74,11 @@ inline File getExamplesDirectory() noexcept
|
|||
#endif
|
||||
}
|
||||
|
||||
inline InputStream* createAssetInputStream (const char* resourcePath)
|
||||
inline std::unique_ptr<InputStream> createAssetInputStream (const char* resourcePath)
|
||||
{
|
||||
#if JUCE_ANDROID
|
||||
ZipFile apkZip (File::getSpecialLocation (File::invokedExecutableFile));
|
||||
return apkZip.createStreamForEntry (apkZip.getIndexOfFileName ("assets/" + String (resourcePath)));
|
||||
return std::unique_ptr<InputStream> (apkZip.createStreamForEntry (apkZip.getIndexOfFileName ("assets/" + String (resourcePath))));
|
||||
#else
|
||||
#if JUCE_IOS
|
||||
auto assetsDir = File::getSpecialLocation (File::currentExecutableFile)
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 42 KiB |
|
|
@ -32,16 +32,16 @@ ifeq ($(CONFIG),Debug)
|
|||
JUCE_OUTDIR := build
|
||||
|
||||
ifeq ($(TARGET_ARCH),)
|
||||
TARGET_ARCH := -march=native
|
||||
TARGET_ARCH :=
|
||||
endif
|
||||
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell pkg-config --cflags alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
|
||||
JUCE_TARGET_APP := DemoRunner
|
||||
|
||||
JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS)
|
||||
JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS)
|
||||
JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lrt -ldl -lpthread -lGL $(LDFLAGS)
|
||||
JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lrt -ldl -lpthread -lGL $(LDFLAGS)
|
||||
|
||||
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
|
||||
endif
|
||||
|
|
@ -53,10 +53,10 @@ ifeq ($(CONFIG),Release)
|
|||
JUCE_OUTDIR := build
|
||||
|
||||
ifeq ($(TARGET_ARCH),)
|
||||
TARGET_ARCH := -march=native
|
||||
TARGET_ARCH :=
|
||||
endif
|
||||
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell pkg-config --cflags alsa x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
|
||||
JUCE_TARGET_APP := DemoRunner
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<?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>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -303,13 +303,6 @@
|
|||
path = ../../Source/Main.cpp;
|
||||
sourceTree = "SOURCE_ROOT";
|
||||
};
|
||||
2CDA0CB288452DA016E874BC = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = text.plist.xml;
|
||||
name = App.entitlements;
|
||||
path = App.entitlements;
|
||||
sourceTree = "SOURCE_ROOT";
|
||||
};
|
||||
346450C70C964FD9640B6086 = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = file;
|
||||
|
|
@ -941,8 +934,8 @@
|
|||
"JUCE_DEMO_RUNNER=1",
|
||||
"JUCE_UNIT_TESTS=1",
|
||||
"JUCER_XCODE_MAC_F6D2F4CF=1",
|
||||
"JUCE_APP_VERSION=5.4.5",
|
||||
"JUCE_APP_VERSION_HEX=0x50405",
|
||||
"JUCE_APP_VERSION=5.4.7",
|
||||
"JUCE_APP_VERSION_HEX=0x50407",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -962,7 +955,7 @@
|
|||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.juce.demorunner;
|
||||
PRODUCT_NAME = "DemoRunner";
|
||||
USE_HEADERMAP = NO;
|
||||
|
|
@ -987,8 +980,8 @@
|
|||
"JUCE_DEMO_RUNNER=1",
|
||||
"JUCE_UNIT_TESTS=1",
|
||||
"JUCER_XCODE_MAC_F6D2F4CF=1",
|
||||
"JUCE_APP_VERSION=5.4.5",
|
||||
"JUCE_APP_VERSION_HEX=0x50405",
|
||||
"JUCE_APP_VERSION=5.4.7",
|
||||
"JUCE_APP_VERSION_HEX=0x50407",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -998,7 +991,6 @@
|
|||
"JucePlugin_Build_Standalone=0",
|
||||
"JucePlugin_Build_Unity=0",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"../../JuceLibraryCode",
|
||||
|
|
@ -1010,7 +1002,7 @@
|
|||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LLVM_LTO = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.juce.demorunner;
|
||||
PRODUCT_NAME = "DemoRunner";
|
||||
USE_HEADERMAP = NO;
|
||||
|
|
@ -1042,11 +1034,12 @@
|
|||
CODE_SIGN_IDENTITY = "";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_TESTABILITY = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
|
||||
|
|
@ -1090,10 +1083,12 @@
|
|||
CODE_SIGN_IDENTITY = "";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.4.5</string>
|
||||
<string>5.4.7</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>5.4.5</string>
|
||||
<string>5.4.7</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) 2018 - ROLI Ltd.</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -965,9 +965,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1292,6 +1289,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2307,6 +2307,7 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiDevices.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>
|
||||
|
|
@ -2644,7 +2645,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_ConsoleApplication.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Result.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>
|
||||
|
|
|
|||
|
|
@ -1396,9 +1396,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1747,6 +1744,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2988,6 +2988,9 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\midi_io</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3999,9 +4002,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
|
@ -1,3 +1,5 @@
|
|||
#pragma code_page(65001)
|
||||
|
||||
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||
#include JUCE_USER_DEFINED_RC_FILE
|
||||
#else
|
||||
|
|
@ -7,7 +9,7 @@
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 5,4,5,0
|
||||
FILEVERSION 5,4,7,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
|
|
@ -16,9 +18,9 @@ BEGIN
|
|||
VALUE "CompanyName", "ROLI Ltd.\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "5.4.5\0"
|
||||
VALUE "FileVersion", "5.4.7\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "5.4.5\0"
|
||||
VALUE "ProductVersion", "5.4.7\0"
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -965,9 +965,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1292,6 +1289,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2307,6 +2307,7 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiDevices.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>
|
||||
|
|
@ -2644,7 +2645,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_ConsoleApplication.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Result.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>
|
||||
|
|
|
|||
|
|
@ -1396,9 +1396,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1747,6 +1744,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2988,6 +2988,9 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\midi_io</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3999,9 +4002,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
|
@ -1,3 +1,5 @@
|
|||
#pragma code_page(65001)
|
||||
|
||||
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||
#include JUCE_USER_DEFINED_RC_FILE
|
||||
#else
|
||||
|
|
@ -7,7 +9,7 @@
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 5,4,5,0
|
||||
FILEVERSION 5,4,7,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
|
|
@ -16,9 +18,9 @@ BEGIN
|
|||
VALUE "CompanyName", "ROLI Ltd.\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "5.4.5\0"
|
||||
VALUE "FileVersion", "5.4.7\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "5.4.5\0"
|
||||
VALUE "ProductVersion", "5.4.7\0"
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=5.4.5;JUCE_APP_VERSION_HEX=0x50405;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=5.4.7;JUCE_APP_VERSION_HEX=0x50407;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
|
|
@ -965,9 +965,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1292,6 +1289,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2307,6 +2307,7 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiDevices.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>
|
||||
|
|
@ -2644,7 +2645,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_ConsoleApplication.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Result.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>
|
||||
|
|
|
|||
|
|
@ -1396,9 +1396,6 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1747,6 +1744,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_Oversampling.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\processors\juce_ProcessorChain_test.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp\processors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_dsp\juce_dsp.cpp">
|
||||
<Filter>JUCE Modules\juce_dsp</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2988,6 +2988,9 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\midi_io</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_android_HighPerformanceAudioHelpers.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.h">
|
||||
<Filter>JUCE Modules\juce_audio_devices\native</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3999,9 +4002,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_StdFunctionCompat.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_core\misc\juce_Uuid.h">
|
||||
<Filter>JUCE Modules\juce_core\misc</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
|
@ -1,3 +1,5 @@
|
|||
#pragma code_page(65001)
|
||||
|
||||
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||
#include JUCE_USER_DEFINED_RC_FILE
|
||||
#else
|
||||
|
|
@ -7,7 +9,7 @@
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 5,4,5,0
|
||||
FILEVERSION 5,4,7,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
|
|
@ -16,9 +18,9 @@ BEGIN
|
|||
VALUE "CompanyName", "ROLI Ltd.\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "5.4.5\0"
|
||||
VALUE "FileVersion", "5.4.7\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "5.4.5\0"
|
||||
VALUE "ProductVersion", "5.4.7\0"
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
|||
|
|
@ -919,8 +919,8 @@
|
|||
"JUCE_DEMO_RUNNER=1",
|
||||
"JUCE_UNIT_TESTS=1",
|
||||
"JUCER_XCODE_IPHONE_5BC26AE3=1",
|
||||
"JUCE_APP_VERSION=5.4.5",
|
||||
"JUCE_APP_VERSION_HEX=0x50405",
|
||||
"JUCE_APP_VERSION=5.4.7",
|
||||
"JUCE_APP_VERSION_HEX=0x50407",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -939,7 +939,7 @@
|
|||
INFOPLIST_FILE = Info-App.plist;
|
||||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.juce.demorunner;
|
||||
PRODUCT_NAME = "DemoRunner";
|
||||
USE_HEADERMAP = NO;
|
||||
|
|
@ -966,8 +966,8 @@
|
|||
"JUCE_DEMO_RUNNER=1",
|
||||
"JUCE_UNIT_TESTS=1",
|
||||
"JUCER_XCODE_IPHONE_5BC26AE3=1",
|
||||
"JUCE_APP_VERSION=5.4.5",
|
||||
"JUCE_APP_VERSION_HEX=0x50405",
|
||||
"JUCE_APP_VERSION=5.4.7",
|
||||
"JUCE_APP_VERSION_HEX=0x50407",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -977,7 +977,6 @@
|
|||
"JucePlugin_Build_Standalone=0",
|
||||
"JucePlugin_Build_Unity=0",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"../../JuceLibraryCode",
|
||||
|
|
@ -988,7 +987,7 @@
|
|||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LLVM_LTO = YES;
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.juce.demorunner;
|
||||
PRODUCT_NAME = "DemoRunner";
|
||||
USE_HEADERMAP = NO;
|
||||
|
|
@ -1020,11 +1019,12 @@
|
|||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_TESTABILITY = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
|
||||
|
|
@ -1070,10 +1070,12 @@
|
|||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 912 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 12 KiB |
|
|
@ -30,9 +30,9 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.4.5</string>
|
||||
<string>5.4.7</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>5.4.5</string>
|
||||
<string>5.4.7</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) 2018 - ROLI Ltd.</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<JUCERPROJECT name="DemoRunner" projectType="guiapp" jucerVersion="5.4.5" defines="JUCE_DEMO_RUNNER=1 JUCE_UNIT_TESTS=1"
|
||||
bundleIdentifier="com.juce.demorunner" version="5.4.5" companyName="ROLI Ltd."
|
||||
<JUCERPROJECT name="DemoRunner" projectType="guiapp" jucerVersion="5.4.7" defines="JUCE_DEMO_RUNNER=1 JUCE_UNIT_TESTS=1"
|
||||
bundleIdentifier="com.juce.demorunner" version="5.4.7" companyName="ROLI Ltd."
|
||||
companyCopyright="Copyright (c) 2018 - ROLI Ltd." companyWebsite="https://www.juce.com/"
|
||||
companyEmail="info@juce.com" id="yj7xMM" reportAppUsage="1">
|
||||
companyEmail="info@juce.com" id="yj7xMM" reportAppUsage="0">
|
||||
<MAINGROUP id="G8kbr7" name="DemoRunner">
|
||||
<GROUP id="{20E3F84A-29E9-D5FF-4559-1A9E4A70CD60}" name="Source">
|
||||
<GROUP id="{272A692A-6AFE-68BD-C8E8-63B3D62245B1}" name="Demos">
|
||||
|
|
|
|||
|
|
@ -40,14 +40,14 @@
|
|||
#endif
|
||||
|
||||
#ifndef JUCE_REPORT_APP_USAGE
|
||||
#define JUCE_REPORT_APP_USAGE 1
|
||||
#define JUCE_REPORT_APP_USAGE 0
|
||||
#endif
|
||||
|
||||
// END SECTION A
|
||||
|
||||
#define JUCE_USE_DARK_SPLASH_SCREEN 1
|
||||
|
||||
#define JUCE_PROJUCER_VERSION 0x50405
|
||||
#define JUCE_PROJUCER_VERSION 0x50407
|
||||
|
||||
//==============================================================================
|
||||
#define JUCE_MODULE_AVAILABLE_juce_analytics 1
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ namespace ProjectInfo
|
|||
{
|
||||
const char* const projectName = "DemoRunner";
|
||||
const char* const companyName = "ROLI Ltd.";
|
||||
const char* const versionString = "5.4.5";
|
||||
const int versionNumber = 0x50405;
|
||||
const char* const versionString = "5.4.7";
|
||||
const int versionNumber = 0x50407;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../../../Assets/DemoUtilities.h"
|
||||
#include "JUCEDemos.h"
|
||||
|
||||
|
|
@ -41,26 +41,23 @@
|
|||
#include "../../../Audio/MidiDemo.h"
|
||||
#include "../../../Audio/MPEDemo.h"
|
||||
#include "../../../Audio/PluckedStringsDemo.h"
|
||||
#include "../../../Audio/SimpleFFTDemo.h"
|
||||
|
||||
#if JUCE_HAS_CONSTEXPR
|
||||
#include "../../../Audio/SimpleFFTDemo.h"
|
||||
#include "../../../BLOCKS/BlocksDrawingDemo.h"
|
||||
#include "../../../BLOCKS/BlocksMonitorDemo.h"
|
||||
#include "../../../BLOCKS/BlocksSynthDemo.h"
|
||||
#include "../../../BLOCKS/BlocksDrawingDemo.h"
|
||||
#include "../../../BLOCKS/BlocksMonitorDemo.h"
|
||||
#include "../../../BLOCKS/BlocksSynthDemo.h"
|
||||
|
||||
|
||||
#include "../../../DSP/ConvolutionDemo.h"
|
||||
#include "../../../DSP/FIRFilterDemo.h"
|
||||
#include "../../../DSP/GainDemo.h"
|
||||
#include "../../../DSP/IIRFilterDemo.h"
|
||||
#include "../../../DSP/OscillatorDemo.h"
|
||||
#include "../../../DSP/OverdriveDemo.h"
|
||||
#if JUCE_USE_SIMD
|
||||
#include "../../../DSP/SIMDRegisterDemo.h"
|
||||
#endif
|
||||
#include "../../../DSP/StateVariableFilterDemo.h"
|
||||
#include "../../../DSP/WaveShaperTanhDemo.h"
|
||||
#include "../../../DSP/ConvolutionDemo.h"
|
||||
#include "../../../DSP/FIRFilterDemo.h"
|
||||
#include "../../../DSP/GainDemo.h"
|
||||
#include "../../../DSP/IIRFilterDemo.h"
|
||||
#include "../../../DSP/OscillatorDemo.h"
|
||||
#include "../../../DSP/OverdriveDemo.h"
|
||||
#if JUCE_USE_SIMD
|
||||
#include "../../../DSP/SIMDRegisterDemo.h"
|
||||
#endif
|
||||
#include "../../../DSP/StateVariableFilterDemo.h"
|
||||
#include "../../../DSP/WaveShaperTanhDemo.h"
|
||||
|
||||
#include "../../../Utilities/Box2DDemo.h"
|
||||
#if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX
|
||||
|
|
@ -90,7 +87,6 @@ void registerDemos_One() noexcept
|
|||
REGISTER_DEMO (MPEDemo, Audio, false)
|
||||
REGISTER_DEMO (PluckedStringsDemo, Audio, false)
|
||||
|
||||
#if JUCE_HAS_CONSTEXPR
|
||||
REGISTER_DEMO (SimpleFFTDemo, Audio, false)
|
||||
REGISTER_DEMO (BlocksDrawingDemo, BLOCKS, false)
|
||||
REGISTER_DEMO (BlocksMonitorDemo, BLOCKS, false)
|
||||
|
|
@ -107,7 +103,6 @@ void registerDemos_One() noexcept
|
|||
#endif
|
||||
REGISTER_DEMO (StateVariableFilterDemo, DSP, false)
|
||||
REGISTER_DEMO (WaveShaperTanhDemo, DSP, false)
|
||||
#endif
|
||||
|
||||
REGISTER_DEMO (Box2DDemo, Utilities, false)
|
||||
#if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../../../Assets/DemoUtilities.h"
|
||||
#include "JUCEDemos.h"
|
||||
|
||||
|
|
@ -46,9 +46,7 @@
|
|||
#include "../../../GUI/FlexBoxDemo.h"
|
||||
#include "../../../GUI/FontsDemo.h"
|
||||
#include "../../../GUI/GraphicsDemo.h"
|
||||
#if JUCE_HAS_CONSTEXPR
|
||||
#include "../../../GUI/GridDemo.h"
|
||||
#endif
|
||||
#include "../../../GUI/GridDemo.h"
|
||||
#include "../../../GUI/ImagesDemo.h"
|
||||
#include "../../../GUI/KeyMappingsDemo.h"
|
||||
#include "../../../GUI/LookAndFeelDemo.h"
|
||||
|
|
@ -85,9 +83,7 @@ void registerDemos_Two() noexcept
|
|||
REGISTER_DEMO (FlexBoxDemo, GUI, false)
|
||||
REGISTER_DEMO (FontsDemo, GUI, false)
|
||||
REGISTER_DEMO (GraphicsDemo, GUI, false)
|
||||
#if JUCE_HAS_CONSTEXPR
|
||||
REGISTER_DEMO (GridDemo, GUI, false)
|
||||
#endif
|
||||
REGISTER_DEMO (ImagesDemo, GUI, false)
|
||||
REGISTER_DEMO (KeyMappingsDemo, GUI, false)
|
||||
REGISTER_DEMO (LookAndFeelDemo, GUI, false)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../../../Assets/DemoUtilities.h"
|
||||
#include "JUCEDemos.h"
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 42 KiB |
|
|
@ -24,7 +24,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../../Assets/DemoUtilities.h"
|
||||
|
||||
#include "UI/MainComponent.h"
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ struct CodeContent : public Component
|
|||
//==============================================================================
|
||||
DemoContentComponent::DemoContentComponent (Component& mainComponent, std::function<void(bool)> callback)
|
||||
: TabbedComponent (TabbedButtonBar::Orientation::TabsAtTop),
|
||||
demoChangedCallback (callback)
|
||||
demoChangedCallback (std::move (callback))
|
||||
{
|
||||
demoContent.reset (new DemoContent());
|
||||
addTab ("Demo", Colours::transparentBlack, demoContent.get(), false);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../Demos/JUCEDemos.h"
|
||||
|
||||
struct DemoContent;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "DemoContentComponent.h"
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -303,7 +303,7 @@ private:
|
|||
snapshotButton.setEnabled (true);
|
||||
#endif
|
||||
|
||||
#if JUCE_ANDROID || JUCE_IOS
|
||||
#if JUCE_CONTENT_SHARING
|
||||
URL url (recordingFile);
|
||||
|
||||
snapshotButton .setEnabled (false);
|
||||
|
|
@ -337,7 +337,7 @@ private:
|
|||
|
||||
lastSnapshot.setImage (image);
|
||||
|
||||
#if JUCE_ANDROID || JUCE_IOS
|
||||
#if JUCE_CONTENT_SHARING
|
||||
auto imageFile = File::getSpecialLocation (File::tempDirectory).getNonexistentChildFile ("JuceCameraPhotoDemo", ".jpg");
|
||||
|
||||
FileOutputStream stream (imageFile);
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ public:
|
|||
StringArray windowNames { "Plain Alert Window", "Alert Window With Warning Icon", "Alert Window With Info Icon", "Alert Window With Question Icon",
|
||||
"OK Cancel Alert Window", "Alert Window With Extra Components", "CalloutBox", "Thread With Progress Window",
|
||||
"'Load' File Browser", "'Load' File Browser With Image Preview", "'Choose Directory' File Browser", "'Save' File Browser",
|
||||
"Share Text", "Share Files", "Share Images" };
|
||||
"Share Text", "Share Files", "Share Images" };
|
||||
|
||||
// warn in case we add any windows
|
||||
jassert (windowNames.size() == numDialogs);
|
||||
|
|
@ -219,13 +219,9 @@ private:
|
|||
{
|
||||
AlertWindow::AlertIconType icon = AlertWindow::NoIcon;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case warningAlertWindow: icon = AlertWindow::WarningIcon; break;
|
||||
case infoAlertWindow: icon = AlertWindow::InfoIcon; break;
|
||||
case questionAlertWindow: icon = AlertWindow::QuestionIcon; break;
|
||||
default: break;
|
||||
}
|
||||
if (type == warningAlertWindow) icon = AlertWindow::WarningIcon;
|
||||
if (type == infoAlertWindow) icon = AlertWindow::InfoIcon;
|
||||
if (type == questionAlertWindow) icon = AlertWindow::QuestionIcon;
|
||||
|
||||
AlertWindow::showMessageBoxAsync (icon, "This is an AlertWindow",
|
||||
"And this is the AlertWindow's message. Blah blah blah blah blah blah blah blah blah blah blah blah blah.",
|
||||
|
|
@ -339,7 +335,7 @@ private:
|
|||
FileOutputStream outStream (fileToSave);
|
||||
|
||||
if (outStream.openedOk())
|
||||
if (auto inStream = std::unique_ptr<InputStream> (createAssetInputStream ("juce_icon.png")))
|
||||
if (auto inStream = createAssetInputStream ("juce_icon.png"))
|
||||
outStream.writeFromInputStream (*inStream, -1);
|
||||
}
|
||||
|
||||
|
|
@ -419,7 +415,7 @@ private:
|
|||
fileToSave.replaceWithText ("Make it fast!");
|
||||
|
||||
Array<URL> urls;
|
||||
urls.add ({ fileToSave.getFullPathName() });
|
||||
urls.add (URL (fileToSave));
|
||||
|
||||
ContentSharer::getInstance()->shareFiles (urls,
|
||||
[] (bool success, const String& error)
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ struct DemoFlexPanel : public juce::Component
|
|||
case 3: flexItem.alignSelf = FlexItem::AlignSelf::flexEnd; break;
|
||||
case 4: flexItem.alignSelf = FlexItem::AlignSelf::center; break;
|
||||
case 5: flexItem.alignSelf = FlexItem::AlignSelf::stretch; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
refreshLayout();
|
||||
|
|
|
|||
|
|
@ -489,7 +489,7 @@ public:
|
|||
{
|
||||
lastSVGLoadTime = Time::getCurrentTime();
|
||||
|
||||
ZipFile icons (createAssetInputStream ("icons.zip"), true);
|
||||
ZipFile icons (createAssetInputStream ("icons.zip").release(), true);
|
||||
|
||||
// Load a random SVG file from our embedded icons.zip file.
|
||||
const std::unique_ptr<InputStream> svgFileStream (icons.createStreamForEntry (Random::getSystemRandom().nextInt (icons.getNumEntries())));
|
||||
|
|
|
|||
|
|
@ -667,7 +667,7 @@ private:
|
|||
if (iconsFromZipFile.size() == 0)
|
||||
{
|
||||
// If we've not already done so, load all the images from the zip file..
|
||||
ZipFile icons (createAssetInputStream ("icons.zip"), true);
|
||||
ZipFile icons (createAssetInputStream ("icons.zip").release(), true);
|
||||
|
||||
for (int i = 0; i < icons.getNumEntries(); ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -180,9 +180,9 @@ class AUv3SynthEditor : public AudioProcessorEditor,
|
|||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
AUv3SynthEditor (AudioProcessor& processor)
|
||||
: AudioProcessorEditor (processor),
|
||||
roomSizeSlider (Slider::LinearHorizontal, Slider::NoTextBox)
|
||||
AUv3SynthEditor (AudioProcessor& processorIn)
|
||||
: AudioProcessorEditor (processorIn),
|
||||
roomSizeSlider (Slider::LinearHorizontal, Slider::NoTextBox)
|
||||
{
|
||||
LookAndFeel::setDefaultLookAndFeel (&materialLookAndFeel);
|
||||
|
||||
|
|
@ -195,10 +195,8 @@ public:
|
|||
roomSizeSlider.setRange (0.0, 1.0);
|
||||
addAndMakeVisible (roomSizeSlider);
|
||||
|
||||
if (auto* assetStream = createAssetInputStream ("proaudio.path"))
|
||||
if (auto fileStream = createAssetInputStream ("proaudio.path"))
|
||||
{
|
||||
std::unique_ptr<InputStream> fileStream (assetStream);
|
||||
|
||||
Path proAudioPath;
|
||||
proAudioPath.loadPathFromStream (*fileStream);
|
||||
proAudioIcon.setPath (proAudioPath);
|
||||
|
|
@ -411,13 +409,13 @@ private:
|
|||
//==============================================================================
|
||||
void loadNewSampleBinary (const void* data, int dataSize, const char* format)
|
||||
{
|
||||
auto* soundBuffer = new MemoryInputStream (data, static_cast<std::size_t> (dataSize), false);
|
||||
loadNewSample (soundBuffer, format);
|
||||
auto soundBuffer = std::make_unique<MemoryInputStream> (data, static_cast<std::size_t> (dataSize), false);
|
||||
loadNewSample (std::move (soundBuffer), format);
|
||||
}
|
||||
|
||||
void loadNewSample (InputStream* soundBuffer, const char* format)
|
||||
void loadNewSample (std::unique_ptr<InputStream> soundBuffer, const char* format)
|
||||
{
|
||||
std::unique_ptr<AudioFormatReader> formatReader (formatManager.findFormatForFileExtension (format)->createReaderFor (soundBuffer, true));
|
||||
std::unique_ptr<AudioFormatReader> formatReader (formatManager.findFormatForFileExtension (format)->createReaderFor (soundBuffer.release(), true));
|
||||
|
||||
BigInteger midiNotes;
|
||||
midiNotes.setRange (0, 126, true);
|
||||
|
|
|
|||
|
|
@ -61,8 +61,6 @@ public:
|
|||
addParameter (speed = new AudioParameterFloat ("speed", "Arpeggiator Speed", 0.0, 1.0, 0.5));
|
||||
}
|
||||
|
||||
~Arpeggiator() {}
|
||||
|
||||
//==============================================================================
|
||||
void prepareToPlay (double sampleRate, int samplesPerBlock) override
|
||||
{
|
||||
|
|
|
|||
|
|
@ -177,9 +177,9 @@ public:
|
|||
//==============================================================================
|
||||
JuceDemoPluginAudioProcessor()
|
||||
: AudioProcessor (getBusesProperties()),
|
||||
state (*this, nullptr, "state",
|
||||
{ std::make_unique<AudioParameterFloat> ("gain", "Gain", NormalisableRange<float> (0.0f, 1.0f), 0.9f),
|
||||
std::make_unique<AudioParameterFloat> ("delay", "Delay Feedback", NormalisableRange<float> (0.0f, 1.0f), 0.5f) })
|
||||
state (*this, nullptr, "state",
|
||||
{ std::make_unique<AudioParameterFloat> ("gain", "Gain", NormalisableRange<float> (0.0f, 1.0f), 0.9f),
|
||||
std::make_unique<AudioParameterFloat> ("delay", "Delay Feedback", NormalisableRange<float> (0.0f, 1.0f), 0.5f) })
|
||||
{
|
||||
lastPosInfo.resetToDefault();
|
||||
|
||||
|
|
@ -302,10 +302,22 @@ public:
|
|||
//==============================================================================
|
||||
void updateTrackProperties (const TrackProperties& properties) override
|
||||
{
|
||||
trackProperties = properties;
|
||||
{
|
||||
const ScopedLock sl (trackPropertiesLock);
|
||||
trackProperties = properties;
|
||||
}
|
||||
|
||||
if (auto* editor = dynamic_cast<JuceDemoPluginAudioProcessorEditor*> (getActiveEditor()))
|
||||
editor->updateTrackProperties ();
|
||||
MessageManager::callAsync ([this]
|
||||
{
|
||||
if (auto* editor = dynamic_cast<JuceDemoPluginAudioProcessorEditor*> (getActiveEditor()))
|
||||
editor->updateTrackProperties();
|
||||
});
|
||||
}
|
||||
|
||||
TrackProperties getTrackProperties() const
|
||||
{
|
||||
const ScopedLock sl (trackPropertiesLock);
|
||||
return trackProperties;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -324,9 +336,6 @@ public:
|
|||
// Our plug-in's current state
|
||||
AudioProcessorValueTreeState state;
|
||||
|
||||
// Current track colour and name
|
||||
TrackProperties trackProperties;
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
/** This is the editor component that our filter will display. */
|
||||
|
|
@ -430,7 +439,7 @@ private:
|
|||
|
||||
void updateTrackProperties()
|
||||
{
|
||||
auto trackColour = getProcessor().trackProperties.colour;
|
||||
auto trackColour = getProcessor().getTrackProperties().colour;
|
||||
auto& lf = getLookAndFeel();
|
||||
|
||||
backgroundColour = (trackColour == Colour() ? lf.findColour (ResizableWindow::backgroundColourId)
|
||||
|
|
@ -592,6 +601,9 @@ private:
|
|||
|
||||
Synthesiser synth;
|
||||
|
||||
CriticalSection trackPropertiesLock;
|
||||
TrackProperties trackProperties;
|
||||
|
||||
void initialiseSynth()
|
||||
{
|
||||
auto numVoices = 8;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
juce_audio_plugin_client, juce_audio_processors,
|
||||
juce_audio_utils, juce_core, juce_data_structures, juce_dsp,
|
||||
juce_events, juce_graphics, juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2019
|
||||
exporters: xcode_mac, vs2019, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
@ -127,8 +127,6 @@ public:
|
|||
cabinetType.set (0);
|
||||
}
|
||||
|
||||
~DspModulePluginDemoAudioProcessor() {}
|
||||
|
||||
//==============================================================================
|
||||
bool isBusesLayoutSupported (const BusesLayout& layouts) const override
|
||||
{
|
||||
|
|
@ -274,9 +272,7 @@ public:
|
|||
auto maxSize = static_cast<size_t> (roundToInt (getSampleRate() * (8192.0 / 44100.0)));
|
||||
auto assetName = (type == 0 ? "Impulse1.wav" : "Impulse2.wav");
|
||||
|
||||
std::unique_ptr<InputStream> assetInputStream (createAssetInputStream (assetName));
|
||||
|
||||
if (assetInputStream != nullptr)
|
||||
if (auto assetInputStream = createAssetInputStream (assetName))
|
||||
{
|
||||
currentCabinetData.reset();
|
||||
assetInputStream->readIntoMemoryBlock (currentCabinetData);
|
||||
|
|
@ -317,21 +313,21 @@ private:
|
|||
//==============================================================================
|
||||
DspModulePluginDemoAudioProcessorEditor (DspModulePluginDemoAudioProcessor& p)
|
||||
: AudioProcessorEditor (&p),
|
||||
processor (p),
|
||||
inputVolumeLabel ({}, processor.inputVolumeParam->name),
|
||||
outputVolumeLabel ({}, processor.outputVolumeParam->name),
|
||||
lowPassFilterFreqLabel ({}, processor.lowPassFilterFreqParam->name),
|
||||
highPassFilterFreqLabel ({}, processor.highPassFilterFreqParam->name),
|
||||
stereoLabel ({}, processor.stereoParam->name),
|
||||
slopeLabel ({}, processor.slopeParam->name),
|
||||
waveshaperLabel ({}, processor.waveshaperParam->name),
|
||||
cabinetTypeLabel ({}, processor.cabinetTypeParam->name)
|
||||
dspProcessor (p),
|
||||
inputVolumeLabel ({}, dspProcessor.inputVolumeParam->name),
|
||||
outputVolumeLabel ({}, dspProcessor.outputVolumeParam->name),
|
||||
lowPassFilterFreqLabel ({}, dspProcessor.lowPassFilterFreqParam->name),
|
||||
highPassFilterFreqLabel ({}, dspProcessor.highPassFilterFreqParam->name),
|
||||
stereoLabel ({}, dspProcessor.stereoParam->name),
|
||||
slopeLabel ({}, dspProcessor.slopeParam->name),
|
||||
waveshaperLabel ({}, dspProcessor.waveshaperParam->name),
|
||||
cabinetTypeLabel ({}, dspProcessor.cabinetTypeParam->name)
|
||||
{
|
||||
//==============================================================================
|
||||
inputVolumeSlider .reset (new ParameterSlider (*processor.inputVolumeParam));
|
||||
outputVolumeSlider .reset (new ParameterSlider (*processor.outputVolumeParam));
|
||||
lowPassFilterFreqSlider .reset (new ParameterSlider (*processor.lowPassFilterFreqParam));
|
||||
highPassFilterFreqSlider.reset (new ParameterSlider (*processor.highPassFilterFreqParam));
|
||||
inputVolumeSlider .reset (new ParameterSlider (*dspProcessor.inputVolumeParam));
|
||||
outputVolumeSlider .reset (new ParameterSlider (*dspProcessor.outputVolumeParam));
|
||||
lowPassFilterFreqSlider .reset (new ParameterSlider (*dspProcessor.lowPassFilterFreqParam));
|
||||
highPassFilterFreqSlider.reset (new ParameterSlider (*dspProcessor.highPassFilterFreqParam));
|
||||
|
||||
addAndMakeVisible (inputVolumeSlider .get());
|
||||
addAndMakeVisible (outputVolumeSlider .get());
|
||||
|
|
@ -358,11 +354,11 @@ private:
|
|||
addAndMakeVisible (stereoBox);
|
||||
|
||||
auto i = 1;
|
||||
for (auto choice : processor.stereoParam->choices)
|
||||
for (auto choice : dspProcessor.stereoParam->choices)
|
||||
stereoBox.addItem (choice, i++);
|
||||
|
||||
stereoBox.onChange = [this] { processor.stereoParam->operator= (stereoBox.getSelectedItemIndex()); };
|
||||
stereoBox.setSelectedId (processor.stereoParam->getIndex() + 1);
|
||||
stereoBox.onChange = [this] { dspProcessor.stereoParam->operator= (stereoBox.getSelectedItemIndex()); };
|
||||
stereoBox.setSelectedId (dspProcessor.stereoParam->getIndex() + 1);
|
||||
|
||||
addAndMakeVisible (stereoLabel);
|
||||
stereoLabel.setJustificationType (Justification::centredLeft);
|
||||
|
|
@ -372,11 +368,11 @@ private:
|
|||
addAndMakeVisible(slopeBox);
|
||||
|
||||
i = 1;
|
||||
for (auto choice : processor.slopeParam->choices)
|
||||
for (auto choice : dspProcessor.slopeParam->choices)
|
||||
slopeBox.addItem(choice, i++);
|
||||
|
||||
slopeBox.onChange = [this] { processor.slopeParam->operator= (slopeBox.getSelectedItemIndex()); };
|
||||
slopeBox.setSelectedId(processor.slopeParam->getIndex() + 1);
|
||||
slopeBox.onChange = [this] { dspProcessor.slopeParam->operator= (slopeBox.getSelectedItemIndex()); };
|
||||
slopeBox.setSelectedId(dspProcessor.slopeParam->getIndex() + 1);
|
||||
|
||||
addAndMakeVisible(slopeLabel);
|
||||
slopeLabel.setJustificationType(Justification::centredLeft);
|
||||
|
|
@ -386,11 +382,11 @@ private:
|
|||
addAndMakeVisible (waveshaperBox);
|
||||
|
||||
i = 1;
|
||||
for (auto choice : processor.waveshaperParam->choices)
|
||||
for (auto choice : dspProcessor.waveshaperParam->choices)
|
||||
waveshaperBox.addItem (choice, i++);
|
||||
|
||||
waveshaperBox.onChange = [this] { processor.waveshaperParam->operator= (waveshaperBox.getSelectedItemIndex()); };
|
||||
waveshaperBox.setSelectedId (processor.waveshaperParam->getIndex() + 1);
|
||||
waveshaperBox.onChange = [this] { dspProcessor.waveshaperParam->operator= (waveshaperBox.getSelectedItemIndex()); };
|
||||
waveshaperBox.setSelectedId (dspProcessor.waveshaperParam->getIndex() + 1);
|
||||
|
||||
addAndMakeVisible (waveshaperLabel);
|
||||
waveshaperLabel.setJustificationType (Justification::centredLeft);
|
||||
|
|
@ -400,11 +396,11 @@ private:
|
|||
addAndMakeVisible (cabinetTypeBox);
|
||||
|
||||
i = 1;
|
||||
for (auto choice : processor.cabinetTypeParam->choices)
|
||||
for (auto choice : dspProcessor.cabinetTypeParam->choices)
|
||||
cabinetTypeBox.addItem (choice, i++);
|
||||
|
||||
cabinetTypeBox.onChange = [this] { processor.cabinetTypeParam->operator= (cabinetTypeBox.getSelectedItemIndex()); };
|
||||
cabinetTypeBox.setSelectedId (processor.cabinetTypeParam->getIndex() + 1);
|
||||
cabinetTypeBox.onChange = [this] { dspProcessor.cabinetTypeParam->operator= (cabinetTypeBox.getSelectedItemIndex()); };
|
||||
cabinetTypeBox.setSelectedId (dspProcessor.cabinetTypeParam->getIndex() + 1);
|
||||
|
||||
addAndMakeVisible (cabinetTypeLabel);
|
||||
cabinetTypeLabel.setJustificationType (Justification::centredLeft);
|
||||
|
|
@ -412,21 +408,19 @@ private:
|
|||
|
||||
//==============================================================================
|
||||
addAndMakeVisible (cabinetSimButton);
|
||||
cabinetSimButton.onClick = [this] { processor.cabinetSimParam->operator= (cabinetSimButton.getToggleState()); };
|
||||
cabinetSimButton.setButtonText (processor.cabinetSimParam->name);
|
||||
cabinetSimButton.setToggleState (processor.cabinetSimParam->get(), NotificationType::dontSendNotification);
|
||||
cabinetSimButton.onClick = [this] { dspProcessor.cabinetSimParam->operator= (cabinetSimButton.getToggleState()); };
|
||||
cabinetSimButton.setButtonText (dspProcessor.cabinetSimParam->name);
|
||||
cabinetSimButton.setToggleState (dspProcessor.cabinetSimParam->get(), NotificationType::dontSendNotification);
|
||||
|
||||
addAndMakeVisible (oversamplingButton);
|
||||
oversamplingButton.onClick = [this] { processor.oversamplingParam->operator= (oversamplingButton.getToggleState()); };
|
||||
oversamplingButton.setButtonText (processor.oversamplingParam->name);
|
||||
oversamplingButton.setToggleState (processor.oversamplingParam->get(), NotificationType::dontSendNotification);
|
||||
oversamplingButton.onClick = [this] { dspProcessor.oversamplingParam->operator= (oversamplingButton.getToggleState()); };
|
||||
oversamplingButton.setButtonText (dspProcessor.oversamplingParam->name);
|
||||
oversamplingButton.setToggleState (dspProcessor.oversamplingParam->get(), NotificationType::dontSendNotification);
|
||||
|
||||
//==============================================================================
|
||||
setSize (600, 400);
|
||||
}
|
||||
|
||||
~DspModulePluginDemoAudioProcessorEditor() {}
|
||||
|
||||
//==============================================================================
|
||||
void paint (Graphics& g) override
|
||||
{
|
||||
|
|
@ -479,7 +473,7 @@ private:
|
|||
|
||||
private:
|
||||
//==============================================================================
|
||||
DspModulePluginDemoAudioProcessor& processor;
|
||||
DspModulePluginDemoAudioProcessor& dspProcessor;
|
||||
|
||||
std::unique_ptr<ParameterSlider> inputVolumeSlider, outputVolumeSlider,
|
||||
lowPassFilterFreqSlider, highPassFilterFreqSlider;
|
||||
|
|
|
|||
|
|
@ -62,8 +62,6 @@ public:
|
|||
addParameter (gain = new AudioParameterFloat ("gain", "Gain", 0.0f, 1.0f, 0.5f));
|
||||
}
|
||||
|
||||
~GainProcessor() {}
|
||||
|
||||
//==============================================================================
|
||||
void prepareToPlay (double, int) override {}
|
||||
void releaseResources() override {}
|
||||
|
|
|
|||
|
|
@ -157,8 +157,6 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~IAAEffectProcessor() {}
|
||||
|
||||
//==============================================================================
|
||||
void prepareToPlay (double, int) override
|
||||
{
|
||||
|
|
@ -284,11 +282,11 @@ private:
|
|||
IAAEffectEditor (IAAEffectProcessor& p,
|
||||
AudioProcessorValueTreeState& vts)
|
||||
: AudioProcessorEditor (p),
|
||||
processor (p),
|
||||
iaaEffectProcessor (p),
|
||||
parameters (vts)
|
||||
{
|
||||
// Register for meter value updates.
|
||||
processor.addMeterListener (*this);
|
||||
iaaEffectProcessor.addMeterListener (*this);
|
||||
|
||||
gainSlider.setSliderStyle (Slider::SliderStyle::LinearVertical);
|
||||
gainSlider.setTextBoxStyle (Slider::TextEntryBoxPosition::TextBoxAbove, false, 60, 20);
|
||||
|
|
@ -310,7 +308,7 @@ private:
|
|||
rewindButton.onClick = [this]
|
||||
{
|
||||
if (transportControllable())
|
||||
processor.getPlayHead()->transportRewind();
|
||||
iaaEffectProcessor.getPlayHead()->transportRewind();
|
||||
};
|
||||
addChildComponent (rewindButton);
|
||||
|
||||
|
|
@ -320,7 +318,7 @@ private:
|
|||
playButton.onClick = [this]
|
||||
{
|
||||
if (transportControllable())
|
||||
processor.getPlayHead()->transportPlay (! lastPosInfo.isPlaying);
|
||||
iaaEffectProcessor.getPlayHead()->transportPlay (! lastPosInfo.isPlaying);
|
||||
};
|
||||
addChildComponent (playButton);
|
||||
|
||||
|
|
@ -330,7 +328,7 @@ private:
|
|||
recordButton.onClick = [this]
|
||||
{
|
||||
if (transportControllable())
|
||||
processor.getPlayHead()->transportRecord (! lastPosInfo.isRecording);
|
||||
iaaEffectProcessor.getPlayHead()->transportRecord (! lastPosInfo.isRecording);
|
||||
};
|
||||
addChildComponent (recordButton);
|
||||
|
||||
|
|
@ -359,9 +357,9 @@ private:
|
|||
startTimerHz (60);
|
||||
}
|
||||
|
||||
~IAAEffectEditor()
|
||||
~IAAEffectEditor() override
|
||||
{
|
||||
processor.removeMeterListener (*this);
|
||||
iaaEffectProcessor.removeMeterListener (*this);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -411,7 +409,7 @@ private:
|
|||
//==============================================================================
|
||||
void timerCallback () override
|
||||
{
|
||||
auto timeInfoSuccess = processor.updateCurrentTimeInfoFromHost (lastPosInfo);
|
||||
auto timeInfoSuccess = iaaEffectProcessor.updateCurrentTimeInfoFromHost (lastPosInfo);
|
||||
transportText.setVisible (timeInfoSuccess);
|
||||
|
||||
if (timeInfoSuccess)
|
||||
|
|
@ -425,7 +423,7 @@ private:
|
|||
//==============================================================================
|
||||
bool transportControllable()
|
||||
{
|
||||
auto playHead = processor.getPlayHead();
|
||||
auto playHead = iaaEffectProcessor.getPlayHead();
|
||||
return playHead != nullptr && playHead->canControlTransport();
|
||||
}
|
||||
|
||||
|
|
@ -481,8 +479,8 @@ private:
|
|||
|
||||
void updateTransportButtonsDisplay()
|
||||
{
|
||||
auto visible = processor.getPlayHead() != nullptr
|
||||
&& processor.getPlayHead()->canControlTransport();
|
||||
auto visible = iaaEffectProcessor.getPlayHead() != nullptr
|
||||
&& iaaEffectProcessor.getPlayHead()->canControlTransport();
|
||||
|
||||
if (rewindButton.isVisible() != visible)
|
||||
{
|
||||
|
|
@ -524,7 +522,7 @@ private:
|
|||
}
|
||||
}
|
||||
|
||||
IAAEffectProcessor& processor;
|
||||
IAAEffectProcessor& iaaEffectProcessor;
|
||||
AudioProcessorValueTreeState& parameters;
|
||||
|
||||
const int buttonSize = 30;
|
||||
|
|
@ -549,7 +547,6 @@ private:
|
|||
//==============================================================================
|
||||
AudioProcessorValueTreeState parameters;
|
||||
float previousGain = 0.0f;
|
||||
std::array<float, 2> meterValues = { { 0, 0 } };
|
||||
|
||||
// This keeps a copy of the last set of timing info that was acquired during an
|
||||
// audio callback - the UI component will display this.
|
||||
|
|
|
|||
|
|
@ -94,8 +94,6 @@ public:
|
|||
loadNewSample (createAssetInputStream ("singing.ogg"), "ogg");
|
||||
}
|
||||
|
||||
~MultiOutSynth() {}
|
||||
|
||||
//==============================================================================
|
||||
bool canAddBus (bool isInput) const override { return (! isInput && getBusCount (false) < maxMidiChannel); }
|
||||
bool canRemoveBus (bool isInput) const override { return (! isInput && getBusCount (false) > 1); }
|
||||
|
|
@ -157,9 +155,9 @@ private:
|
|||
return output;
|
||||
}
|
||||
|
||||
void loadNewSample (InputStream* soundBuffer, const char* format)
|
||||
void loadNewSample (std::unique_ptr<InputStream> soundBuffer, const char* format)
|
||||
{
|
||||
std::unique_ptr<AudioFormatReader> formatReader (formatManager.findFormatForFileExtension (format)->createReaderFor (soundBuffer, true));
|
||||
std::unique_ptr<AudioFormatReader> formatReader (formatManager.findFormatForFileExtension (format)->createReaderFor (soundBuffer.release(), true));
|
||||
|
||||
BigInteger midiNotes;
|
||||
midiNotes.setRange (0, 126, true);
|
||||
|
|
|
|||
|
|
@ -63,8 +63,6 @@ public:
|
|||
addParameter (alpha = new AudioParameterFloat ("alpha", "Alpha", 0.0f, 1.0f, 0.8f));
|
||||
}
|
||||
|
||||
~NoiseGate() {}
|
||||
|
||||
//==============================================================================
|
||||
bool isBusesLayoutSupported (const BusesLayout& layouts) const override
|
||||
{
|
||||
|
|
|
|||
|
|
@ -492,9 +492,9 @@ inline std::unique_ptr<AudioFormatReader> makeAudioFormatReader (AudioFormatMana
|
|||
const void* sampleData,
|
||||
size_t dataSize)
|
||||
{
|
||||
return std::unique_ptr<AudioFormatReader> (manager.createReaderFor (new MemoryInputStream (sampleData,
|
||||
dataSize,
|
||||
false)));
|
||||
return std::unique_ptr<AudioFormatReader> (manager.createReaderFor (std::make_unique<MemoryInputStream> (sampleData,
|
||||
dataSize,
|
||||
false)));
|
||||
}
|
||||
|
||||
inline std::unique_ptr<AudioFormatReader> makeAudioFormatReader (AudioFormatManager& manager,
|
||||
|
|
@ -516,9 +516,9 @@ public:
|
|||
class MemoryAudioFormatReaderFactory : public AudioFormatReaderFactory
|
||||
{
|
||||
public:
|
||||
MemoryAudioFormatReaderFactory (const void* sampleData, size_t dataSize)
|
||||
: sampleData (sampleData),
|
||||
dataSize (dataSize)
|
||||
MemoryAudioFormatReaderFactory (const void* sampleDataIn, size_t dataSizeIn)
|
||||
: sampleData (sampleDataIn),
|
||||
dataSize (dataSizeIn)
|
||||
{}
|
||||
|
||||
std::unique_ptr<AudioFormatReader> make (AudioFormatManager&manager ) const override
|
||||
|
|
@ -540,8 +540,8 @@ private:
|
|||
class FileAudioFormatReaderFactory : public AudioFormatReaderFactory
|
||||
{
|
||||
public:
|
||||
explicit FileAudioFormatReaderFactory (File file)
|
||||
: file (std::move (file))
|
||||
explicit FileAudioFormatReaderFactory (File fileIn)
|
||||
: file (std::move (fileIn))
|
||||
{}
|
||||
|
||||
std::unique_ptr<AudioFormatReader> make (AudioFormatManager& manager) const override
|
||||
|
|
@ -925,12 +925,12 @@ public:
|
|||
virtual void loopPointsSecondsChanged (Range<double>) {}
|
||||
};
|
||||
|
||||
explicit DataModel (AudioFormatManager& audioFormatManager)
|
||||
: DataModel (audioFormatManager, ValueTree (IDs::DATA_MODEL))
|
||||
explicit DataModel (AudioFormatManager& audioFormatManagerIn)
|
||||
: DataModel (audioFormatManagerIn, ValueTree (IDs::DATA_MODEL))
|
||||
{}
|
||||
|
||||
DataModel (AudioFormatManager& audioFormatManager, const ValueTree& vt)
|
||||
: audioFormatManager (&audioFormatManager),
|
||||
DataModel (AudioFormatManager& audioFormatManagerIn, const ValueTree& vt)
|
||||
: audioFormatManager (&audioFormatManagerIn),
|
||||
valueTree (vt),
|
||||
sampleReader (valueTree, IDs::sampleReader, nullptr),
|
||||
centreFrequencyHz (valueTree, IDs::centreFrequencyHz, nullptr),
|
||||
|
|
@ -1415,13 +1415,13 @@ public:
|
|||
using MouseCallback = std::function<void (LoopPointMarker&, const MouseEvent&)>;
|
||||
|
||||
LoopPointMarker (String marker,
|
||||
MouseCallback onMouseDown,
|
||||
MouseCallback onMouseDrag,
|
||||
MouseCallback onMouseUp)
|
||||
MouseCallback onMouseDownIn,
|
||||
MouseCallback onMouseDragIn,
|
||||
MouseCallback onMouseUpIn)
|
||||
: text (std::move (marker)),
|
||||
onMouseDown (move (onMouseDown)),
|
||||
onMouseDrag (move (onMouseDrag)),
|
||||
onMouseUp (move (onMouseUp))
|
||||
onMouseDown (std::move (onMouseDownIn)),
|
||||
onMouseDrag (std::move (onMouseDragIn)),
|
||||
onMouseUp (std::move (onMouseUpIn))
|
||||
{
|
||||
setMouseCursor (MouseCursor::LeftRightResizeCursor);
|
||||
}
|
||||
|
|
@ -1585,7 +1585,7 @@ class LoopPointsOverlay : public Component,
|
|||
public:
|
||||
LoopPointsOverlay (const DataModel& dModel,
|
||||
const VisibleRangeDataModel& vModel,
|
||||
UndoManager& undoManager)
|
||||
UndoManager& undoManagerIn)
|
||||
: dataModel (dModel),
|
||||
visibleRange (vModel),
|
||||
beginMarker ("B",
|
||||
|
|
@ -1596,7 +1596,7 @@ public:
|
|||
[this] (LoopPointMarker& m, const MouseEvent& e) { this->loopPointMouseDown (m, e); },
|
||||
[this] (LoopPointMarker& m, const MouseEvent& e) { this->loopPointDragged (m, e); },
|
||||
[this] (LoopPointMarker& m, const MouseEvent& e) { this->loopPointMouseUp (m, e); }),
|
||||
undoManager (&undoManager)
|
||||
undoManager (&undoManagerIn)
|
||||
{
|
||||
dataModel .addListener (*this);
|
||||
visibleRange.addListener (*this);
|
||||
|
|
@ -1686,9 +1686,9 @@ class PlaybackPositionOverlay : public Component,
|
|||
public:
|
||||
using Provider = std::function<std::vector<float>()>;
|
||||
PlaybackPositionOverlay (const VisibleRangeDataModel& model,
|
||||
Provider provider)
|
||||
Provider providerIn)
|
||||
: visibleRange (model),
|
||||
provider (move (provider))
|
||||
provider (std::move (providerIn))
|
||||
{
|
||||
visibleRange.addListener (*this);
|
||||
startTimer (16);
|
||||
|
|
@ -1853,7 +1853,7 @@ private:
|
|||
loopPoints.setVisible (value != LoopMode::none);
|
||||
}
|
||||
|
||||
void sampleReaderChanged (std::shared_ptr<AudioFormatReaderFactory> value) override
|
||||
void sampleReaderChanged (std::shared_ptr<AudioFormatReaderFactory>) override
|
||||
{
|
||||
auto lengthInSeconds = dataModel.getSampleLengthSeconds();
|
||||
visibleRange.setTotalRange (Range<double> (0, lengthInSeconds), nullptr);
|
||||
|
|
@ -2027,34 +2027,6 @@ struct ProcessorState
|
|||
LoopMode loopMode;
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
// We store the current sampler sound in a shared_ptr. Although we never
|
||||
// call mutating member functions on this shared_ptr, we do read from it on
|
||||
// both the audio and gui threads. Such concurrent reads should be safe
|
||||
// without using atomic methods, but we use a tiny wrapper to enforce atomic
|
||||
// accesses anyway - if nothing else, this wrapper enforces and documents that
|
||||
// we never mutate the shared_ptr in a way which could cause a data race.
|
||||
template <typename Contents>
|
||||
class AtomicSharedPtr final
|
||||
{
|
||||
public:
|
||||
AtomicSharedPtr() = default;
|
||||
explicit AtomicSharedPtr (std::shared_ptr<Contents> contents)
|
||||
: contents (move (contents))
|
||||
{}
|
||||
|
||||
AtomicSharedPtr (const AtomicSharedPtr& other) = delete;
|
||||
AtomicSharedPtr& operator= (const AtomicSharedPtr& other) = delete;
|
||||
|
||||
std::shared_ptr<Contents> load() const
|
||||
{
|
||||
return atomic_load (&contents);
|
||||
}
|
||||
|
||||
private:
|
||||
std::shared_ptr<Contents> contents;
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
class SamplerAudioProcessor : public AudioProcessor
|
||||
{
|
||||
|
|
@ -2062,11 +2034,9 @@ public:
|
|||
SamplerAudioProcessor()
|
||||
: AudioProcessor (BusesProperties().withOutput ("Output", AudioChannelSet::stereo(), true))
|
||||
{
|
||||
if (auto* asset = createAssetInputStream ("cello.wav"))
|
||||
if (auto inputStream = createAssetInputStream ("cello.wav"))
|
||||
{
|
||||
std::unique_ptr<InputStream> inputStream (asset);
|
||||
inputStream->readIntoMemoryBlock (mb);
|
||||
|
||||
readerFactory.reset (new MemoryAudioFormatReaderFactory (mb.getData(), mb.getSize()));
|
||||
}
|
||||
|
||||
|
|
@ -2074,7 +2044,7 @@ public:
|
|||
AudioFormatManager manager;
|
||||
manager.registerBasicFormats();
|
||||
auto reader = readerFactory->make (manager);
|
||||
auto sound = samplerSound.load();
|
||||
auto sound = samplerSound;
|
||||
auto sample = std::unique_ptr<Sample> (new Sample (*reader, 10.0));
|
||||
auto lengthInSeconds = sample->getLength() / sample->getSampleRate();
|
||||
sound->setLoopPointsInSeconds ({lengthInSeconds * 0.1, lengthInSeconds * 0.9 });
|
||||
|
|
@ -2115,7 +2085,7 @@ public:
|
|||
state.mpeZoneLayout = synthesiser.getZoneLayout();
|
||||
state.readerFactory = readerFactory == nullptr ? nullptr : readerFactory->clone();
|
||||
|
||||
auto sound = samplerSound.load();
|
||||
auto sound = samplerSound;
|
||||
state.loopPointsSeconds = sound->getLoopPointsInSeconds();
|
||||
state.centreFrequencyHz = sound->getCentreFrequencyInHz();
|
||||
state.loopMode = sound->getLoopMode();
|
||||
|
|
@ -2170,7 +2140,7 @@ public:
|
|||
|
||||
synthesiser.renderNextBlock (buffer, midiMessages, 0, buffer.getNumSamples());
|
||||
|
||||
auto loadedSamplerSound = samplerSound.load();
|
||||
auto loadedSamplerSound = samplerSound;
|
||||
|
||||
if (loadedSamplerSound->getSample() == nullptr)
|
||||
return;
|
||||
|
|
@ -2197,18 +2167,18 @@ public:
|
|||
{
|
||||
public:
|
||||
SetSampleCommand (std::unique_ptr<AudioFormatReaderFactory> r,
|
||||
std::unique_ptr<Sample> sample,
|
||||
std::vector<std::unique_ptr<MPESamplerVoice>> newVoices)
|
||||
: readerFactory (move (r)),
|
||||
sample (move (sample)),
|
||||
newVoices (move (newVoices))
|
||||
std::unique_ptr<Sample> sampleIn,
|
||||
std::vector<std::unique_ptr<MPESamplerVoice>> newVoicesIn)
|
||||
: readerFactory (std::move (r)),
|
||||
sample (std::move (sampleIn)),
|
||||
newVoices (std::move (newVoicesIn))
|
||||
{}
|
||||
|
||||
void operator() (SamplerAudioProcessor& proc)
|
||||
{
|
||||
proc.readerFactory = move (readerFactory);
|
||||
auto sound = proc.samplerSound.load();
|
||||
sound->setSample (move (sample));
|
||||
auto sound = proc.samplerSound;
|
||||
sound->setSample (std::move (sample));
|
||||
auto numberOfVoices = proc.synthesiser.getNumVoices();
|
||||
proc.synthesiser.clearVoices();
|
||||
|
||||
|
|
@ -2226,7 +2196,7 @@ public:
|
|||
|
||||
// Note that all allocation happens here, on the main message thread. Then,
|
||||
// we transfer ownership across to the audio thread.
|
||||
auto loadedSamplerSound = samplerSound.load();
|
||||
auto loadedSamplerSound = samplerSound;
|
||||
std::vector<std::unique_ptr<MPESamplerVoice>> newSamplerVoices;
|
||||
newSamplerVoices.reserve (maxVoices);
|
||||
|
||||
|
|
@ -2252,7 +2222,7 @@ public:
|
|||
{
|
||||
pushCommand ([centreFrequency] (SamplerAudioProcessor& proc)
|
||||
{
|
||||
auto loaded = proc.samplerSound.load();
|
||||
auto loaded = proc.samplerSound;
|
||||
if (loaded != nullptr)
|
||||
loaded->setCentreFrequencyInHz (centreFrequency);
|
||||
});
|
||||
|
|
@ -2262,7 +2232,7 @@ public:
|
|||
{
|
||||
pushCommand ([loopMode] (SamplerAudioProcessor& proc)
|
||||
{
|
||||
auto loaded = proc.samplerSound.load();
|
||||
auto loaded = proc.samplerSound;
|
||||
if (loaded != nullptr)
|
||||
loaded->setLoopMode (loopMode);
|
||||
});
|
||||
|
|
@ -2272,7 +2242,7 @@ public:
|
|||
{
|
||||
pushCommand ([loopPoints] (SamplerAudioProcessor& proc)
|
||||
{
|
||||
auto loaded = proc.samplerSound.load();
|
||||
auto loaded = proc.samplerSound;
|
||||
if (loaded != nullptr)
|
||||
loaded->setLoopPointsInSeconds (loopPoints);
|
||||
});
|
||||
|
|
@ -2316,8 +2286,8 @@ public:
|
|||
class SetNumVoicesCommand
|
||||
{
|
||||
public:
|
||||
SetNumVoicesCommand (std::vector<std::unique_ptr<MPESamplerVoice>> newVoices)
|
||||
: newVoices (move (newVoices))
|
||||
SetNumVoicesCommand (std::vector<std::unique_ptr<MPESamplerVoice>> newVoicesIn)
|
||||
: newVoices (move (newVoicesIn))
|
||||
{}
|
||||
|
||||
void operator() (SamplerAudioProcessor& proc)
|
||||
|
|
@ -2334,7 +2304,7 @@ public:
|
|||
};
|
||||
|
||||
numberOfVoices = std::min (maxVoices, numberOfVoices);
|
||||
auto loadedSamplerSound = samplerSound.load();
|
||||
auto loadedSamplerSound = samplerSound;
|
||||
std::vector<std::unique_ptr<MPESamplerVoice>> newSamplerVoices;
|
||||
newSamplerVoices.reserve ((size_t) numberOfVoices);
|
||||
|
||||
|
|
@ -2363,7 +2333,7 @@ private:
|
|||
public:
|
||||
SamplerAudioProcessorEditor (SamplerAudioProcessor& p, ProcessorState state)
|
||||
: AudioProcessorEditor (&p),
|
||||
processor (p),
|
||||
samplerAudioProcessor (p),
|
||||
mainSamplerView (dataModel,
|
||||
[&p]
|
||||
{
|
||||
|
|
@ -2453,33 +2423,33 @@ private:
|
|||
|
||||
void sampleReaderChanged (std::shared_ptr<AudioFormatReaderFactory> value) override
|
||||
{
|
||||
processor.setSample (value == nullptr ? nullptr : value->clone(),
|
||||
dataModel.getAudioFormatManager());
|
||||
samplerAudioProcessor.setSample (value == nullptr ? nullptr : value->clone(),
|
||||
dataModel.getAudioFormatManager());
|
||||
}
|
||||
|
||||
void centreFrequencyHzChanged (double value) override
|
||||
{
|
||||
processor.setCentreFrequency (value);
|
||||
samplerAudioProcessor.setCentreFrequency (value);
|
||||
}
|
||||
|
||||
void loopPointsSecondsChanged (Range<double> value) override
|
||||
{
|
||||
processor.setLoopPoints (value);
|
||||
samplerAudioProcessor.setLoopPoints (value);
|
||||
}
|
||||
|
||||
void loopModeChanged (LoopMode value) override
|
||||
{
|
||||
processor.setLoopMode (value);
|
||||
samplerAudioProcessor.setLoopMode (value);
|
||||
}
|
||||
|
||||
void synthVoicesChanged (int value) override
|
||||
{
|
||||
processor.setNumberOfVoices (value);
|
||||
samplerAudioProcessor.setNumberOfVoices (value);
|
||||
}
|
||||
|
||||
void voiceStealingEnabledChanged (bool value) override
|
||||
{
|
||||
processor.setVoiceStealingEnabled (value);
|
||||
samplerAudioProcessor.setVoiceStealingEnabled (value);
|
||||
}
|
||||
|
||||
void legacyModeEnabledChanged (bool value) override
|
||||
|
|
@ -2512,17 +2482,17 @@ private:
|
|||
|
||||
void setProcessorLegacyMode()
|
||||
{
|
||||
processor.setLegacyModeEnabled (mpeSettings.getLegacyPitchbendRange(),
|
||||
Range<int> (mpeSettings.getLegacyFirstChannel(),
|
||||
mpeSettings.getLegacyLastChannel()));
|
||||
samplerAudioProcessor.setLegacyModeEnabled (mpeSettings.getLegacyPitchbendRange(),
|
||||
Range<int> (mpeSettings.getLegacyFirstChannel(),
|
||||
mpeSettings.getLegacyLastChannel()));
|
||||
}
|
||||
|
||||
void setProcessorMPEMode()
|
||||
{
|
||||
processor.setMPEZoneLayout (mpeSettings.getMPEZoneLayout());
|
||||
samplerAudioProcessor.setMPEZoneLayout (mpeSettings.getMPEZoneLayout());
|
||||
}
|
||||
|
||||
SamplerAudioProcessor& processor;
|
||||
SamplerAudioProcessor& samplerAudioProcessor;
|
||||
AudioFormatManager formatManager;
|
||||
DataModel dataModel { formatManager };
|
||||
UndoManager undoManager;
|
||||
|
|
@ -2611,7 +2581,7 @@ private:
|
|||
|
||||
MemoryBlock mb;
|
||||
std::unique_ptr<AudioFormatReaderFactory> readerFactory;
|
||||
AtomicSharedPtr<MPESamplerSound> samplerSound { std::make_shared<MPESamplerSound>() };
|
||||
std::shared_ptr<MPESamplerSound> samplerSound = std::make_shared<MPESamplerSound>();
|
||||
MPESynthesiser synthesiser;
|
||||
|
||||
// This mutex is used to ensure we don't modify the processor state during
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public:
|
|||
VoiceProduct {"jb", "JB", false, false, false, "Retrieving price..." } });
|
||||
}
|
||||
|
||||
~VoicePurchases()
|
||||
~VoicePurchases() override
|
||||
{
|
||||
InAppPurchases::getInstance()->removeListener (this);
|
||||
}
|
||||
|
|
@ -395,11 +395,8 @@ public:
|
|||
|
||||
setInterceptsMouseClicks (! hasBeenPurchased, ! hasBeenPurchased);
|
||||
|
||||
if (auto* assetStream = createAssetInputStream (String ("Purchases/" + String (imageResourceName)).toRawUTF8()))
|
||||
{
|
||||
std::unique_ptr<InputStream> fileStream (assetStream);
|
||||
if (auto fileStream = createAssetInputStream (String ("Purchases/" + String (imageResourceName)).toRawUTF8()))
|
||||
avatar = PNGImageFormat().decodeImage (*fileStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
private:
|
||||
|
|
@ -519,7 +516,7 @@ public:
|
|||
#endif
|
||||
}
|
||||
|
||||
~InAppPurchasesDemo()
|
||||
~InAppPurchasesDemo() override
|
||||
{
|
||||
dm.closeAudioDevice();
|
||||
dm.removeAudioCallback (&player);
|
||||
|
|
@ -569,10 +566,8 @@ private:
|
|||
{
|
||||
auto assetName = "Purchases/" + soundNames[idx] + String (phraseListBox.getSelectedRow()) + ".ogg";
|
||||
|
||||
if (auto* assetStream = createAssetInputStream (assetName.toRawUTF8()))
|
||||
if (auto fileStream = createAssetInputStream (assetName.toRawUTF8()))
|
||||
{
|
||||
std::unique_ptr<InputStream> fileStream (assetStream);
|
||||
|
||||
currentPhraseData.reset();
|
||||
fileStream->readIntoMemoryBlock (currentPhraseData);
|
||||
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ public:
|
|||
#endif
|
||||
}
|
||||
|
||||
~PushNotificationsDemo()
|
||||
~PushNotificationsDemo() override
|
||||
{
|
||||
PushNotifications::getInstance()->removeListener (this);
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ static const char* getDisplayOrientation()
|
|||
case Desktop::upsideDown: return "Upside-down";
|
||||
case Desktop::rotatedClockwise: return "Rotated Clockwise";
|
||||
case Desktop::rotatedAntiClockwise: return "Rotated Anti-clockwise";
|
||||
case Desktop::allOrientations: return "All";
|
||||
default: jassertfalse; break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<JUCERPROJECT id="AKfc5m" name="AudioPerformanceTest" projectType="guiapp"
|
||||
bundleIdentifier="com.juce.AudioPerformanceTest" jucerVersion="5.4.5"
|
||||
bundleIdentifier="com.juce.AudioPerformanceTest" jucerVersion="5.4.7"
|
||||
displaySplashScreen="0" reportAppUsage="0" companyName="ROLI Ltd."
|
||||
companyCopyright="ROLI Ltd.">
|
||||
<MAINGROUP id="b1eVTe" name="AudioPerformanceTest">
|
||||
|
|
@ -70,8 +70,8 @@
|
|||
</VS2019>
|
||||
<LINUX_MAKE targetFolder="Builds/LinuxMakefile">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" libraryPath="/usr/X11R6/lib/" isDebug="1" targetName="AudioPerformanceTest"/>
|
||||
<CONFIGURATION name="Release" libraryPath="/usr/X11R6/lib/" isDebug="0" targetName="AudioPerformanceTest"/>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="AudioPerformanceTest"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" targetName="AudioPerformanceTest"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"
|
||||
"../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_HighPerformanceAudioHelpers.h"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp"
|
||||
"../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"
|
||||
|
|
@ -568,8 +569,6 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_core/misc/juce_Result.h"
|
||||
"../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"
|
||||
"../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h"
|
||||
"../../../../../modules/juce_core/misc/juce_Uuid.cpp"
|
||||
"../../../../../modules/juce_core/misc/juce_Uuid.h"
|
||||
"../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"
|
||||
|
|
@ -1410,6 +1409,7 @@ set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/j
|
|||
set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_HighPerformanceAudioHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
|
@ -1859,8 +1859,6 @@ set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.c
|
|||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@ android {
|
|||
main.java.srcDirs +=
|
||||
["../../../../../modules/juce_core/native/javacore/init",
|
||||
"../../../../../modules/juce_core/native/javacore/app",
|
||||
"../../../../../modules/juce_gui_basics/native/javacore/app",
|
||||
"../../../../../modules/juce_gui_basics/native/javaopt/app"]
|
||||
|
||||
main.res.srcDirs +=
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0.0"
|
||||
package="com.juce.AudioPerformanceTest">
|
||||
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
|
||||
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"
|
||||
android:xlargeScreens="true"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
|
|
|
|||
|
|
@ -1,25 +1,3 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2017 - ROLI Ltd.
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
The code included in this file is provided under the terms of the ISC license
|
||||
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
To use, copy, modify, and/or distribute this software for any purpose with or
|
||||
without fee is hereby granted provided that the above copyright notice and
|
||||
this permission notice appear in all copies.
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
package com.android.vending.billing;
|
||||
/**
|
||||
* InAppBillingService is the service that provides in-app billing version 3 and beyond.
|
||||
|
|
|
|||
|
|
@ -7,11 +7,15 @@
|
|||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
The code included in this file is provided under the terms of the ISC license
|
||||
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
To use, copy, modify, and/or distribute this software for any purpose with or
|
||||
without fee is hereby granted provided that the above copyright notice and
|
||||
this permission notice appear in all copies.
|
||||
By using JUCE, you agree to the terms of both the JUCE 5 End-User License
|
||||
Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
|
||||
27th April 2017).
|
||||
|
||||
End User License Agreement: www.juce.com/juce-5-licence
|
||||
Privacy Policy: www.juce.com/juce-5-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
|
|
|
|||