- clean working copy for leaving SVN
This commit is contained in:
@@ -1,128 +1,9 @@
|
|||||||
#
|
CONFIG ?= release
|
||||||
# There exist several targets which are by default empty and which can be
|
PKG_VER ?=
|
||||||
# used for execution of your targets. These targets are usually executed
|
TARGET ?= LINUX
|
||||||
# before and after some main targets. They are:
|
BUILD_TARGET := jaySynth.so
|
||||||
#
|
|
||||||
# .build-pre: called before 'build' target
|
include jaySynth.mk
|
||||||
# .build-post: called after 'build' target
|
include pkg.mk
|
||||||
# .clean-pre: called before 'clean' target
|
|
||||||
# .clean-post: called after 'clean' target
|
|
||||||
# .clobber-pre: called before 'clobber' target
|
|
||||||
# .clobber-post: called after 'clobber' target
|
|
||||||
# .all-pre: called before 'all' target
|
|
||||||
# .all-post: called after 'all' target
|
|
||||||
# .help-pre: called before 'help' target
|
|
||||||
# .help-post: called after 'help' target
|
|
||||||
#
|
|
||||||
# Targets beginning with '.' are not intended to be called on their own.
|
|
||||||
#
|
|
||||||
# Main targets can be executed directly, and they are:
|
|
||||||
#
|
|
||||||
# build build a specific configuration
|
|
||||||
# clean remove built files from a configuration
|
|
||||||
# clobber remove all built files
|
|
||||||
# all build all configurations
|
|
||||||
# help print help mesage
|
|
||||||
#
|
|
||||||
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
|
|
||||||
# .help-impl are implemented in nbproject/makefile-impl.mk.
|
|
||||||
#
|
|
||||||
# Available make variables:
|
|
||||||
#
|
|
||||||
# CND_BASEDIR base directory for relative paths
|
|
||||||
# CND_DISTDIR default top distribution directory (build artifacts)
|
|
||||||
# CND_BUILDDIR default top build directory (object files, ...)
|
|
||||||
# CONF name of current configuration
|
|
||||||
# CND_PLATFORM_${CONF} platform name (current configuration)
|
|
||||||
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
|
|
||||||
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
|
|
||||||
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
|
|
||||||
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
|
|
||||||
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
|
|
||||||
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
|
|
||||||
#
|
|
||||||
# NOCDDL
|
|
||||||
|
|
||||||
|
|
||||||
# Environment
|
|
||||||
MKDIR=mkdir
|
|
||||||
CP=cp
|
|
||||||
CCADMIN=CCadmin
|
|
||||||
|
|
||||||
|
|
||||||
# build
|
|
||||||
build: .build-post
|
|
||||||
cp ${CND_ARTIFACT_PATH_${CONF}} "/c/Program Files (x86)/Steinberg/VSTPlugins/JaySynth.dll"
|
|
||||||
|
|
||||||
.build-pre:
|
|
||||||
# Add your pre 'build' code here...
|
|
||||||
|
|
||||||
.build-post: .build-impl
|
|
||||||
# Add your post 'build' code here...
|
|
||||||
|
|
||||||
|
|
||||||
# clean
|
|
||||||
clean: .clean-post
|
|
||||||
|
|
||||||
.clean-pre:
|
|
||||||
# Add your pre 'clean' code here...
|
|
||||||
|
|
||||||
.clean-post: .clean-impl
|
|
||||||
# Add your post 'clean' code here...
|
|
||||||
|
|
||||||
|
|
||||||
# clobber
|
|
||||||
clobber: .clobber-post
|
|
||||||
|
|
||||||
.clobber-pre:
|
|
||||||
# Add your pre 'clobber' code here...
|
|
||||||
|
|
||||||
.clobber-post: .clobber-impl
|
|
||||||
# Add your post 'clobber' code here...
|
|
||||||
|
|
||||||
|
|
||||||
# all
|
|
||||||
all: .all-post
|
|
||||||
|
|
||||||
.all-pre:
|
|
||||||
# Add your pre 'all' code here...
|
|
||||||
|
|
||||||
.all-post: .all-impl
|
|
||||||
# Add your post 'all' code here...
|
|
||||||
|
|
||||||
# build tests
|
|
||||||
build-tests: .build-tests-post
|
|
||||||
|
|
||||||
.build-tests-pre:
|
|
||||||
# Add your pre 'build-tests' code here...
|
|
||||||
|
|
||||||
.build-tests-post: .build-tests-impl
|
|
||||||
# Add your post 'build-tests' code here...
|
|
||||||
|
|
||||||
|
|
||||||
# run tests
|
|
||||||
test: .test-post
|
|
||||||
|
|
||||||
.test-pre: build-tests
|
|
||||||
# Add your pre 'test' code here...
|
|
||||||
|
|
||||||
.test-post: .test-impl
|
|
||||||
# Add your post 'test' code here...
|
|
||||||
|
|
||||||
|
|
||||||
# help
|
|
||||||
help: .help-post
|
|
||||||
|
|
||||||
.help-pre:
|
|
||||||
# Add your pre 'help' code here...
|
|
||||||
|
|
||||||
.help-post: .help-impl
|
|
||||||
# Add your post 'help' code here...
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# include project implementation makefile
|
|
||||||
include nbproject/Makefile-impl.mk
|
|
||||||
|
|
||||||
# include project make variables
|
|
||||||
include nbproject/Makefile-variables.mk
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
SRCS := Source/JaySynth.cpp
|
||||||
|
|
||||||
|
DEFINES := -DHAVE_LROUND
|
||||||
|
INCLUDES := -I sdk/juce/JUCE-3.1.1 -I sdk/vst/vstsdk2.4
|
||||||
|
|
||||||
@@ -0,0 +1,305 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
IMPORTANT! This file is auto-generated each time you save your
|
||||||
|
project - if you alter its contents, your changes may be overwritten!
|
||||||
|
|
||||||
|
There's a section below where you can add your own custom code safely, and the
|
||||||
|
Introjucer will preserve the contents of that block, but the best way to change
|
||||||
|
any of these definitions is by using the Introjucer's project settings.
|
||||||
|
|
||||||
|
Any commented-out settings will assume their default values.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JUCE_APPCONFIG_FGWBAQ__
|
||||||
|
#define __JUCE_APPCONFIG_FGWBAQ__
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// [BEGIN_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
// (You can add your own code in this section, and the Introjucer will not overwrite it)
|
||||||
|
|
||||||
|
// [END_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_plugin_client 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_core 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_events 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_devices flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ASIO
|
||||||
|
//#define JUCE_ASIO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_WASAPI
|
||||||
|
//#define JUCE_WASAPI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DIRECTSOUND
|
||||||
|
//#define JUCE_DIRECTSOUND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ALSA
|
||||||
|
//#define JUCE_ALSA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_JACK
|
||||||
|
//#define JUCE_JACK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_ANDROID_OPENSLES
|
||||||
|
//#define JUCE_USE_ANDROID_OPENSLES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDREADER
|
||||||
|
//#define JUCE_USE_CDREADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDBURNER
|
||||||
|
//#define JUCE_USE_CDBURNER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_formats flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_FLAC
|
||||||
|
//#define JUCE_USE_FLAC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_OGGVORBIS
|
||||||
|
//#define JUCE_USE_OGGVORBIS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
//#define JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
//#define JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_processors flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST
|
||||||
|
#define JUCE_PLUGINHOST_VST 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST3
|
||||||
|
//#define JUCE_PLUGINHOST_VST3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_AU
|
||||||
|
//#define JUCE_PLUGINHOST_AU
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_core flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_FORCE_DEBUG
|
||||||
|
//#define JUCE_FORCE_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_LOG_ASSERTIONS
|
||||||
|
//#define JUCE_LOG_ASSERTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
//#define JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
//#define JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_graphics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_COREIMAGE_LOADER
|
||||||
|
//#define JUCE_USE_COREIMAGE_LOADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_DIRECTWRITE
|
||||||
|
//#define JUCE_USE_DIRECTWRITE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_basics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
//#define JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XSHM
|
||||||
|
//#define JUCE_USE_XSHM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XRENDER
|
||||||
|
//#define JUCE_USE_XRENDER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XCURSOR
|
||||||
|
//#define JUCE_USE_XCURSOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_extra flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_WEB_BROWSER
|
||||||
|
//#define JUCE_WEB_BROWSER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
//#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// Audio plugin settings..
|
||||||
|
|
||||||
|
#ifndef JucePlugin_Build_VST
|
||||||
|
#define JucePlugin_Build_VST 1
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Build_VST3
|
||||||
|
#define JucePlugin_Build_VST3 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Build_AU
|
||||||
|
#define JucePlugin_Build_AU 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Build_RTAS
|
||||||
|
#define JucePlugin_Build_RTAS 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Build_AAX
|
||||||
|
#define JucePlugin_Build_AAX 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Name
|
||||||
|
#define JucePlugin_Name "JaySynth"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Desc
|
||||||
|
#define JucePlugin_Desc "A Synthesizer VST-Plugin"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Manufacturer
|
||||||
|
#define JucePlugin_Manufacturer "Jay Digital Illusions"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_ManufacturerWebsite
|
||||||
|
#define JucePlugin_ManufacturerWebsite "www.jayfield.org"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_ManufacturerEmail
|
||||||
|
#define JucePlugin_ManufacturerEmail "synth@jayfield.org"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_ManufacturerCode
|
||||||
|
#define JucePlugin_ManufacturerCode '3110'
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_PluginCode
|
||||||
|
#define JucePlugin_PluginCode 'Jsy1'
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_MaxNumInputChannels
|
||||||
|
#define JucePlugin_MaxNumInputChannels 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_MaxNumOutputChannels
|
||||||
|
#define JucePlugin_MaxNumOutputChannels 2
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_PreferredChannelConfigurations
|
||||||
|
#define JucePlugin_PreferredChannelConfigurations {1, 1}, {2, 2}
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_IsSynth
|
||||||
|
#define JucePlugin_IsSynth 1
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_WantsMidiInput
|
||||||
|
#define JucePlugin_WantsMidiInput 1
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_ProducesMidiOutput
|
||||||
|
#define JucePlugin_ProducesMidiOutput 1
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_SilenceInProducesSilenceOut
|
||||||
|
#define JucePlugin_SilenceInProducesSilenceOut 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_EditorRequiresKeyboardFocus
|
||||||
|
#define JucePlugin_EditorRequiresKeyboardFocus 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_Version
|
||||||
|
#define JucePlugin_Version 0.5.7
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_VersionCode
|
||||||
|
#define JucePlugin_VersionCode 0x00050007
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_VersionString
|
||||||
|
#define JucePlugin_VersionString "0.5.7"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_VSTUniqueID
|
||||||
|
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_VSTCategory
|
||||||
|
#define JucePlugin_VSTCategory kPlugCategSynth
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AUMainType
|
||||||
|
#define JucePlugin_AUMainType kAudioUnitType_MusicDevice
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AUSubType
|
||||||
|
#define JucePlugin_AUSubType JucePlugin_PluginCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AUExportPrefix
|
||||||
|
#define JucePlugin_AUExportPrefix JaySynthAU
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AUExportPrefixQuoted
|
||||||
|
#define JucePlugin_AUExportPrefixQuoted "JaySynthAU"
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AUManufacturerCode
|
||||||
|
#define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_CFBundleIdentifier
|
||||||
|
#define JucePlugin_CFBundleIdentifier com.yourcompany.JaySynth
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_RTASCategory
|
||||||
|
#define JucePlugin_RTASCategory ePlugInCategory_SWGenerators
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_RTASManufacturerCode
|
||||||
|
#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_RTASProductId
|
||||||
|
#define JucePlugin_RTASProductId JucePlugin_PluginCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_RTASDisableBypass
|
||||||
|
#define JucePlugin_RTASDisableBypass 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_RTASDisableMultiMono
|
||||||
|
#define JucePlugin_RTASDisableMultiMono 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXIdentifier
|
||||||
|
#define JucePlugin_AAXIdentifier com.yourcompany.JaySynth
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXManufacturerCode
|
||||||
|
#define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXProductId
|
||||||
|
#define JucePlugin_AAXProductId JucePlugin_PluginCode
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXCategory
|
||||||
|
#define JucePlugin_AAXCategory AAX_ePlugInCategory_Dynamics
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXDisableBypass
|
||||||
|
#define JucePlugin_AAXDisableBypass 0
|
||||||
|
#endif
|
||||||
|
#ifndef JucePlugin_AAXDisableMultiMono
|
||||||
|
#define JucePlugin_AAXDisableMultiMono 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // __JUCE_APPCONFIG_FGWBAQ__
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
SRCS += modules/juce_audio_basics/juce_audio_basics.cpp
|
||||||
|
SRCS += modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
|
||||||
|
SRCS += modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp
|
||||||
|
SRCS += modules/juce_audio_processors/juce_audio_processors.cpp
|
||||||
|
SRCS += modules/juce_core/juce_core.cpp
|
||||||
|
SRCS += modules/juce_data_structures/juce_data_structures.cpp
|
||||||
|
SRCS += modules/juce_events/juce_events.cpp
|
||||||
|
SRCS += modules/juce_graphics/juce_graphics.cpp
|
||||||
|
SRCS += modules/juce_gui_basics/juce_gui_basics.cpp
|
||||||
|
|
||||||
|
init: AppConfig.h JuceHeader.h all
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
diff -ruN temp/JUCE-3.1.1/modules/juce_graphics/colour/juce_PixelFormats.h ./JUCE-3.1.1/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||||
|
--- temp/JUCE-3.1.1/modules/juce_graphics/colour/juce_PixelFormats.h 2014-12-16 18:21:34.000000000 +0100
|
||||||
|
+++ ./JUCE-3.1.1/modules/juce_graphics/colour/juce_PixelFormats.h 2019-11-21 22:19:22.278775419 +0100
|
||||||
|
@@ -86,19 +86,6 @@
|
||||||
|
forcedinline uint8 getGreen() const noexcept { return components.g; }
|
||||||
|
forcedinline uint8 getBlue() const noexcept { return components.b; }
|
||||||
|
|
||||||
|
- #if JUCE_GCC && ! JUCE_CLANG
|
||||||
|
- // NB these are here as a workaround because GCC refuses to bind to packed values.
|
||||||
|
- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; }
|
||||||
|
- forcedinline uint8& getRed() noexcept { return comps [indexR]; }
|
||||||
|
- forcedinline uint8& getGreen() noexcept { return comps [indexG]; }
|
||||||
|
- forcedinline uint8& getBlue() noexcept { return comps [indexB]; }
|
||||||
|
- #else
|
||||||
|
- forcedinline uint8& getAlpha() noexcept { return components.a; }
|
||||||
|
- forcedinline uint8& getRed() noexcept { return components.r; }
|
||||||
|
- forcedinline uint8& getGreen() noexcept { return components.g; }
|
||||||
|
- forcedinline uint8& getBlue() noexcept { return components.b; }
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
/** Blends another pixel onto this one.
|
||||||
|
|
||||||
|
This takes into account the opacity of the pixel being overlaid, and blends
|
||||||
Binary file not shown.
@@ -0,0 +1,45 @@
|
|||||||
|
._*
|
||||||
|
*.mode1v3
|
||||||
|
*.pbxuser
|
||||||
|
*.perspectivev3
|
||||||
|
*.user
|
||||||
|
*.ncb
|
||||||
|
*.suo
|
||||||
|
*.ilk
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.dep
|
||||||
|
*.idb
|
||||||
|
*.manifest
|
||||||
|
*.manifest.res
|
||||||
|
*.o
|
||||||
|
*.d
|
||||||
|
*.sdf
|
||||||
|
*.opensdf
|
||||||
|
xcuserdata
|
||||||
|
*.xccheckout
|
||||||
|
contents.xcworkspacedata
|
||||||
|
.DS_Store
|
||||||
|
.svn
|
||||||
|
profile
|
||||||
|
**/MacOSX/build
|
||||||
|
**/iOS/build
|
||||||
|
**/Linux/build
|
||||||
|
**/VisualStudio2005/Debug
|
||||||
|
**/VisualStudio2005/Release
|
||||||
|
**/VisualStudio2008/Debug
|
||||||
|
**/VisualStudio2008/Release
|
||||||
|
**/VisualStudio2010/Debug
|
||||||
|
**/VisualStudio2010/Release
|
||||||
|
**/VisualStudio2012/Debug
|
||||||
|
**/VisualStudio2012/Release
|
||||||
|
**/VisualStudio2013/Debug
|
||||||
|
**/VisualStudio2013/Release
|
||||||
|
**/Android/bin
|
||||||
|
**/Android/libs
|
||||||
|
**/Android/gen
|
||||||
|
**/Android/obj
|
||||||
|
**/CodeBlocks/bin
|
||||||
|
**/CodeBlocks/obj
|
||||||
|
**/CodeBlocks/*.depend
|
||||||
|
**/CodeBlocks/*.layout
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# The JUCE Library
|
||||||
|
|
||||||
|
JUCE (Jules' Utility Class Extensions) is an all-encompassing
|
||||||
|
C++ framework for developing cross-platform software.
|
||||||
|
|
||||||
|
It contains pretty much everything you're likely to need to create
|
||||||
|
most applications, and is particularly well-suited for building
|
||||||
|
highly-customised GUIs, and for handling graphics and sound.
|
||||||
|
|
||||||
|
Most JUCE modules are shared under the GNU Public Licence
|
||||||
|
(GPLv2, v3, and the AGPLv3). This means that the code can
|
||||||
|
be freely copied and distributed, and costs nothing to use
|
||||||
|
in other GPL applications. One module (the juce_core module)
|
||||||
|
is permissively licensed under the ISC.
|
||||||
|
|
||||||
|
For more information, visit the website:
|
||||||
|
http://www.juce.com
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<JUCERPROJECT id="LrATE6" name="AnimationAppExample" projectType="guiapp" version="1.0.0"
|
||||||
|
bundleIdentifier="com.yourcompany.AnimationAppExample" includeBinaryInAppConfig="1"
|
||||||
|
jucerVersion="3.1.0">
|
||||||
|
<MAINGROUP id="F3keCY" name="AnimationAppExample">
|
||||||
|
<GROUP id="{5E4132EA-C4A0-CBDE-BEDA-FD6772DA79D5}" name="Source">
|
||||||
|
<FILE id="n1FmZc" name="MainComponent.cpp" compile="1" resource="0"
|
||||||
|
file="Source/MainComponent.cpp"/>
|
||||||
|
<FILE id="xRXH7t" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
|
||||||
|
</GROUP>
|
||||||
|
</MAINGROUP>
|
||||||
|
<EXPORTFORMATS>
|
||||||
|
<XCODE_MAC targetFolder="Builds/MacOSX">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" osxSDK="default" osxCompatibility="default" osxArchitecture="default"
|
||||||
|
isDebug="1" optimisation="1" targetName="AnimationAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" osxSDK="default" osxCompatibility="default" osxArchitecture="default"
|
||||||
|
isDebug="0" optimisation="2" targetName="AnimationAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</XCODE_MAC>
|
||||||
|
<XCODE_IPHONE targetFolder="Builds/iOS">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" iosCompatibility="default" isDebug="1" optimisation="1"
|
||||||
|
targetName="AnimationAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" iosCompatibility="default" isDebug="0" optimisation="2"
|
||||||
|
targetName="AnimationAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</XCODE_IPHONE>
|
||||||
|
<VS2010 targetFolder="Builds/VisualStudio2010">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||||
|
isDebug="1" optimisation="1" targetName="AnimationAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||||
|
isDebug="0" optimisation="2" targetName="AnimationAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</VS2010>
|
||||||
|
</EXPORTFORMATS>
|
||||||
|
<MODULES>
|
||||||
|
<MODULES id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_processors" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_core" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_cryptography" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_events" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_graphics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_opengl" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_video" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
</MODULES>
|
||||||
|
<JUCEOPTIONS/>
|
||||||
|
</JUCERPROJECT>
|
||||||
+2112
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.AnimationAppExample</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>AnimationAppExample</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
BIN
Binary file not shown.
+19
@@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{1B24A2D5-65BA-C9A3-F617-E93E84F1FF6F}") = "AnimationAppExample", "AnimationAppExample.vcxproj", "{76D4693E-258B-E95E-25F4-37E851715713}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{76D4693E-258B-E95E-25F4-37E851715713}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{76D4693E-258B-E95E-25F4-37E851715713}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{76D4693E-258B-E95E-25F4-37E851715713}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{76D4693E-258B-E95E-25F4-37E851715713}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
+1697
File diff suppressed because it is too large
Load Diff
+2894
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
|||||||
|
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#include JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#else
|
||||||
|
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 1,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "AnimationAppExample\0"
|
||||||
|
VALUE "FileVersion", "1.0.0\0"
|
||||||
|
VALUE "ProductName", "AnimationAppExample\0"
|
||||||
|
VALUE "ProductVersion", "1.0.0\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 65001
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
+2102
File diff suppressed because it is too large
Load Diff
+58
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "60x60",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "60x60",
|
||||||
|
"scale": "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "76x76",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "76x76",
|
||||||
|
"scale": "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
+50
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.AnimationAppExample</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>AnimationAppExample</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,196 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
IMPORTANT! This file is auto-generated each time you save your
|
||||||
|
project - if you alter its contents, your changes may be overwritten!
|
||||||
|
|
||||||
|
There's a section below where you can add your own custom code safely, and the
|
||||||
|
Introjucer will preserve the contents of that block, but the best way to change
|
||||||
|
any of these definitions is by using the Introjucer's project settings.
|
||||||
|
|
||||||
|
Any commented-out settings will assume their default values.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JUCE_APPCONFIG_LRATE6__
|
||||||
|
#define __JUCE_APPCONFIG_LRATE6__
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// [BEGIN_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
// (You can add your own code in this section, and the Introjucer will not overwrite it)
|
||||||
|
|
||||||
|
// [END_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_core 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_cryptography 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_events 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_opengl 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_video 1
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_devices flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ASIO
|
||||||
|
//#define JUCE_ASIO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_WASAPI
|
||||||
|
//#define JUCE_WASAPI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DIRECTSOUND
|
||||||
|
//#define JUCE_DIRECTSOUND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ALSA
|
||||||
|
//#define JUCE_ALSA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_JACK
|
||||||
|
//#define JUCE_JACK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_ANDROID_OPENSLES
|
||||||
|
//#define JUCE_USE_ANDROID_OPENSLES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDREADER
|
||||||
|
//#define JUCE_USE_CDREADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDBURNER
|
||||||
|
//#define JUCE_USE_CDBURNER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_formats flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_FLAC
|
||||||
|
//#define JUCE_USE_FLAC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_OGGVORBIS
|
||||||
|
//#define JUCE_USE_OGGVORBIS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
//#define JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
//#define JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_processors flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST
|
||||||
|
//#define JUCE_PLUGINHOST_VST
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST3
|
||||||
|
//#define JUCE_PLUGINHOST_VST3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_AU
|
||||||
|
//#define JUCE_PLUGINHOST_AU
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_core flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_FORCE_DEBUG
|
||||||
|
//#define JUCE_FORCE_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_LOG_ASSERTIONS
|
||||||
|
//#define JUCE_LOG_ASSERTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
//#define JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
//#define JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_graphics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_COREIMAGE_LOADER
|
||||||
|
//#define JUCE_USE_COREIMAGE_LOADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_DIRECTWRITE
|
||||||
|
//#define JUCE_USE_DIRECTWRITE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_basics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
//#define JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XSHM
|
||||||
|
//#define JUCE_USE_XSHM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XRENDER
|
||||||
|
//#define JUCE_USE_XRENDER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XCURSOR
|
||||||
|
//#define JUCE_USE_XCURSOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_extra flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_WEB_BROWSER
|
||||||
|
//#define JUCE_WEB_BROWSER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
//#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_video flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_DIRECTSHOW
|
||||||
|
//#define JUCE_DIRECTSHOW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_MEDIAFOUNDATION
|
||||||
|
//#define JUCE_MEDIAFOUNDATION
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_QUICKTIME
|
||||||
|
//#define JUCE_QUICKTIME
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CAMERA
|
||||||
|
//#define JUCE_USE_CAMERA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __JUCE_APPCONFIG_LRATE6__
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
IMPORTANT! This file is auto-generated each time you save your
|
||||||
|
project - if you alter its contents, your changes may be overwritten!
|
||||||
|
|
||||||
|
This is the header file that your files should include in order to get all the
|
||||||
|
JUCE library headers. You should avoid including the JUCE headers directly in
|
||||||
|
your own source files, because that wouldn't pick up the correct configuration
|
||||||
|
options for your app.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __APPHEADERFILE_LRATE6__
|
||||||
|
#define __APPHEADERFILE_LRATE6__
|
||||||
|
|
||||||
|
#include "AppConfig.h"
|
||||||
|
#include "modules/juce_audio_basics/juce_audio_basics.h"
|
||||||
|
#include "modules/juce_audio_devices/juce_audio_devices.h"
|
||||||
|
#include "modules/juce_audio_formats/juce_audio_formats.h"
|
||||||
|
#include "modules/juce_audio_processors/juce_audio_processors.h"
|
||||||
|
#include "modules/juce_core/juce_core.h"
|
||||||
|
#include "modules/juce_cryptography/juce_cryptography.h"
|
||||||
|
#include "modules/juce_data_structures/juce_data_structures.h"
|
||||||
|
#include "modules/juce_events/juce_events.h"
|
||||||
|
#include "modules/juce_graphics/juce_graphics.h"
|
||||||
|
#include "modules/juce_gui_basics/juce_gui_basics.h"
|
||||||
|
#include "modules/juce_gui_extra/juce_gui_extra.h"
|
||||||
|
#include "modules/juce_opengl/juce_opengl.h"
|
||||||
|
#include "modules/juce_video/juce_video.h"
|
||||||
|
|
||||||
|
#if ! DONT_SET_USING_JUCE_NAMESPACE
|
||||||
|
// If your code uses a lot of JUCE classes, then this will obviously save you
|
||||||
|
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
|
||||||
|
using namespace juce;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! JUCE_DONT_DECLARE_PROJECTINFO
|
||||||
|
namespace ProjectInfo
|
||||||
|
{
|
||||||
|
const char* const projectName = "AnimationAppExample";
|
||||||
|
const char* const versionString = "1.0.0";
|
||||||
|
const int versionNumber = 0x10000;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // __APPHEADERFILE_LRATE6__
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
Important Note!!
|
||||||
|
================
|
||||||
|
|
||||||
|
The purpose of this folder is to contain files that are auto-generated by the Introjucer,
|
||||||
|
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
|
||||||
|
the Introjucer saves your project.
|
||||||
|
|
||||||
|
Therefore, it's a bad idea to make any manual changes to the files in here, or to
|
||||||
|
put any of your own files in here if you don't want to lose them. (Of course you may choose
|
||||||
|
to add the folder's contents to your version-control system so that you can re-merge your own
|
||||||
|
modifications after the Introjucer has saved its changes).
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_core/juce_core.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_cryptography/juce_cryptography.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_data_structures/juce_data_structures.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_events/juce_events.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_graphics/juce_graphics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_opengl/juce_opengl.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_video/juce_video.h"
|
||||||
|
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This file was auto-generated by the Introjucer!
|
||||||
|
|
||||||
|
It contains the basic startup code for a Juce application.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../JuceLibraryCode/JuceHeader.h"
|
||||||
|
|
||||||
|
Component* createMainContentComponent();
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
class AnimationAppExampleApplication : public JUCEApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//==============================================================================
|
||||||
|
AnimationAppExampleApplication() {}
|
||||||
|
|
||||||
|
const String getApplicationName() override { return ProjectInfo::projectName; }
|
||||||
|
const String getApplicationVersion() override { return ProjectInfo::versionString; }
|
||||||
|
bool moreThanOneInstanceAllowed() override { return true; }
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
void initialise (const String& commandLine) override
|
||||||
|
{
|
||||||
|
// This method is where you should put your application's initialisation code..
|
||||||
|
|
||||||
|
mainWindow = new MainWindow (getApplicationName());
|
||||||
|
}
|
||||||
|
|
||||||
|
void shutdown() override
|
||||||
|
{
|
||||||
|
// Add your application's shutdown code here..
|
||||||
|
|
||||||
|
mainWindow = nullptr; // (deletes our window)
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
void systemRequestedQuit() override
|
||||||
|
{
|
||||||
|
// This is called when the app is being asked to quit: you can ignore this
|
||||||
|
// request and let the app carry on running, or call quit() to allow the app to close.
|
||||||
|
quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void anotherInstanceStarted (const String& commandLine) override
|
||||||
|
{
|
||||||
|
// When another instance of the app is launched while this one is running,
|
||||||
|
// this method is invoked, and the commandLine parameter tells you what
|
||||||
|
// the other instance's command-line arguments were.
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
/*
|
||||||
|
This class implements the desktop window that contains an instance of
|
||||||
|
our MainContentComponent class.
|
||||||
|
*/
|
||||||
|
class MainWindow : public DocumentWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MainWindow (String name) : DocumentWindow (name,
|
||||||
|
Colours::lightgrey,
|
||||||
|
DocumentWindow::allButtons)
|
||||||
|
{
|
||||||
|
setUsingNativeTitleBar (true);
|
||||||
|
setContentOwned (createMainContentComponent(), true);
|
||||||
|
setResizable (true, true);
|
||||||
|
|
||||||
|
centreWithSize (getWidth(), getHeight());
|
||||||
|
setVisible (true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void closeButtonPressed() override
|
||||||
|
{
|
||||||
|
// This is called when the user tries to close this window. Here, we'll just
|
||||||
|
// ask the app to quit when this happens, but you can change this to do
|
||||||
|
// whatever you need.
|
||||||
|
JUCEApplication::getInstance()->systemRequestedQuit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Note: Be careful if you override any DocumentWindow methods - the base
|
||||||
|
class uses a lot of them, so by overriding you might break its functionality.
|
||||||
|
It's best to do all your work in your content component instead, but if
|
||||||
|
you really have to override any DocumentWindow methods, make sure your
|
||||||
|
subclass also calls the superclass's method.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private:
|
||||||
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
|
ScopedPointer<MainWindow> mainWindow;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// This macro generates the main() routine that launches the app.
|
||||||
|
START_JUCE_APPLICATION (AnimationAppExampleApplication)
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This file was auto-generated!
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MAINCOMPONENT_H_INCLUDED
|
||||||
|
#define MAINCOMPONENT_H_INCLUDED
|
||||||
|
|
||||||
|
#include "../JuceLibraryCode/JuceHeader.h"
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
/*
|
||||||
|
This component lives inside our window, and this is where you should put all
|
||||||
|
your controls and content.
|
||||||
|
*/
|
||||||
|
class MainContentComponent : public AnimatedAppComponent
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//==============================================================================
|
||||||
|
MainContentComponent()
|
||||||
|
{
|
||||||
|
setSize (800, 600);
|
||||||
|
setFramesPerSecond (60);
|
||||||
|
}
|
||||||
|
|
||||||
|
void update() override
|
||||||
|
{
|
||||||
|
// This function is called at the frequency specified by the setFramesPerSecond() call
|
||||||
|
// in the constructor. You can use it to update counters, animate values, etc.
|
||||||
|
}
|
||||||
|
|
||||||
|
void paint (Graphics& g) override
|
||||||
|
{
|
||||||
|
// (Our component is opaque, so we must completely fill the background with a solid colour)
|
||||||
|
g.fillAll (Colours::black);
|
||||||
|
|
||||||
|
g.setColour (Colours::white);
|
||||||
|
const int fishLength = 15;
|
||||||
|
|
||||||
|
Path spinePath;
|
||||||
|
|
||||||
|
for (int i = 0; i < fishLength; ++i)
|
||||||
|
{
|
||||||
|
const float radius = 100 + 10 * std::sin (getFrameCounter() * 0.1f + i * 0.5f);
|
||||||
|
|
||||||
|
Point<float> p (getWidth() / 2.0f + 1.5f * radius * std::sin (getFrameCounter() * 0.02f + i * 0.12f),
|
||||||
|
getHeight() / 2.0f + 1.0f * radius * std::cos (getFrameCounter() * 0.04f + i * 0.12f));
|
||||||
|
|
||||||
|
// draw the circles along the fish
|
||||||
|
g.fillEllipse (p.x - i, p.y - i, 2.0f + 2.0f * i, 2.0f + 2.0f * i);
|
||||||
|
|
||||||
|
if (i == 0)
|
||||||
|
spinePath.startNewSubPath (p); // if this is the first point, start a new path..
|
||||||
|
else
|
||||||
|
spinePath.lineTo (p); // ...otherwise add the next point
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw an outline around the path that we have created
|
||||||
|
g.strokePath (spinePath, PathStrokeType (4.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
void resized()
|
||||||
|
{
|
||||||
|
// This is called when the MainContentComponent is resized.
|
||||||
|
// If you add any child components, this is where you should
|
||||||
|
// update their positions.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
// Your private member variables go here...
|
||||||
|
|
||||||
|
|
||||||
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// (This function is called by the app startup code to create our main component)
|
||||||
|
Component* createMainContentComponent() { return new MainContentComponent(); }
|
||||||
|
|
||||||
|
|
||||||
|
#endif // MAINCOMPONENT_H_INCLUDED
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<JUCERPROJECT id="PAnJXP" name="AudioAppExample" projectType="guiapp" version="1.0.0"
|
||||||
|
bundleIdentifier="com.yourcompany.AudioAppExample" includeBinaryInAppConfig="1"
|
||||||
|
jucerVersion="3.1.0">
|
||||||
|
<MAINGROUP id="GaJIge" name="AudioAppExample">
|
||||||
|
<GROUP id="{168FC5D4-FA65-8320-F83E-C14C416638E1}" name="Source">
|
||||||
|
<FILE id="aHvhJ2" name="MainComponent.cpp" compile="1" resource="0"
|
||||||
|
file="Source/MainComponent.cpp"/>
|
||||||
|
<FILE id="bGiGIl" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
|
||||||
|
</GROUP>
|
||||||
|
</MAINGROUP>
|
||||||
|
<EXPORTFORMATS>
|
||||||
|
<XCODE_MAC targetFolder="Builds/MacOSX">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" osxSDK="default" osxCompatibility="default" osxArchitecture="default"
|
||||||
|
isDebug="1" optimisation="1" targetName="AudioAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" osxSDK="default" osxCompatibility="default" osxArchitecture="default"
|
||||||
|
isDebug="0" optimisation="2" targetName="AudioAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</XCODE_MAC>
|
||||||
|
<XCODE_IPHONE targetFolder="Builds/iOS">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" iosCompatibility="default" isDebug="1" optimisation="1"
|
||||||
|
targetName="AudioAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" iosCompatibility="default" isDebug="0" optimisation="2"
|
||||||
|
targetName="AudioAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</XCODE_IPHONE>
|
||||||
|
<VS2010 targetFolder="Builds/VisualStudio2010">
|
||||||
|
<CONFIGURATIONS>
|
||||||
|
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||||
|
isDebug="1" optimisation="1" targetName="AudioAppExample"/>
|
||||||
|
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
|
||||||
|
isDebug="0" optimisation="2" targetName="AudioAppExample"/>
|
||||||
|
</CONFIGURATIONS>
|
||||||
|
<MODULEPATHS>
|
||||||
|
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||||
|
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
|
||||||
|
</MODULEPATHS>
|
||||||
|
</VS2010>
|
||||||
|
</EXPORTFORMATS>
|
||||||
|
<MODULES>
|
||||||
|
<MODULES id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_processors" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_audio_utils" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_core" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_cryptography" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_events" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_graphics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_opengl" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
<MODULES id="juce_video" showAllCode="1" useLocalCopy="0"/>
|
||||||
|
</MODULES>
|
||||||
|
<JUCEOPTIONS/>
|
||||||
|
</JUCERPROJECT>
|
||||||
+2152
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.AudioAppExample</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>AudioAppExample</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
BIN
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{2E378E24-A882-72B1-F070-ABCF45D0CB11}") = "AudioAppExample", "AudioAppExample.vcxproj", "{98301F26-3786-86BB-BD55-8BBF7C70DA8D}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
+1725
File diff suppressed because it is too large
Load Diff
+2951
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
|||||||
|
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#include JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#else
|
||||||
|
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 1,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "AudioAppExample\0"
|
||||||
|
VALUE "FileVersion", "1.0.0\0"
|
||||||
|
VALUE "ProductName", "AudioAppExample\0"
|
||||||
|
VALUE "ProductVersion", "1.0.0\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 65001
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
+2142
File diff suppressed because it is too large
Load Diff
+58
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "60x60",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "iphone",
|
||||||
|
"size": "60x60",
|
||||||
|
"scale": "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "29x29",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "40x40",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "76x76",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom": "ipad",
|
||||||
|
"size": "76x76",
|
||||||
|
"scale": "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
+50
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.AudioAppExample</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>AudioAppExample</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
IMPORTANT! This file is auto-generated each time you save your
|
||||||
|
project - if you alter its contents, your changes may be overwritten!
|
||||||
|
|
||||||
|
There's a section below where you can add your own custom code safely, and the
|
||||||
|
Introjucer will preserve the contents of that block, but the best way to change
|
||||||
|
any of these definitions is by using the Introjucer's project settings.
|
||||||
|
|
||||||
|
Any commented-out settings will assume their default values.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __JUCE_APPCONFIG_PANJXP__
|
||||||
|
#define __JUCE_APPCONFIG_PANJXP__
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// [BEGIN_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
// (You can add your own code in this section, and the Introjucer will not overwrite it)
|
||||||
|
|
||||||
|
// [END_USER_CODE_SECTION]
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_audio_utils 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_core 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_cryptography 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_events 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_opengl 1
|
||||||
|
#define JUCE_MODULE_AVAILABLE_juce_video 1
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_devices flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ASIO
|
||||||
|
//#define JUCE_ASIO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_WASAPI
|
||||||
|
//#define JUCE_WASAPI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DIRECTSOUND
|
||||||
|
//#define JUCE_DIRECTSOUND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ALSA
|
||||||
|
//#define JUCE_ALSA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_JACK
|
||||||
|
//#define JUCE_JACK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_ANDROID_OPENSLES
|
||||||
|
//#define JUCE_USE_ANDROID_OPENSLES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDREADER
|
||||||
|
//#define JUCE_USE_CDREADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CDBURNER
|
||||||
|
//#define JUCE_USE_CDBURNER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_formats flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_FLAC
|
||||||
|
//#define JUCE_USE_FLAC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_OGGVORBIS
|
||||||
|
//#define JUCE_USE_OGGVORBIS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
//#define JUCE_USE_MP3AUDIOFORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
//#define JUCE_USE_LAME_AUDIO_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_audio_processors flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST
|
||||||
|
//#define JUCE_PLUGINHOST_VST
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_VST3
|
||||||
|
//#define JUCE_PLUGINHOST_VST3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_PLUGINHOST_AU
|
||||||
|
//#define JUCE_PLUGINHOST_AU
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_core flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_FORCE_DEBUG
|
||||||
|
//#define JUCE_FORCE_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_LOG_ASSERTIONS
|
||||||
|
//#define JUCE_LOG_ASSERTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
//#define JUCE_CHECK_MEMORY_LEAKS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
//#define JUCE_INCLUDE_ZLIB_CODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_graphics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_COREIMAGE_LOADER
|
||||||
|
//#define JUCE_USE_COREIMAGE_LOADER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_DIRECTWRITE
|
||||||
|
//#define JUCE_USE_DIRECTWRITE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_basics flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
//#define JUCE_ENABLE_REPAINT_DEBUGGING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XSHM
|
||||||
|
//#define JUCE_USE_XSHM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XRENDER
|
||||||
|
//#define JUCE_USE_XRENDER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_XCURSOR
|
||||||
|
//#define JUCE_USE_XCURSOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_gui_extra flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_WEB_BROWSER
|
||||||
|
//#define JUCE_WEB_BROWSER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
//#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// juce_video flags:
|
||||||
|
|
||||||
|
#ifndef JUCE_DIRECTSHOW
|
||||||
|
//#define JUCE_DIRECTSHOW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_MEDIAFOUNDATION
|
||||||
|
//#define JUCE_MEDIAFOUNDATION
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_QUICKTIME
|
||||||
|
//#define JUCE_QUICKTIME
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JUCE_USE_CAMERA
|
||||||
|
//#define JUCE_USE_CAMERA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __JUCE_APPCONFIG_PANJXP__
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
IMPORTANT! This file is auto-generated each time you save your
|
||||||
|
project - if you alter its contents, your changes may be overwritten!
|
||||||
|
|
||||||
|
This is the header file that your files should include in order to get all the
|
||||||
|
JUCE library headers. You should avoid including the JUCE headers directly in
|
||||||
|
your own source files, because that wouldn't pick up the correct configuration
|
||||||
|
options for your app.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __APPHEADERFILE_PANJXP__
|
||||||
|
#define __APPHEADERFILE_PANJXP__
|
||||||
|
|
||||||
|
#include "AppConfig.h"
|
||||||
|
#include "modules/juce_audio_basics/juce_audio_basics.h"
|
||||||
|
#include "modules/juce_audio_devices/juce_audio_devices.h"
|
||||||
|
#include "modules/juce_audio_formats/juce_audio_formats.h"
|
||||||
|
#include "modules/juce_audio_processors/juce_audio_processors.h"
|
||||||
|
#include "modules/juce_audio_utils/juce_audio_utils.h"
|
||||||
|
#include "modules/juce_core/juce_core.h"
|
||||||
|
#include "modules/juce_cryptography/juce_cryptography.h"
|
||||||
|
#include "modules/juce_data_structures/juce_data_structures.h"
|
||||||
|
#include "modules/juce_events/juce_events.h"
|
||||||
|
#include "modules/juce_graphics/juce_graphics.h"
|
||||||
|
#include "modules/juce_gui_basics/juce_gui_basics.h"
|
||||||
|
#include "modules/juce_gui_extra/juce_gui_extra.h"
|
||||||
|
#include "modules/juce_opengl/juce_opengl.h"
|
||||||
|
#include "modules/juce_video/juce_video.h"
|
||||||
|
|
||||||
|
#if ! DONT_SET_USING_JUCE_NAMESPACE
|
||||||
|
// If your code uses a lot of JUCE classes, then this will obviously save you
|
||||||
|
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
|
||||||
|
using namespace juce;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! JUCE_DONT_DECLARE_PROJECTINFO
|
||||||
|
namespace ProjectInfo
|
||||||
|
{
|
||||||
|
const char* const projectName = "AudioAppExample";
|
||||||
|
const char* const versionString = "1.0.0";
|
||||||
|
const int versionNumber = 0x10000;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // __APPHEADERFILE_PANJXP__
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
Important Note!!
|
||||||
|
================
|
||||||
|
|
||||||
|
The purpose of this folder is to contain files that are auto-generated by the Introjucer,
|
||||||
|
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
|
||||||
|
the Introjucer saves your project.
|
||||||
|
|
||||||
|
Therefore, it's a bad idea to make any manual changes to the files in here, or to
|
||||||
|
put any of your own files in here if you don't want to lose them. (Of course you may choose
|
||||||
|
to add the folder's contents to your version-control system so that you can re-merge your own
|
||||||
|
modifications after the Introjucer has saved its changes).
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h"
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_core/juce_core.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_cryptography/juce_cryptography.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_data_structures/juce_data_structures.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_events/juce_events.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_graphics/juce_graphics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_opengl/juce_opengl.h"
|
||||||
|
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
// This is an auto-generated file to redirect any included
|
||||||
|
// module headers to the correct external folder.
|
||||||
|
|
||||||
|
#include "../../../../../modules/juce_video/juce_video.h"
|
||||||
|
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This file was auto-generated by the Introjucer!
|
||||||
|
|
||||||
|
It contains the basic startup code for a Juce application.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../JuceLibraryCode/JuceHeader.h"
|
||||||
|
|
||||||
|
Component* createMainContentComponent();
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
class AudioAppExampleApplication : public JUCEApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//==============================================================================
|
||||||
|
AudioAppExampleApplication() {}
|
||||||
|
|
||||||
|
const String getApplicationName() override { return ProjectInfo::projectName; }
|
||||||
|
const String getApplicationVersion() override { return ProjectInfo::versionString; }
|
||||||
|
bool moreThanOneInstanceAllowed() override { return true; }
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
void initialise (const String& /*commandLine*/) override
|
||||||
|
{
|
||||||
|
// This method is where you should put your application's initialisation code..
|
||||||
|
|
||||||
|
mainWindow = new MainWindow (getApplicationName());
|
||||||
|
}
|
||||||
|
|
||||||
|
void shutdown() override
|
||||||
|
{
|
||||||
|
// Add your application's shutdown code here..
|
||||||
|
|
||||||
|
mainWindow = nullptr; // (deletes our window)
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
void systemRequestedQuit() override
|
||||||
|
{
|
||||||
|
// This is called when the app is being asked to quit: you can ignore this
|
||||||
|
// request and let the app carry on running, or call quit() to allow the app to close.
|
||||||
|
quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void anotherInstanceStarted (const String& /*commandLine*/) override
|
||||||
|
{
|
||||||
|
// When another instance of the app is launched while this one is running,
|
||||||
|
// this method is invoked, and the commandLine parameter tells you what
|
||||||
|
// the other instance's command-line arguments were.
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
/*
|
||||||
|
This class implements the desktop window that contains an instance of
|
||||||
|
our MainContentComponent class.
|
||||||
|
*/
|
||||||
|
class MainWindow : public DocumentWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MainWindow (String name) : DocumentWindow (name,
|
||||||
|
Colours::lightgrey,
|
||||||
|
DocumentWindow::allButtons)
|
||||||
|
{
|
||||||
|
setUsingNativeTitleBar (true);
|
||||||
|
setContentOwned (createMainContentComponent(), true);
|
||||||
|
setResizable (true, true);
|
||||||
|
|
||||||
|
centreWithSize (getWidth(), getHeight());
|
||||||
|
setVisible (true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void closeButtonPressed() override
|
||||||
|
{
|
||||||
|
// This is called when the user tries to close this window. Here, we'll just
|
||||||
|
// ask the app to quit when this happens, but you can change this to do
|
||||||
|
// whatever you need.
|
||||||
|
JUCEApplication::getInstance()->systemRequestedQuit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Note: Be careful if you override any DocumentWindow methods - the base
|
||||||
|
class uses a lot of them, so by overriding you might break its functionality.
|
||||||
|
It's best to do all your work in your content component instead, but if
|
||||||
|
you really have to override any DocumentWindow methods, make sure your
|
||||||
|
subclass also calls the superclass's method.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private:
|
||||||
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
|
ScopedPointer<MainWindow> mainWindow;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// This macro generates the main() routine that launches the app.
|
||||||
|
START_JUCE_APPLICATION (AudioAppExampleApplication)
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
/*
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This file was auto-generated!
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MAINCOMPONENT_H_INCLUDED
|
||||||
|
#define MAINCOMPONENT_H_INCLUDED
|
||||||
|
|
||||||
|
#include "../JuceLibraryCode/JuceHeader.h"
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
class MainContentComponent : public AudioAppComponent
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//==============================================================================
|
||||||
|
MainContentComponent()
|
||||||
|
: phase (0.0f),
|
||||||
|
phaseDelta (0.0f),
|
||||||
|
frequency (5000.0f),
|
||||||
|
amplitude (0.2f),
|
||||||
|
sampleRate (0.0),
|
||||||
|
expectedSamplesPerBlock (0)
|
||||||
|
{
|
||||||
|
setSize (800, 600);
|
||||||
|
|
||||||
|
// specify the number of input and output channels that we want to open
|
||||||
|
setAudioChannels (2, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
~MainContentComponent()
|
||||||
|
{
|
||||||
|
shutdownAudio();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
void prepareToPlay (int samplesPerBlockExpected, double newSampleRate) override
|
||||||
|
{
|
||||||
|
sampleRate = newSampleRate;
|
||||||
|
expectedSamplesPerBlock = samplesPerBlockExpected;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This method generates the actual audio samples.
|
||||||
|
In this example the buffer is filled with a sine wave whose frequency and
|
||||||
|
amplitude are controlled by the mouse position.
|
||||||
|
*/
|
||||||
|
void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override
|
||||||
|
{
|
||||||
|
bufferToFill.clearActiveBufferRegion();
|
||||||
|
const float originalPhase = phase;
|
||||||
|
|
||||||
|
for (int chan = 0; chan < bufferToFill.buffer->getNumChannels(); ++chan)
|
||||||
|
{
|
||||||
|
phase = originalPhase;
|
||||||
|
|
||||||
|
float* const channelData = bufferToFill.buffer->getWritePointer (chan, bufferToFill.startSample);
|
||||||
|
|
||||||
|
for (int i = 0; i < bufferToFill.numSamples ; ++i)
|
||||||
|
{
|
||||||
|
channelData[i] = amplitude * std::sin (phase);
|
||||||
|
|
||||||
|
// increment the phase step for the next sample
|
||||||
|
phase = std::fmod (phase + phaseDelta, float_Pi * 2.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void releaseResources() override
|
||||||
|
{
|
||||||
|
// This gets automatically called when audio device paramters change
|
||||||
|
// or device is restarted.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
void paint (Graphics& g) override
|
||||||
|
{
|
||||||
|
// (Our component is opaque, so we must completely fill the background with a solid colour)
|
||||||
|
g.fillAll (Colours::black);
|
||||||
|
|
||||||
|
const float centreY = getHeight() / 2.0f;
|
||||||
|
const float radius = amplitude * 200.0f;
|
||||||
|
|
||||||
|
// Draw an ellipse based on the mouse position and audio volume
|
||||||
|
g.setColour (Colours::lightgreen);
|
||||||
|
g.fillEllipse (lastMousePosition.x - radius / 2.0f,
|
||||||
|
lastMousePosition.y - radius / 2.0f,
|
||||||
|
radius, radius);
|
||||||
|
|
||||||
|
// draw a representative sinewave
|
||||||
|
Path wavePath;
|
||||||
|
wavePath.startNewSubPath (0, centreY);
|
||||||
|
|
||||||
|
for (float x = 1.0f; x < getWidth(); ++x)
|
||||||
|
wavePath.lineTo (x, centreY + amplitude * getHeight() * 2.0f
|
||||||
|
* std::sin (x * frequency * 0.0001f));
|
||||||
|
|
||||||
|
g.setColour (Colours::grey);
|
||||||
|
g.strokePath (wavePath, PathStrokeType (2.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mouse handling..
|
||||||
|
void mouseDown (const MouseEvent& e) override
|
||||||
|
{
|
||||||
|
mouseDrag (e);
|
||||||
|
}
|
||||||
|
|
||||||
|
void mouseDrag (const MouseEvent& e) override
|
||||||
|
{
|
||||||
|
lastMousePosition = e.position;
|
||||||
|
|
||||||
|
frequency = (getHeight() - e.y) * 10.0f;
|
||||||
|
amplitude = jmin (0.9f, 0.2f * e.position.x / getWidth());
|
||||||
|
|
||||||
|
phaseDelta = 2.0f * float_Pi * frequency / sampleRate;
|
||||||
|
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
void mouseUp (const MouseEvent&) override
|
||||||
|
{
|
||||||
|
amplitude = 0.0f;
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
void resized() override
|
||||||
|
{
|
||||||
|
// This is called when the MainContentComponent is resized.
|
||||||
|
// If you add any child components, this is where you should
|
||||||
|
// update their positions.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
//==============================================================================
|
||||||
|
float phase;
|
||||||
|
float phaseDelta;
|
||||||
|
float frequency;
|
||||||
|
float amplitude;
|
||||||
|
|
||||||
|
double sampleRate;
|
||||||
|
int expectedSamplesPerBlock;
|
||||||
|
Point<float> lastMousePosition;
|
||||||
|
|
||||||
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Component* createMainContentComponent() { return new MainContentComponent(); };
|
||||||
|
|
||||||
|
#endif // MAINCOMPONENT_H_INCLUDED
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0"
|
||||||
|
package="com.juce.jucedemo">
|
||||||
|
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
|
||||||
|
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="11"/>
|
||||||
|
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||||
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
|
||||||
|
<application android:label="@string/app_name" android:icon="@drawable/icon">
|
||||||
|
<activity android:name="JuceDemo" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
</manifest>
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<project name="JuceDemo" default="debug">
|
||||||
|
<loadproperties srcFile="local.properties"/>
|
||||||
|
<loadproperties srcFile="project.properties"/>
|
||||||
|
<target name="clean" depends="android_rules.clean">
|
||||||
|
<delete dir="libs"/>
|
||||||
|
<delete dir="obj"/>
|
||||||
|
<exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
|
||||||
|
<arg value="clean"/>
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
<target name="-pre-build">
|
||||||
|
<condition property="makefileConfig" value="Debug" else="Release">
|
||||||
|
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
|
||||||
|
</condition>
|
||||||
|
<condition property="ndkDebugValue" value="NDK_DEBUG=1" else="NDK_DEBUG=0">
|
||||||
|
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
|
||||||
|
</condition>
|
||||||
|
<condition property="app_abis" value="armeabi armeabi-v7a" else="armeabi armeabi-v7a">
|
||||||
|
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
|
||||||
|
</condition>
|
||||||
|
<exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
|
||||||
|
<arg value="--jobs=2"/>
|
||||||
|
<arg value="CONFIG=${makefileConfig}"/>
|
||||||
|
<arg value="${ndkDebugValue}"/>
|
||||||
|
<arg value="APP_ABI=${app_abis}"/>
|
||||||
|
</exec>
|
||||||
|
<delete file="${out.final.file}"/>
|
||||||
|
<delete file="${out.packaged.file}"/>
|
||||||
|
</target>
|
||||||
|
<import file="${sdk.dir}/tools/ant/build.xml"/>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# Automatically generated makefile, created by the Introjucer
|
||||||
|
# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||||
|
LOCAL_ARM_MODE := arm
|
||||||
|
endif
|
||||||
|
|
||||||
|
LOCAL_MODULE := juce_jni
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
../../../Source/Main.cpp\
|
||||||
|
../../../Source/MainWindow.cpp\
|
||||||
|
../../../Source/IntroScreen.cpp\
|
||||||
|
../../../Source/Demos/AnimationDemo.cpp\
|
||||||
|
../../../Source/Demos/AudioLatencyDemo.cpp\
|
||||||
|
../../../Source/Demos/AudioPlaybackDemo.cpp\
|
||||||
|
../../../Source/Demos/AudioRecordingDemo.cpp\
|
||||||
|
../../../Source/Demos/AudioSettingsDemo.cpp\
|
||||||
|
../../../Source/Demos/AudioSynthesiserDemo.cpp\
|
||||||
|
../../../Source/Demos/Box2DDemo.cpp\
|
||||||
|
../../../Source/Demos/CameraDemo.cpp\
|
||||||
|
../../../Source/Demos/ChildProcessDemo.cpp\
|
||||||
|
../../../Source/Demos/CodeEditorDemo.cpp\
|
||||||
|
../../../Source/Demos/ComponentTransformsDemo.cpp\
|
||||||
|
../../../Source/Demos/CryptographyDemo.cpp\
|
||||||
|
../../../Source/Demos/DialogsDemo.cpp\
|
||||||
|
../../../Source/Demos/FontsDemo.cpp\
|
||||||
|
../../../Source/Demos/GraphicsDemo.cpp\
|
||||||
|
../../../Source/Demos/ImagesDemo.cpp\
|
||||||
|
../../../Source/Demos/JavaScript.cpp\
|
||||||
|
../../../Source/Demos/KeyMappingsDemo.cpp\
|
||||||
|
../../../Source/Demos/LiveConstantDemo.cpp\
|
||||||
|
../../../Source/Demos/LookAndFeelDemo.cpp\
|
||||||
|
../../../Source/Demos/MDIDemo.cpp\
|
||||||
|
../../../Source/Demos/MidiDemo.cpp\
|
||||||
|
../../../Source/Demos/MultithreadingDemo.cpp\
|
||||||
|
../../../Source/Demos/MultiTouch.cpp\
|
||||||
|
../../../Source/Demos/NetworkingDemo.cpp\
|
||||||
|
../../../Source/Demos/OpenGLDemo.cpp\
|
||||||
|
../../../Source/Demos/OpenGLDemo2D.cpp\
|
||||||
|
../../../Source/Demos/PropertiesDemo.cpp\
|
||||||
|
../../../Source/Demos/SystemInfoDemo.cpp\
|
||||||
|
../../../Source/Demos/TimersAndEventsDemo.cpp\
|
||||||
|
../../../Source/Demos/UnitTestsDemo.cpp\
|
||||||
|
../../../Source/Demos/ValueTreesDemo.cpp\
|
||||||
|
../../../Source/Demos/VideoDemo.cpp\
|
||||||
|
../../../Source/Demos/WebBrowserDemo.cpp\
|
||||||
|
../../../Source/Demos/WidgetsDemo.cpp\
|
||||||
|
../../../Source/Demos/WindowsDemo.cpp\
|
||||||
|
../../../Source/Demos/XMLandJSONDemo.cpp\
|
||||||
|
../../../JuceLibraryCode/BinaryData.cpp\
|
||||||
|
../../../../../modules/juce_audio_basics/juce_audio_basics.cpp\
|
||||||
|
../../../../../modules/juce_audio_devices/juce_audio_devices.cpp\
|
||||||
|
../../../../../modules/juce_audio_formats/juce_audio_formats.cpp\
|
||||||
|
../../../../../modules/juce_audio_processors/juce_audio_processors.cpp\
|
||||||
|
../../../../../modules/juce_audio_utils/juce_audio_utils.cpp\
|
||||||
|
../../../../../modules/juce_box2d/juce_box2d.cpp\
|
||||||
|
../../../../../modules/juce_core/juce_core.cpp\
|
||||||
|
../../../../../modules/juce_cryptography/juce_cryptography.cpp\
|
||||||
|
../../../../../modules/juce_data_structures/juce_data_structures.cpp\
|
||||||
|
../../../../../modules/juce_events/juce_events.cpp\
|
||||||
|
../../../../../modules/juce_graphics/juce_graphics.cpp\
|
||||||
|
../../../../../modules/juce_gui_basics/juce_gui_basics.cpp\
|
||||||
|
../../../../../modules/juce_gui_extra/juce_gui_extra.cpp\
|
||||||
|
../../../../../modules/juce_opengl/juce_opengl.cpp\
|
||||||
|
../../../../../modules/juce_video/juce_video.cpp\
|
||||||
|
|
||||||
|
ifeq ($(NDK_DEBUG),1)
|
||||||
|
LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=9" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000"
|
||||||
|
LOCAL_LDLIBS := -llog -lGLESv2
|
||||||
|
LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=9" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000"
|
||||||
|
LOCAL_LDLIBS := -llog -lGLESv2
|
||||||
|
else
|
||||||
|
LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=9" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000"
|
||||||
|
LOCAL_LDLIBS := -llog -lGLESv2
|
||||||
|
LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=9" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000"
|
||||||
|
LOCAL_LDLIBS := -llog -lGLESv2
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated makefile, created by the Introjucer
|
||||||
|
# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!
|
||||||
|
|
||||||
|
APP_STL := gnustl_static
|
||||||
|
APP_CPPFLAGS += -fsigned-char -fexceptions -frtti -Wno-psabi
|
||||||
|
APP_PLATFORM := android-10
|
||||||
|
NDK_TOOLCHAIN_VERSION := 4.8
|
||||||
|
|
||||||
|
ifeq ($(NDK_DEBUG),1)
|
||||||
|
APP_ABI := armeabi armeabi-v7a
|
||||||
|
else
|
||||||
|
APP_ABI := armeabi armeabi-v7a
|
||||||
|
endif
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# This file is used to override default values used by the Ant build system.
|
||||||
|
# It is automatically generated by the Introjucer - DO NOT EDIT IT or your changes will be lost!.
|
||||||
|
|
||||||
|
sdk.dir=${user.home}/SDKs/android-sdk
|
||||||
|
ndk.dir=${user.home}/SDKs/android-ndk
|
||||||
|
key.store=${user.home}/.android/debug.keystore
|
||||||
|
key.alias=androiddebugkey
|
||||||
|
key.store.password=android
|
||||||
|
key.alias.password=android
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# This file is used to override default values used by the Ant build system.
|
||||||
|
# It is automatically generated - DO NOT EDIT IT or your changes will be lost!.
|
||||||
|
|
||||||
|
target=android-10
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<string name="app_name">JuceDemo</string>
|
||||||
|
</resources>
|
||||||
@@ -0,0 +1,746 @@
|
|||||||
|
/*
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This file is part of the JUCE library.
|
||||||
|
Copyright (c) 2013 - Raw Material Software Ltd.
|
||||||
|
|
||||||
|
Permission is granted to use this software under the terms of either:
|
||||||
|
a) the GPL v2 (or any later version)
|
||||||
|
b) the Affero GPL v3
|
||||||
|
|
||||||
|
Details of these licenses can be found at: www.gnu.org/licenses
|
||||||
|
|
||||||
|
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
To release a closed-source product which uses JUCE, commercial licenses are
|
||||||
|
available: visit www.juce.com for more information.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.juce.jucedemo;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.*;
|
||||||
|
import android.view.inputmethod.BaseInputConnection;
|
||||||
|
import android.view.inputmethod.EditorInfo;
|
||||||
|
import android.view.inputmethod.InputConnection;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.graphics.*;
|
||||||
|
import android.opengl.*;
|
||||||
|
import android.text.ClipboardManager;
|
||||||
|
import android.text.InputType;
|
||||||
|
import android.util.DisplayMetrics;
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import javax.microedition.khronos.egl.EGLConfig;
|
||||||
|
import javax.microedition.khronos.opengles.GL10;
|
||||||
|
import android.media.AudioManager;
|
||||||
|
import android.media.MediaScannerConnection;
|
||||||
|
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final class JuceDemo extends Activity
|
||||||
|
{
|
||||||
|
//==============================================================================
|
||||||
|
static
|
||||||
|
{
|
||||||
|
System.loadLibrary ("juce_jni");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void onCreate (Bundle savedInstanceState)
|
||||||
|
{
|
||||||
|
super.onCreate (savedInstanceState);
|
||||||
|
|
||||||
|
viewHolder = new ViewHolder (this);
|
||||||
|
setContentView (viewHolder);
|
||||||
|
|
||||||
|
setVolumeControlStream (AudioManager.STREAM_MUSIC);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected final void onDestroy()
|
||||||
|
{
|
||||||
|
quitApp();
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected final void onPause()
|
||||||
|
{
|
||||||
|
if (viewHolder != null)
|
||||||
|
viewHolder.onPause();
|
||||||
|
|
||||||
|
suspendApp();
|
||||||
|
super.onPause();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected final void onResume()
|
||||||
|
{
|
||||||
|
super.onResume();
|
||||||
|
|
||||||
|
if (viewHolder != null)
|
||||||
|
viewHolder.onResume();
|
||||||
|
|
||||||
|
resumeApp();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged (Configuration cfg)
|
||||||
|
{
|
||||||
|
super.onConfigurationChanged (cfg);
|
||||||
|
setContentView (viewHolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void callAppLauncher()
|
||||||
|
{
|
||||||
|
launchApp (getApplicationInfo().publicSourceDir,
|
||||||
|
getApplicationInfo().dataDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private native void launchApp (String appFile, String appDataDir);
|
||||||
|
private native void quitApp();
|
||||||
|
private native void suspendApp();
|
||||||
|
private native void resumeApp();
|
||||||
|
private native void setScreenSize (int screenWidth, int screenHeight, int dpi);
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public native void deliverMessage (long value);
|
||||||
|
private android.os.Handler messageHandler = new android.os.Handler();
|
||||||
|
|
||||||
|
public final void postMessage (long value)
|
||||||
|
{
|
||||||
|
messageHandler.post (new MessageCallback (value));
|
||||||
|
}
|
||||||
|
|
||||||
|
private final class MessageCallback implements Runnable
|
||||||
|
{
|
||||||
|
public MessageCallback (long value_) { value = value_; }
|
||||||
|
public final void run() { deliverMessage (value); }
|
||||||
|
|
||||||
|
private long value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private ViewHolder viewHolder;
|
||||||
|
|
||||||
|
public final ComponentPeerView createNewView (boolean opaque, long host)
|
||||||
|
{
|
||||||
|
ComponentPeerView v = new ComponentPeerView (this, opaque, host);
|
||||||
|
viewHolder.addView (v);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void deleteView (ComponentPeerView view)
|
||||||
|
{
|
||||||
|
ViewGroup group = (ViewGroup) (view.getParent());
|
||||||
|
|
||||||
|
if (group != null)
|
||||||
|
group.removeView (view);
|
||||||
|
}
|
||||||
|
|
||||||
|
final class ViewHolder extends ViewGroup
|
||||||
|
{
|
||||||
|
public ViewHolder (Context context)
|
||||||
|
{
|
||||||
|
super (context);
|
||||||
|
setDescendantFocusability (ViewGroup.FOCUS_AFTER_DESCENDANTS);
|
||||||
|
setFocusable (false);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void onLayout (boolean changed, int left, int top, int right, int bottom)
|
||||||
|
{
|
||||||
|
setScreenSize (getWidth(), getHeight(), getDPI());
|
||||||
|
|
||||||
|
if (isFirstResize)
|
||||||
|
{
|
||||||
|
isFirstResize = false;
|
||||||
|
callAppLauncher();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void onPause()
|
||||||
|
{
|
||||||
|
for (int i = getChildCount(); --i >= 0;)
|
||||||
|
{
|
||||||
|
View v = getChildAt (i);
|
||||||
|
|
||||||
|
if (v instanceof ComponentPeerView)
|
||||||
|
((ComponentPeerView) v).onPause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void onResume()
|
||||||
|
{
|
||||||
|
for (int i = getChildCount(); --i >= 0;)
|
||||||
|
{
|
||||||
|
View v = getChildAt (i);
|
||||||
|
|
||||||
|
if (v instanceof ComponentPeerView)
|
||||||
|
((ComponentPeerView) v).onResume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final int getDPI()
|
||||||
|
{
|
||||||
|
DisplayMetrics metrics = new DisplayMetrics();
|
||||||
|
getWindowManager().getDefaultDisplay().getMetrics (metrics);
|
||||||
|
return metrics.densityDpi;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isFirstResize = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void excludeClipRegion (android.graphics.Canvas canvas, float left, float top, float right, float bottom)
|
||||||
|
{
|
||||||
|
canvas.clipRect (left, top, right, bottom, android.graphics.Region.Op.DIFFERENCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final String getClipboardContent()
|
||||||
|
{
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE);
|
||||||
|
return clipboard.getText().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void setClipboardContent (String newText)
|
||||||
|
{
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE);
|
||||||
|
clipboard.setText (newText);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final void showMessageBox (String title, String message, final long callback)
|
||||||
|
{
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder (this);
|
||||||
|
builder.setTitle (title)
|
||||||
|
.setMessage (message)
|
||||||
|
.setCancelable (true)
|
||||||
|
.setPositiveButton ("OK", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.create().show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void showOkCancelBox (String title, String message, final long callback)
|
||||||
|
{
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder (this);
|
||||||
|
builder.setTitle (title)
|
||||||
|
.setMessage (message)
|
||||||
|
.setCancelable (true)
|
||||||
|
.setPositiveButton ("OK", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setNegativeButton ("Cancel", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.create().show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void showYesNoCancelBox (String title, String message, final long callback)
|
||||||
|
{
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder (this);
|
||||||
|
builder.setTitle (title)
|
||||||
|
.setMessage (message)
|
||||||
|
.setCancelable (true)
|
||||||
|
.setPositiveButton ("Yes", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setNegativeButton ("No", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 2);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setNeutralButton ("Cancel", new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick (DialogInterface dialog, int id)
|
||||||
|
{
|
||||||
|
dialog.cancel();
|
||||||
|
JuceDemo.this.alertDismissed (callback, 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.create().show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public native void alertDismissed (long callback, int id);
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final class ComponentPeerView extends ViewGroup
|
||||||
|
implements View.OnFocusChangeListener
|
||||||
|
{
|
||||||
|
public ComponentPeerView (Context context, boolean opaque_, long host)
|
||||||
|
{
|
||||||
|
super (context);
|
||||||
|
this.host = host;
|
||||||
|
setWillNotDraw (false);
|
||||||
|
opaque = opaque_;
|
||||||
|
|
||||||
|
setFocusable (true);
|
||||||
|
setFocusableInTouchMode (true);
|
||||||
|
setOnFocusChangeListener (this);
|
||||||
|
requestFocus();
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private native void handlePaint (long host, Canvas canvas);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDraw (Canvas canvas)
|
||||||
|
{
|
||||||
|
handlePaint (host, canvas);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOpaque()
|
||||||
|
{
|
||||||
|
return opaque;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean opaque;
|
||||||
|
private long host;
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private native void handleMouseDown (long host, int index, float x, float y, long time);
|
||||||
|
private native void handleMouseDrag (long host, int index, float x, float y, long time);
|
||||||
|
private native void handleMouseUp (long host, int index, float x, float y, long time);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onTouchEvent (MotionEvent event)
|
||||||
|
{
|
||||||
|
int action = event.getAction();
|
||||||
|
long time = event.getEventTime();
|
||||||
|
|
||||||
|
switch (action & MotionEvent.ACTION_MASK)
|
||||||
|
{
|
||||||
|
case MotionEvent.ACTION_DOWN:
|
||||||
|
handleMouseDown (host, event.getPointerId(0), event.getX(), event.getY(), time);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case MotionEvent.ACTION_CANCEL:
|
||||||
|
case MotionEvent.ACTION_UP:
|
||||||
|
handleMouseUp (host, event.getPointerId(0), event.getX(), event.getY(), time);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case MotionEvent.ACTION_MOVE:
|
||||||
|
{
|
||||||
|
int n = event.getPointerCount();
|
||||||
|
for (int i = 0; i < n; ++i)
|
||||||
|
handleMouseDrag (host, event.getPointerId(i), event.getX(i), event.getY(i), time);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
case MotionEvent.ACTION_POINTER_UP:
|
||||||
|
{
|
||||||
|
int i = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
|
||||||
|
handleMouseUp (host, event.getPointerId(i), event.getX(i), event.getY(i), time);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
case MotionEvent.ACTION_POINTER_DOWN:
|
||||||
|
{
|
||||||
|
int i = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
|
||||||
|
handleMouseDown (host, event.getPointerId(i), event.getX(i), event.getY(i), time);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private native void handleKeyDown (long host, int keycode, int textchar);
|
||||||
|
private native void handleKeyUp (long host, int keycode, int textchar);
|
||||||
|
|
||||||
|
public void showKeyboard (String type)
|
||||||
|
{
|
||||||
|
InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE);
|
||||||
|
|
||||||
|
if (imm != null)
|
||||||
|
{
|
||||||
|
if (type.length() > 0)
|
||||||
|
{
|
||||||
|
imm.showSoftInput (this, android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT);
|
||||||
|
imm.setInputMethod (getWindowToken(), type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
imm.hideSoftInputFromWindow (getWindowToken(), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onKeyDown (int keyCode, KeyEvent event)
|
||||||
|
{
|
||||||
|
switch (keyCode)
|
||||||
|
{
|
||||||
|
case KeyEvent.KEYCODE_VOLUME_UP:
|
||||||
|
case KeyEvent.KEYCODE_VOLUME_DOWN:
|
||||||
|
return super.onKeyDown (keyCode, event);
|
||||||
|
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleKeyDown (host, keyCode, event.getUnicodeChar());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onKeyUp (int keyCode, KeyEvent event)
|
||||||
|
{
|
||||||
|
handleKeyUp (host, keyCode, event.getUnicodeChar());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// this is here to make keyboard entry work on a Galaxy Tab2 10.1
|
||||||
|
@Override
|
||||||
|
public InputConnection onCreateInputConnection (EditorInfo outAttrs)
|
||||||
|
{
|
||||||
|
outAttrs.actionLabel = "";
|
||||||
|
outAttrs.hintText = "";
|
||||||
|
outAttrs.initialCapsMode = 0;
|
||||||
|
outAttrs.initialSelEnd = outAttrs.initialSelStart = -1;
|
||||||
|
outAttrs.label = "";
|
||||||
|
outAttrs.imeOptions = EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI;
|
||||||
|
outAttrs.inputType = InputType.TYPE_NULL;
|
||||||
|
|
||||||
|
return new BaseInputConnection (this, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
@Override
|
||||||
|
protected void onSizeChanged (int w, int h, int oldw, int oldh)
|
||||||
|
{
|
||||||
|
super.onSizeChanged (w, h, oldw, oldh);
|
||||||
|
viewSizeChanged (host);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onLayout (boolean changed, int left, int top, int right, int bottom)
|
||||||
|
{
|
||||||
|
for (int i = getChildCount(); --i >= 0;)
|
||||||
|
requestTransparentRegion (getChildAt (i));
|
||||||
|
}
|
||||||
|
|
||||||
|
private native void viewSizeChanged (long host);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFocusChange (View v, boolean hasFocus)
|
||||||
|
{
|
||||||
|
if (v == this)
|
||||||
|
focusChanged (host, hasFocus);
|
||||||
|
}
|
||||||
|
|
||||||
|
private native void focusChanged (long host, boolean hasFocus);
|
||||||
|
|
||||||
|
public void setViewName (String newName) {}
|
||||||
|
|
||||||
|
public boolean isVisible() { return getVisibility() == VISIBLE; }
|
||||||
|
public void setVisible (boolean b) { setVisibility (b ? VISIBLE : INVISIBLE); }
|
||||||
|
|
||||||
|
public boolean containsPoint (int x, int y)
|
||||||
|
{
|
||||||
|
return true; //xxx needs to check overlapping views
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void onPause()
|
||||||
|
{
|
||||||
|
for (int i = getChildCount(); --i >= 0;)
|
||||||
|
{
|
||||||
|
View v = getChildAt (i);
|
||||||
|
|
||||||
|
if (v instanceof OpenGLView)
|
||||||
|
((OpenGLView) v).onPause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void onResume()
|
||||||
|
{
|
||||||
|
for (int i = getChildCount(); --i >= 0;)
|
||||||
|
{
|
||||||
|
View v = getChildAt (i);
|
||||||
|
|
||||||
|
if (v instanceof OpenGLView)
|
||||||
|
((OpenGLView) v).onResume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public OpenGLView createGLView()
|
||||||
|
{
|
||||||
|
OpenGLView glView = new OpenGLView (getContext());
|
||||||
|
addView (glView);
|
||||||
|
return glView;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final class OpenGLView extends GLSurfaceView
|
||||||
|
implements GLSurfaceView.Renderer
|
||||||
|
{
|
||||||
|
OpenGLView (Context context)
|
||||||
|
{
|
||||||
|
super (context);
|
||||||
|
setEGLContextClientVersion (2);
|
||||||
|
setRenderer (this);
|
||||||
|
setRenderMode (RENDERMODE_WHEN_DIRTY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSurfaceCreated (GL10 unused, EGLConfig config)
|
||||||
|
{
|
||||||
|
contextCreated();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSurfaceChanged (GL10 unused, int width, int height)
|
||||||
|
{
|
||||||
|
contextChangedSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDrawFrame (GL10 unused)
|
||||||
|
{
|
||||||
|
render();
|
||||||
|
}
|
||||||
|
|
||||||
|
private native void contextCreated();
|
||||||
|
private native void contextChangedSize();
|
||||||
|
private native void render();
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public final int[] renderGlyph (char glyph, Paint paint, android.graphics.Matrix matrix, Rect bounds)
|
||||||
|
{
|
||||||
|
Path p = new Path();
|
||||||
|
paint.getTextPath (String.valueOf (glyph), 0, 1, 0.0f, 0.0f, p);
|
||||||
|
|
||||||
|
RectF boundsF = new RectF();
|
||||||
|
p.computeBounds (boundsF, true);
|
||||||
|
matrix.mapRect (boundsF);
|
||||||
|
|
||||||
|
boundsF.roundOut (bounds);
|
||||||
|
bounds.left--;
|
||||||
|
bounds.right++;
|
||||||
|
|
||||||
|
final int w = bounds.width();
|
||||||
|
final int h = Math.max (1, bounds.height());
|
||||||
|
|
||||||
|
Bitmap bm = Bitmap.createBitmap (w, h, Bitmap.Config.ARGB_8888);
|
||||||
|
|
||||||
|
Canvas c = new Canvas (bm);
|
||||||
|
matrix.postTranslate (-bounds.left, -bounds.top);
|
||||||
|
c.setMatrix (matrix);
|
||||||
|
c.drawPath (p, paint);
|
||||||
|
|
||||||
|
final int sizeNeeded = w * h;
|
||||||
|
if (cachedRenderArray.length < sizeNeeded)
|
||||||
|
cachedRenderArray = new int [sizeNeeded];
|
||||||
|
|
||||||
|
bm.getPixels (cachedRenderArray, 0, w, 0, 0, w, h);
|
||||||
|
bm.recycle();
|
||||||
|
return cachedRenderArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int[] cachedRenderArray = new int [256];
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
public static class HTTPStream
|
||||||
|
{
|
||||||
|
public HTTPStream (HttpURLConnection connection_,
|
||||||
|
int[] statusCode, StringBuffer responseHeaders) throws IOException
|
||||||
|
{
|
||||||
|
connection = connection_;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
inputStream = new BufferedInputStream (connection.getInputStream());
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
if (connection.getResponseCode() < org.apache.http.HttpStatus.SC_BAD_REQUEST)
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
statusCode[0] = connection.getResponseCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (statusCode[0] >= org.apache.http.HttpStatus.SC_BAD_REQUEST)
|
||||||
|
inputStream = connection.getErrorStream();
|
||||||
|
else
|
||||||
|
inputStream = connection.getInputStream();
|
||||||
|
|
||||||
|
for (java.util.Map.Entry<String, java.util.List<String>> entry : connection.getHeaderFields().entrySet())
|
||||||
|
if (entry.getKey() != null && entry.getValue() != null)
|
||||||
|
responseHeaders.append (entry.getKey() + ": "
|
||||||
|
+ android.text.TextUtils.join (",", entry.getValue()) + "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void release()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
inputStream.close();
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{}
|
||||||
|
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final int read (byte[] buffer, int numBytes)
|
||||||
|
{
|
||||||
|
int num = 0;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
num = inputStream.read (buffer, 0, numBytes);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{}
|
||||||
|
|
||||||
|
if (num > 0)
|
||||||
|
position += num;
|
||||||
|
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final long getPosition() { return position; }
|
||||||
|
public final long getTotalLength() { return -1; }
|
||||||
|
public final boolean isExhausted() { return false; }
|
||||||
|
public final boolean setPosition (long newPos) { return false; }
|
||||||
|
|
||||||
|
private HttpURLConnection connection;
|
||||||
|
private InputStream inputStream;
|
||||||
|
private long position;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final HTTPStream createHTTPStream (String address,
|
||||||
|
boolean isPost, byte[] postData, String headers,
|
||||||
|
int timeOutMs, int[] statusCode,
|
||||||
|
StringBuffer responseHeaders)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) (new URL(address)
|
||||||
|
.openConnection());
|
||||||
|
if (connection != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (isPost)
|
||||||
|
{
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setConnectTimeout(timeOutMs);
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
connection.setChunkedStreamingMode(0);
|
||||||
|
OutputStream out = connection.getOutputStream();
|
||||||
|
out.write(postData);
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new HTTPStream (connection, statusCode, responseHeaders);
|
||||||
|
}
|
||||||
|
catch (Throwable e)
|
||||||
|
{
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Throwable e) {}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void launchURL (String url)
|
||||||
|
{
|
||||||
|
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final String getLocaleValue (boolean isRegion)
|
||||||
|
{
|
||||||
|
java.util.Locale locale = java.util.Locale.getDefault();
|
||||||
|
|
||||||
|
return isRegion ? locale.getDisplayCountry (java.util.Locale.US)
|
||||||
|
: locale.getDisplayLanguage (java.util.Locale.US);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
private final class SingleMediaScanner implements MediaScannerConnectionClient
|
||||||
|
{
|
||||||
|
public SingleMediaScanner (Context context, String filename)
|
||||||
|
{
|
||||||
|
file = filename;
|
||||||
|
msc = new MediaScannerConnection (context, this);
|
||||||
|
msc.connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMediaScannerConnected()
|
||||||
|
{
|
||||||
|
msc.scanFile (file, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onScanCompleted (String path, Uri uri)
|
||||||
|
{
|
||||||
|
msc.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
private MediaScannerConnection msc;
|
||||||
|
private String file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void scanFile (String filename)
|
||||||
|
{
|
||||||
|
new SingleMediaScanner (this, filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,408 @@
|
|||||||
|
# Automatically generated makefile, created by the Introjucer
|
||||||
|
# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!
|
||||||
|
|
||||||
|
# (this disables dependency generation if multiple architectures are set)
|
||||||
|
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
|
||||||
|
|
||||||
|
ifndef CONFIG
|
||||||
|
CONFIG=Debug
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG),Debug)
|
||||||
|
BINDIR := build
|
||||||
|
LIBDIR := build
|
||||||
|
OBJDIR := build/intermediate/Debug
|
||||||
|
OUTDIR := build
|
||||||
|
|
||||||
|
ifeq ($(TARGET_ARCH),)
|
||||||
|
TARGET_ARCH := -march=native
|
||||||
|
endif
|
||||||
|
|
||||||
|
CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules
|
||||||
|
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
|
||||||
|
CXXFLAGS += $(CFLAGS)
|
||||||
|
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt
|
||||||
|
LDDEPS :=
|
||||||
|
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules
|
||||||
|
TARGET := JuceDemo
|
||||||
|
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
|
||||||
|
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG),Release)
|
||||||
|
BINDIR := build
|
||||||
|
LIBDIR := build
|
||||||
|
OBJDIR := build/intermediate/Release
|
||||||
|
OUTDIR := build
|
||||||
|
|
||||||
|
ifeq ($(TARGET_ARCH),)
|
||||||
|
TARGET_ARCH := -march=native
|
||||||
|
endif
|
||||||
|
|
||||||
|
CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules
|
||||||
|
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3
|
||||||
|
CXXFLAGS += $(CFLAGS)
|
||||||
|
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt
|
||||||
|
LDDEPS :=
|
||||||
|
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules
|
||||||
|
TARGET := JuceDemo
|
||||||
|
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
|
||||||
|
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
OBJECTS := \
|
||||||
|
$(OBJDIR)/Main_90ebc5c2.o \
|
||||||
|
$(OBJDIR)/MainWindow_499ac812.o \
|
||||||
|
$(OBJDIR)/IntroScreen_73347059.o \
|
||||||
|
$(OBJDIR)/AnimationDemo_9fc7e4e9.o \
|
||||||
|
$(OBJDIR)/AudioLatencyDemo_78d49233.o \
|
||||||
|
$(OBJDIR)/AudioPlaybackDemo_ea12adf6.o \
|
||||||
|
$(OBJDIR)/AudioRecordingDemo_435914e6.o \
|
||||||
|
$(OBJDIR)/AudioSettingsDemo_6d710bfe.o \
|
||||||
|
$(OBJDIR)/AudioSynthesiserDemo_1b3666f6.o \
|
||||||
|
$(OBJDIR)/Box2DDemo_51053c42.o \
|
||||||
|
$(OBJDIR)/CameraDemo_a10f7e50.o \
|
||||||
|
$(OBJDIR)/ChildProcessDemo_2c2b949e.o \
|
||||||
|
$(OBJDIR)/CodeEditorDemo_d5c17a65.o \
|
||||||
|
$(OBJDIR)/ComponentTransformsDemo_377f7889.o \
|
||||||
|
$(OBJDIR)/CryptographyDemo_232d46d7.o \
|
||||||
|
$(OBJDIR)/DialogsDemo_19d585d0.o \
|
||||||
|
$(OBJDIR)/FontsDemo_6da1e5e9.o \
|
||||||
|
$(OBJDIR)/GraphicsDemo_85142ef6.o \
|
||||||
|
$(OBJDIR)/ImagesDemo_ecf13aa3.o \
|
||||||
|
$(OBJDIR)/JavaScript_d6e42eb5.o \
|
||||||
|
$(OBJDIR)/KeyMappingsDemo_cf05c709.o \
|
||||||
|
$(OBJDIR)/LiveConstantDemo_e3b18a9b.o \
|
||||||
|
$(OBJDIR)/LookAndFeelDemo_25c558a3.o \
|
||||||
|
$(OBJDIR)/MDIDemo_c476c2d7.o \
|
||||||
|
$(OBJDIR)/MidiDemo_75ebc30c.o \
|
||||||
|
$(OBJDIR)/MultithreadingDemo_ff566eaa.o \
|
||||||
|
$(OBJDIR)/MultiTouch_595f3a2e.o \
|
||||||
|
$(OBJDIR)/NetworkingDemo_fbd1b19f.o \
|
||||||
|
$(OBJDIR)/OpenGLDemo_fdac55da.o \
|
||||||
|
$(OBJDIR)/OpenGLDemo2D_48eeadec.o \
|
||||||
|
$(OBJDIR)/PropertiesDemo_8ff1a8de.o \
|
||||||
|
$(OBJDIR)/SystemInfoDemo_984acd28.o \
|
||||||
|
$(OBJDIR)/TimersAndEventsDemo_f2656547.o \
|
||||||
|
$(OBJDIR)/UnitTestsDemo_5c21762.o \
|
||||||
|
$(OBJDIR)/ValueTreesDemo_9657d84f.o \
|
||||||
|
$(OBJDIR)/VideoDemo_b55a1560.o \
|
||||||
|
$(OBJDIR)/WebBrowserDemo_3df2dbdf.o \
|
||||||
|
$(OBJDIR)/WidgetsDemo_fb0454.o \
|
||||||
|
$(OBJDIR)/WindowsDemo_e8cfa428.o \
|
||||||
|
$(OBJDIR)/XMLandJSONDemo_5bc88df3.o \
|
||||||
|
$(OBJDIR)/BinaryData_ce4232d4.o \
|
||||||
|
$(OBJDIR)/juce_audio_basics_399a455e.o \
|
||||||
|
$(OBJDIR)/juce_audio_devices_c1c9ba9c.o \
|
||||||
|
$(OBJDIR)/juce_audio_formats_f04b043c.o \
|
||||||
|
$(OBJDIR)/juce_audio_processors_eb9ae116.o \
|
||||||
|
$(OBJDIR)/juce_audio_utils_cf18005c.o \
|
||||||
|
$(OBJDIR)/juce_box2d_7c8de7fc.o \
|
||||||
|
$(OBJDIR)/juce_core_1ee54a40.o \
|
||||||
|
$(OBJDIR)/juce_cryptography_3b1f489a.o \
|
||||||
|
$(OBJDIR)/juce_data_structures_84790dfc.o \
|
||||||
|
$(OBJDIR)/juce_events_584896b4.o \
|
||||||
|
$(OBJDIR)/juce_graphics_f9afc18.o \
|
||||||
|
$(OBJDIR)/juce_gui_basics_90929794.o \
|
||||||
|
$(OBJDIR)/juce_gui_extra_b81d9e1c.o \
|
||||||
|
$(OBJDIR)/juce_opengl_1890bee0.o \
|
||||||
|
$(OBJDIR)/juce_video_86a19d3c.o \
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
|
||||||
|
$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
|
||||||
|
@echo Linking JuceDemo
|
||||||
|
-@mkdir -p $(BINDIR)
|
||||||
|
-@mkdir -p $(LIBDIR)
|
||||||
|
-@mkdir -p $(OUTDIR)
|
||||||
|
@$(BLDCMD)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo Cleaning JuceDemo
|
||||||
|
@$(CLEANCMD)
|
||||||
|
|
||||||
|
strip:
|
||||||
|
@echo Stripping JuceDemo
|
||||||
|
-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
|
||||||
|
|
||||||
|
$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling Main.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/MainWindow_499ac812.o: ../../Source/MainWindow.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling MainWindow.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/IntroScreen_73347059.o: ../../Source/IntroScreen.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling IntroScreen.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AnimationDemo_9fc7e4e9.o: ../../Source/Demos/AnimationDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AnimationDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AudioLatencyDemo_78d49233.o: ../../Source/Demos/AudioLatencyDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AudioLatencyDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AudioPlaybackDemo_ea12adf6.o: ../../Source/Demos/AudioPlaybackDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AudioPlaybackDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AudioRecordingDemo_435914e6.o: ../../Source/Demos/AudioRecordingDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AudioRecordingDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AudioSettingsDemo_6d710bfe.o: ../../Source/Demos/AudioSettingsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AudioSettingsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/AudioSynthesiserDemo_1b3666f6.o: ../../Source/Demos/AudioSynthesiserDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling AudioSynthesiserDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/Box2DDemo_51053c42.o: ../../Source/Demos/Box2DDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling Box2DDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/CameraDemo_a10f7e50.o: ../../Source/Demos/CameraDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling CameraDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/ChildProcessDemo_2c2b949e.o: ../../Source/Demos/ChildProcessDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling ChildProcessDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/CodeEditorDemo_d5c17a65.o: ../../Source/Demos/CodeEditorDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling CodeEditorDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/ComponentTransformsDemo_377f7889.o: ../../Source/Demos/ComponentTransformsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling ComponentTransformsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/CryptographyDemo_232d46d7.o: ../../Source/Demos/CryptographyDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling CryptographyDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/DialogsDemo_19d585d0.o: ../../Source/Demos/DialogsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling DialogsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/FontsDemo_6da1e5e9.o: ../../Source/Demos/FontsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling FontsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/GraphicsDemo_85142ef6.o: ../../Source/Demos/GraphicsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling GraphicsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/ImagesDemo_ecf13aa3.o: ../../Source/Demos/ImagesDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling ImagesDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/JavaScript_d6e42eb5.o: ../../Source/Demos/JavaScript.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling JavaScript.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/KeyMappingsDemo_cf05c709.o: ../../Source/Demos/KeyMappingsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling KeyMappingsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/LiveConstantDemo_e3b18a9b.o: ../../Source/Demos/LiveConstantDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling LiveConstantDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/LookAndFeelDemo_25c558a3.o: ../../Source/Demos/LookAndFeelDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling LookAndFeelDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/MDIDemo_c476c2d7.o: ../../Source/Demos/MDIDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling MDIDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/MidiDemo_75ebc30c.o: ../../Source/Demos/MidiDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling MidiDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/MultithreadingDemo_ff566eaa.o: ../../Source/Demos/MultithreadingDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling MultithreadingDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/MultiTouch_595f3a2e.o: ../../Source/Demos/MultiTouch.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling MultiTouch.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/NetworkingDemo_fbd1b19f.o: ../../Source/Demos/NetworkingDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling NetworkingDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/OpenGLDemo_fdac55da.o: ../../Source/Demos/OpenGLDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling OpenGLDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/OpenGLDemo2D_48eeadec.o: ../../Source/Demos/OpenGLDemo2D.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling OpenGLDemo2D.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/PropertiesDemo_8ff1a8de.o: ../../Source/Demos/PropertiesDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling PropertiesDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/SystemInfoDemo_984acd28.o: ../../Source/Demos/SystemInfoDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling SystemInfoDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/TimersAndEventsDemo_f2656547.o: ../../Source/Demos/TimersAndEventsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling TimersAndEventsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/UnitTestsDemo_5c21762.o: ../../Source/Demos/UnitTestsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling UnitTestsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/ValueTreesDemo_9657d84f.o: ../../Source/Demos/ValueTreesDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling ValueTreesDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/VideoDemo_b55a1560.o: ../../Source/Demos/VideoDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling VideoDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/WebBrowserDemo_3df2dbdf.o: ../../Source/Demos/WebBrowserDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling WebBrowserDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/WidgetsDemo_fb0454.o: ../../Source/Demos/WidgetsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling WidgetsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/WindowsDemo_e8cfa428.o: ../../Source/Demos/WindowsDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling WindowsDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/XMLandJSONDemo_5bc88df3.o: ../../Source/Demos/XMLandJSONDemo.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling XMLandJSONDemo.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling BinaryData.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_audio_basics.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_audio_devices.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_audio_formats.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_audio_processors.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_audio_utils.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_box2d_7c8de7fc.o: ../../../../modules/juce_box2d/juce_box2d.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_box2d.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_core.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_cryptography.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_data_structures.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_events.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_graphics.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_gui_basics.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_gui_extra.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_opengl.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp
|
||||||
|
-@mkdir -p $(OBJDIR)
|
||||||
|
@echo "Compiling juce_video.cpp"
|
||||||
|
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||||
|
|
||||||
|
-include $(OBJECTS:%.o=%.d)
|
||||||
Binary file not shown.
@@ -0,0 +1,27 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>Icon.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.JuceDemo</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>JuceDemo</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>3.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>3.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{91BB874D-440B-A2C5-C57C-5104BA5F5EDC}") = "JuceDemo", "JuceDemo.vcxproj", "{9C58F305-06EC-8076-ACCD-88CCC530EFB5}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#include JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#else
|
||||||
|
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 3,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "JuceDemo\0"
|
||||||
|
VALUE "FileVersion", "3.0.0\0"
|
||||||
|
VALUE "ProductName", "JuceDemo\0"
|
||||||
|
VALUE "ProductVersion", "3.0.0\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 65001
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
IDI_ICON1 ICON DISCARDABLE "icon.ico"
|
||||||
|
IDI_ICON2 ICON DISCARDABLE "icon.ico"
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2012
|
||||||
|
Project("{91BB874D-440B-A2C5-C57C-5104BA5F5EDC}") = "JuceDemo", "JuceDemo.vcxproj", "{9C58F305-06EC-8076-ACCD-88CCC530EFB5}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#include JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#else
|
||||||
|
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 3,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "JuceDemo\0"
|
||||||
|
VALUE "FileVersion", "3.0.0\0"
|
||||||
|
VALUE "ProductName", "JuceDemo\0"
|
||||||
|
VALUE "ProductVersion", "3.0.0\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 65001
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
IDI_ICON1 ICON DISCARDABLE "icon.ico"
|
||||||
|
IDI_ICON2 ICON DISCARDABLE "icon.ico"
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2013
|
||||||
|
Project("{91BB874D-440B-A2C5-C57C-5104BA5F5EDC}") = "JuceDemo", "JuceDemo.vcxproj", "{9C58F305-06EC-8076-ACCD-88CCC530EFB5}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{9C58F305-06EC-8076-ACCD-88CCC530EFB5}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#include JUCE_USER_DEFINED_RC_FILE
|
||||||
|
#else
|
||||||
|
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 3,0,0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "JuceDemo\0"
|
||||||
|
VALUE "FileVersion", "3.0.0\0"
|
||||||
|
VALUE "ProductName", "JuceDemo\0"
|
||||||
|
VALUE "ProductVersion", "3.0.0\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 65001
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
IDI_ICON1 ICON DISCARDABLE "icon.ico"
|
||||||
|
IDI_ICON2 ICON DISCARDABLE "icon.ico"
|
||||||
Binary file not shown.
@@ -0,0 +1,31 @@
|
|||||||
|
<?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>
|
||||||
|
<dict>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
|
<false/>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>Icon.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.yourcompany.JuceDemo</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>JuceDemo</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>3.0.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>3.0.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user